高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/RentalFixtureSetAssignController.cls
@@ -290,6 +290,7 @@
        // updateだけ使用する
        List<Rental_Apply_Equipment_Set__c> mfUpdate = new List<Rental_Apply_Equipment_Set__c>();
        Savepoint sp = Database.setSavepoint();
        List<String> statusList = System.Label.StatusProcessState.split(',');
        try {
            Boolean updRAFlg = false;
@@ -299,7 +300,8 @@
                           Asset_loaner_closed_day__c,
                           Campaign__c,
                           Campaign__r.IF_Approved__c,
                           Campaign__r.Meeting_Approved_No__c
                           Campaign__r.Meeting_Approved_No__c,
                           Campaign__r.Approved_Status__c   //2022 sx obpm备品决裁状态相关修改
                      FROM Rental_Apply__c
                     WHERE Id = :parentId
                       FOR Update];
@@ -318,7 +320,11 @@
            if( raUpd.Campaign__c!= null && raUpd.Campaign__r.IF_Approved__c && raUpd.Campaign__r.Meeting_Approved_No__c == null){
                throw new ControllerUtil.myException('已申请决裁但决裁编码为空');
            }
            //20220315 sx obpm obpm备品决裁状态相关修改 start
            else if( raUpd.Campaign__c!= null && raUpd.Campaign__r.IF_Approved__c && raUpd.Campaign__r.Meeting_Approved_No__c != null && statusList.contains(raUpd.Campaign__r.Approved_Status__c) ){
                throw new ControllerUtil.myException('已申请决裁但决裁状态不符合条件');
            }
            //20220315 sx obpm obpm备品决裁状态相关修改 end
            Integer indexNum = 1;
            // 20210708 ljh SFDC-C47CLV add start
            Set<Id> raeIdset = new Set<Id>();
@@ -895,7 +901,7 @@
                }
            }
        }
        update queueList;
        FixtureUtil.withoutUpdate(queueList);
        List<String> nodusequencekeylist = new List<String>(new Set<String>(sequencekeylist));
        List<Rental_Apply_Sequence__c> updateSequenceList = new List<Rental_Apply_Sequence__c>();
        List<Rental_Apply_Sequence__c> applysequenceList = [SELECT Id,ExternalKey__c,Demo_Purpose2__c,
@@ -934,7 +940,7 @@
                    
                }
            }
            update updateSequenceList;
            FixtureUtil.withoutUpdate(updateSequenceList);
        }
        
    }
@@ -1055,6 +1061,9 @@
                applyObj.campaignType = parentObj.CampaignType__c;
                obj = getdefultInfo(raesd,applyObj,bieCunFangDi);
            }else{
                // Modify by Liu 20220908 Solution本部课题对应 start
                salesdepartments = salesdepartments.replace('16.Solution本部', '16.消化·呼吸领域解决方案本部');
                // Modify by Liu 20220908 Solution本部课题对应 end
                obj = getSpecialInfo(raesd,parentObj,salesdepartments,equipmenttypes);
            }
            System.debug(LoggingLevel.INFO, '*11** index: ' + index);
@@ -1201,9 +1210,11 @@
        updateList.addAll(queueList);
        System.debug(LoggingLevel.INFO, '***old updateList: ' + updateList.size());
        System.debug(LoggingLevel.INFO, '***old updateList.detail: ' + updateList);
        updateList = Batch_QueueAllDetail.getSortDetailList(updateList);
        System.debug(LoggingLevel.INFO, '*** updateList: ' + updateList.size());
        update updateList;
        System.debug(LoggingLevel.INFO, '*** updateList.detail: ' + updateList);
        FixtureUtil.withoutUpdate(updateList);
        
        System.debug(LoggingLevel.INFO, '*** allsequenceList: ' + allsequenceList.size());
        List<Rental_Apply_Sequence__c> oldSequenceList = [SELECT Id,ExternalKey__c,Fixture_Model_No__c FROM Rental_Apply_Sequence__c
@@ -1220,11 +1231,11 @@
        List<Rental_Apply_Sequence__c> olddleteSequenceList = [SELECT Id,ExternalKey__c,Fixture_Model_No__c FROM Rental_Apply_Sequence__c
                                                        WHERE Apply_Set_Detail__c IN:changeddetailIds];
        delete olddleteSequenceList;
        FixtureUtil.withoutDelete(olddleteSequenceList);
        if(updateList.size() + count + oldSequenceList.size() + allsequenceList.size() > 9900){
            throw new ControllerUtil.myException('当前排队数据量过大,请选择单个主体操作');
        }
        insert allsequenceList;
        FixtureUtil.withoutInsert(allsequenceList);
        List<String> newSequenceIds = new List<String>();
        for(Rental_Apply_Sequence__c se:allsequenceList){
            newSequenceIds.add(se.Id);
@@ -1273,7 +1284,7 @@
            throw new ControllerUtil.myException('当前排队数据量过大,请选择单个主体操作');
        }
        System.debug(LoggingLevel.INFO, '*** newSequenceList: ' + newSequenceList);
        upsert newSequenceList;
        FixtureUtil.withoutUpsertObjects(newSequenceList);
    }