高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/RentalApplyWebService.cls
@@ -401,7 +401,7 @@
            returnStr = '索赔QIS目的,QIS已有新品发货日,不可出库指示';
            return returnStr;
       }
      //1822 yc 20211111 end
        //1822 yc 20211111 end
//*************************Insert 20160826 SWAG-AD59Z6 趙徳芳 Start*************************//
        if(Ra.repair__r.Repair_Final_Inspection_Date__c != null) {
@@ -414,7 +414,7 @@
        //1388 yc 20211021 跨区域分配不能出库 start
        if(String.isNotBlank(ra.Cross_Region_Assign__c)){
           String soql = 'select Id, Name,Rental_Apply__c,Internal_asset_location_before__c';
            String soql = 'select Id, Name,Rental_Apply__c,Internal_asset_location_before__c';
                   soql +=' from Rental_Apply_Equipment_Set_Detail__c';
                   soql +=' where Rental_Apply__c = \'' + ra.Id +'\'';
                   soql +=' and Internal_asset_location_before__c !=null and Internal_asset_location_before__c != \'' + ra.Cross_Region_Assign__c+ '\'';
@@ -424,7 +424,7 @@
              }
            List<Rental_Apply_Equipment_Set_Detail__c> raesd = Database.query(soql);
            if(raesd.size()>0){
               returnStr = '分配的备品不是您所属备品中心的备品,不能做出库指示';
                returnStr = '分配的备品不是您所属备品中心的备品,不能做出库指示';
                return returnStr;
            }
            
@@ -437,7 +437,7 @@
        //                              AND Cancel_Select__c = false
        //                              group by Rental_Start_Date__c];
        // If(resultsRas.size() > 1){
        //    returnStr = '所有一览备品预计出货日应一致,不一致不能做出库指示';
        //  returnStr = '所有一览备品预计出货日应一致,不一致不能做出库指示';
        //     return returnStr;
        // }
        // 20220211 ljh add 备品FY23课题01 end
@@ -1119,6 +1119,29 @@
                              , Extend_Date_F__c
                              , Received_NG_ReAssign_Text__c
                              , Received_NG_ReAssign__c
                        //【FY23大及巨大课题】长假备品借用延期开发 2022/12/27 start xxf
                              , Final_reply_day_Holiday_backup__c
                              , NG_Final_reply_day_F_Holiday_backup__c
                              , NG_Final_reply_day_Text_Holiday_backup__c
                              , Yizhouweixiu_Final_reply_day_F_Holiday__c
                              , Yizhouweixiu_Final_reply_day_TextHoliday__c
                              , Extend_Final_reply_day_F_Holiday_backup__c
                              , Extend_Final_reply_day_Text_Holiday_back__c
                              , QIS_Final_reply_day_F_Holiday_backup__c
                              , QIS_Final_reply_day_Text_Holiday_backup__c
                              , Repair_cancel_Final_reply_day_F_Holiday__c
                              , Repair_cancel_Final_reply_day_Text_Holid__c
                              , Return_to_office_Final_reply_day_F_Ho__c
                              , Return_to_office_Final_reply_day_Text_Ho__c
                              , Repair_delete_Final_reply_day_F_Holiday__c
                              , Repair_delete_Final_reply_day_Text_Ho__c
                              , Yigoudaihuo_Final_reply_day_F_Holiday__c
                              , Yigoudaihuo_Final_reply_day_Text_Holiday__c
                              , FGuzhangpaicha_Final_reply_day_F_Holiday__c
                              , Guzhangpaicha_Final_reply_day_Text_Holid__c
                              , Return_to_office_Final_reply_day_U_RC_Ho__c
                              , Return_to_office_Final_reply_day_U_RC_FH__c
                        //【FY23大及巨大课题】长假备品借用延期开发 2022/12/27 end xxf
                      from Rental_Apply_Equipment_Set__c
                     where Id IN :raeSetIds
            ]) {
@@ -1171,8 +1194,12 @@
            //     return '修理最终检测日不为空,不能分配';
            // }else if(Ra.repair__r.Return_Without_Repair_Date__c !=null){
            //     return '未修理归还日不为空,不能分配';
            if(Ra.Campaign__c != null && Ra.Campaign__r.Status == '取消'){
               return '学会取消,不可分配';
            // 20230220 ljh DB202301265636 start
            // if(Ra.Campaign__c != null && Ra.Campaign__r.Status == '取消'){
            //     return '学会取消,不可分配';
            if(Ra.Campaign__c != null && (Ra.Campaign__r.Status == '取消' || Ra.Campaign__r.Status == '取消申请中')){
                return '学会取消申请中或者已取消,不可分配';
            // 20230220 ljh DB202301265636 end
            }else if(Ra.repair__c != null && (Ra.repair__r.Repair_Final_Inspection_Date__c!=null || Ra.Repair__r.Repair_Shipped_Date__c != null)){
                return '修理有最终检测日或修理品返送日,不可分配';
            }else if(Ra.repair__c != null && Ra.repair__r.Return_Without_Repair_Date__c !=null){
@@ -1180,9 +1207,9 @@
            // 20210803 ljh  SFDC-C5HDC7 add end   
            }//1822 yc 20211021 start
            else if(Ra.demo_purpose2__c=='已购待货' && Ra.Follow_UP_Opp__r.Shipping_Finished_Day_Func__c!= null){
              return '已购待货目的,新品已有发货日,不可分配';
                return '已购待货目的,新品已有发货日,不可分配';
           }else if(Ra.demo_purpose2__c=='索赔QIS' && Ra.next_action__c=='无偿更换' && Ra.QIS_number__r.ReplaceDeliveryDate__c!= null){
               return '索赔QIS目的,QIS已有新品发货日,不可分配';
                return '索赔QIS目的,QIS已有新品发货日,不可分配';
           }//1822 yc 20211108 end
           else if(Ra.Campaign__r.IF_Approved__c && Ra.Campaign__r.Meeting_Approved_No__c == null){
                return '已申请决裁但决裁编码为空';
@@ -1623,9 +1650,6 @@
                //应该不会到这里
                return '没有可以出库指示的一览';
            }
        }
        String soql = 'SELECT Id'
                + ' FROM Rental_Apply_Equipment_Set__c '
@@ -1671,6 +1695,21 @@
            }
        }
        // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 start
        List<Rental_Apply_Equipment_Set__c> RAESRecords = [
                SELECT Id,Rental_Start_Date__c
                FROM Rental_Apply_Equipment_Set__c
                WHERE Rental_Apply__c = :raid
                AND Cancel_Select__c = False];
        for (Integer i = 0; i < RAESRecords.size(); i++) {
            // 备品预计出库日不一致,不可出库指示
            if (RAESRecords[i].Rental_Start_Date__c != RAESRecords[0].Rental_Start_Date__c) {
                return '备品预计出货日不一致,不可出库指示';
            }
        }
        // add lc 20220927 SFDC-CJ48VE 备品预计出库日逻辑调整 end
        Rental_Apply__c ra = new Rental_Apply__c(Id = raesds[0].Rental_Apply__c, Status__c = '已出库指示');
        update ra;
        Database.SaveResult[] results = Database.update(raesds);