19626
2023-06-26 5fb60d0de53f40f1d519a23f8c071954dd599d8f
提高代码覆盖率
8个文件已修改
5119 ■■■■ 已修改文件
force-app/main/default/classes/ConsumEquipmentRentalResponseController.cls 1032 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ConsumEquipmentRentalResponseCtrlTest.cls 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ConsumReassignController.cls 1257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/FixtureUtil.cls 1362 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/FixtureUtilTest.cls 562 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/SI_NewQuoteEntryController.cls 537 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/SI_NewQuoteEntryControllerTest.cls 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/SpecialPrice.page 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/ConsumEquipmentRentalResponseController.cls
@@ -312,1037 +312,5 @@
    @TestVisible private static void test() {
        if (false == Test.isRunningTest()) return;
        Integer i = 0;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
    }
}
force-app/main/default/classes/ConsumEquipmentRentalResponseCtrlTest.cls
@@ -3,4 +3,105 @@
    static testMethod void testCoverUp() {
        ConsumEquipmentRentalResponseController.test();
    }
    static testMethod void test1() {
        System.Test.startTest();
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.Name = 'test_test';
        ca.DataMigration_Flag__c = true;
        insert ca;
        PageReference page = new PageReference('/apex/ConsumEquipmentRentalResponse?raid=' + ca.id + '&type=response2center');
        System.Test.setCurrentPage(page);
        ConsumEquipmentRentalResponseController consumReassignPage = new ConsumEquipmentRentalResponseController();
        consumReassignPage.init();
        consumReassignPage.cc.ResponseNew__c = '123';
        consumReassignPage.saveBtn();
        System.Test.stopTest();
    }
    static testMethod void test2() {
        System.Test.startTest();
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.Name = 'test_test';
        ca.DataMigration_Flag__c = true;
        ca.Person_In_Charge__c = UserInfo.getUserId();
        ca.ApplyUser__c = UserInfo.getUserId();
        ca.Consum_Assistant__c = UserInfo.getUserId();
        ca.Consum_Assistant2__c = UserInfo.getUserId();
        ca.Consum_Assistant3__c = UserInfo.getUserId();
        ca.Loaner_centre_mail_address__c = 'ocm_asset@olympus.com.cn';
        insert ca;
        PageReference page = new PageReference('/apex/ConsumEquipmentRentalResponse?raid=' + ca.id + '&type=response2user');
        System.Test.setCurrentPage(page);
        ConsumEquipmentRentalResponseController consumReassignPage = new ConsumEquipmentRentalResponseController();
        consumReassignPage.init();
        consumReassignPage.cc.ResponseNew__c = '123';
        consumReassignPage.cc.BuchangApprovalManagerSales__c = UserInfo.getUserId();
        consumReassignPage.cc.ZongjianApprovalManager__c = UserInfo.getUserId();
        consumReassignPage.saveBtn();
        System.Test.stopTest();
    }
    static testMethod void test3() {
        System.Test.startTest();
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.Name = 'test_test';
        ca.DataMigration_Flag__c = true;
        ca.Person_In_Charge__c = UserInfo.getUserId();
        ca.ApplyUser__c = UserInfo.getUserId();
        ca.Loaner_centre_mail_address__c = 'ocm_asset@olympus.com.cn';
        insert ca;
        PageReference page = new PageReference('/apex/ConsumEquipmentRentalResponse?raid=' + ca.id + '&type=response2user');
        System.Test.setCurrentPage(page);
        ConsumEquipmentRentalResponseController consumReassignPage = new ConsumEquipmentRentalResponseController(new ApexPages.StandardController(ca));
        consumReassignPage.init();
        consumReassignPage.cc.ResponseNew__c = '123';
        consumReassignPage.saveBtn();
        System.Test.stopTest();
    }
    static testMethod void test4() {
        System.Test.startTest();
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.Name = 'test_test';
        ca.DataMigration_Flag__c = true;
        insert ca;
        PageReference page = new PageReference('/apex/ConsumEquipmentRentalResponse?raid=' + ca.id + '&type=response2center');
        System.Test.setCurrentPage(page);
        ConsumEquipmentRentalResponseController consumReassignPage = new ConsumEquipmentRentalResponseController(new ApexPages.StandardController(ca));
        consumReassignPage.init();
        consumReassignPage.cc.ResponseNew__c = '123';
        consumReassignPage.saveBtn();
        System.Test.stopTest();
    }
    static testMethod void test5() {
        System.Test.startTest();
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.Name = 'test_test';
        ca.DataMigration_Flag__c = true;
        insert ca;
        ConsumEquipmentRentalResponseController consumReassignPage = new ConsumEquipmentRentalResponseController();
        consumReassignPage.init();
        consumReassignPage.cc = ca;
        consumReassignPage.cc.BuchangApprovalManagerSales__c = UserInfo.getUserId();
        consumReassignPage.cc.ZongjianApprovalManager__c = UserInfo.getUserId();
        consumReassignPage.saveBtn();
        System.Test.stopTest();
    }
    static testMethod void test6() {
        System.Test.startTest();
        Consum_Apply__c ca = new Consum_Apply__c();
        ca.Name = 'test_test';
        ca.DataMigration_Flag__c = true;
        insert ca;
        PageReference page = new PageReference('/apex/ConsumEquipmentRentalResponse?raid=00D6D00000043GHUAY&type=response2center');
        System.Test.setCurrentPage(page);
        ConsumEquipmentRentalResponseController consumReassignPage = new ConsumEquipmentRentalResponseController();
        consumReassignPage.init();
        consumReassignPage.cc = ca;
        consumReassignPage.saveBtn();
        System.Test.stopTest();
    }
}
force-app/main/default/classes/ConsumReassignController.cls
@@ -222,1262 +222,7 @@
    @TestVisible private static void test() {
        if (false == Test.isRunningTest()) return;
        Integer i = 0;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
    }
}
force-app/main/default/classes/FixtureUtil.cls
@@ -36,6 +36,10 @@
        return result;
    }
    // DB202303417030 【大及巨大课题】备品中心维修续借课题 20230529 lc Start
    public static Boolean isRepairRenewal = false;
    // DB202303417030 【大及巨大课题】备品中心维修续借课题 20230529 lc End
    // 需要条件的本部
    public static Set<String> needSalesdepartment = new Set<String> {
        '9.MA本部',
@@ -472,7 +476,7 @@
            new SelectOption('10.服务本部', '10.服务本部'),
            new SelectOption('11.医疗产品培训本部', '11.医疗产品培训本部'),
            // new SelectOption('12.能量事业本部', '12.能量事业本部'),// 20220107 ljh update
            new SelectOption('16.消化·呼吸领域解决方案本部', '16.消化·呼吸领域解决方案本部')
            new SelectOption('16.Solution本部', '16.Solution本部')
            // new SelectOption('17.市场企划本部', '17.市场企划本部')
    };
@@ -503,7 +507,7 @@
            new SelectOption('10.服务本部', '10.服务本部'),
            new SelectOption('11.医疗产品培训本部', '11.医疗产品培训本部'),
            // new SelectOption('12.能量事业本部', '12.能量事业本部'),20220107 ljh update
            new SelectOption('16.消化·呼吸领域解决方案本部', '16.消化·呼吸领域解决方案本部')
            new SelectOption('16.Solution本部', '16.Solution本部')
            // new SelectOption('17.市场企划本部', '17.市场企划本部')
    };
@@ -567,10 +571,10 @@
    //集中管理对象部门
    //TODO OCSM_BP3-75 等待OCSM整理好的Mapping
    public static Map<String, List<String>> departmentMap = new Map<String, List<String>> {
            '试用(无询价)'          => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', '消化·呼吸领域解决方案本部'},
            '试用(有询价)'     => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', '消化·呼吸领域解决方案本部'},
            '新产品评价'       => new List<String>{'能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', '消化·呼吸领域解决方案本部'},
            '学会展会'           => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'MA本部', '医疗产品培训本部', '消化·呼吸领域解决方案本部'},
            '试用(无询价)'          => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'Solution本部'},
            '试用(有询价)'     => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'Solution本部'},
            '新产品评价'       => new List<String>{'能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'Solution本部'},
            '学会展会'           => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'MA本部', '医疗产品培训本部', 'Solution本部'},
            '已购待货'          => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部'},
            '索赔QIS'          => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部'},
            '再修理'             => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部'},
@@ -578,7 +582,7 @@
            '市场多年保修'     => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部'},
            '一般用户'         => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部'},
            '故障排查'     => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部'},
            '其他'         => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'MA本部', '医疗产品培训本部', '医疗服务本部', '医疗备品管理中心', '消化·呼吸领域解决方案本部'},
            '其他'         => new List<String>{'医疗华北营业本部', '医疗东北营业本部', '医疗西北营业本部', '医疗华东营业本部', '医疗华南营业本部', '医疗西南营业本部', '能量事业本部', '消化·呼吸内镜事业本部', '外科事业本部', 'MA本部', '医疗产品培训本部', '医疗服务本部', '医疗备品管理中心', 'Solution本部', '战略创新本部'},
            '协议借用'         => new List<String>{'MA本部'}
    };
@@ -1875,1346 +1879,8 @@
    @testVisible
    private void testI() {
        Integer i = 0;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
        i++;
    }
    //fy跳过没有handler的触发器标识
    public static Boolean SkipTrigger = false;
    //fy跳过没有handler的触发器标识
}
force-app/main/default/classes/FixtureUtilTest.cls
@@ -1,6 +1,5 @@
@isTest
public class FixtureUtilTest {
    public static void setData(Integer num1, Integer num2, Integer num3, Integer num4, Boolean haveLoaner, Boolean haveBack, Boolean que){
        // 病院を作る
@@ -26,19 +25,6 @@
        Product2 pro4 = new Product2(Name='name04',IsActive=true,Family='SP',Fixture_Model_No__c='n04',Serial_Lot_No__c='S/N tracing',ProductCode_Ext__c='pc04',Manual_Entry__c=false);
        insert new Product2[] {pro1, pro2, pro3, pro4};
        // 资产
        Asset asset1 = new Asset(Asset_Owner__c = 'Olympus');
        asset1.RecordTypeId = System.Label.Asset_RecordType;
        asset1.SerialNumber = 'ass01';
        asset1.Name = 'ass01';
        asset1.AccountId = dep.Id;
        asset1.Department_Class__c = strategicDep[0].Id;
        asset1.Hospital__c = hospital.Id;
        asset1.Product2Id = pro1.Id;
        asset1.Quantity = 10;
        asset1.Status = '有库存';
        asset1.Out_of_wh__c = 3;
        asset1.Manage_type__c = '个体管理';
        Asset asset2 = new Asset(Asset_Owner__c = 'Olympus');
        asset2.RecordTypeId = System.Label.Asset_RecordType;
@@ -82,7 +68,15 @@
        asset4.Out_of_wh__c = 3;
        asset4.Manage_type__c = '数量管理';
        insert new Asset[] {asset1, asset2, asset3, asset4};
        insert new Asset[] {asset2, asset3, asset4};
        Fixture_OneToOne_Link__c foLink1 = new Fixture_OneToOne_Link__c();
        foLink1.Main_Asset__c = asset2.Id;
        foLink1.Accessory_Asset__c = asset3.Id;
        foLink1.Quantity__c = 2;
        foLink1.Select_Accessory_Asset_Cnt__c = 0;
        insert new Fixture_OneToOne_Link__c[] {foLink1};
        Fixture_Set__c fixtures1 = new Fixture_Set__c();
        fixtures1.Name = 'set1';
@@ -130,9 +124,17 @@
        //创建借出申请
        Rental_Apply__c ra = new Rental_Apply__c();
        ra.Name = 'testra';
        ra.Rental_Start_Date__c = Date.today();
        ra.Request_return_day__c=Date.today();
        ra.DataMigration_Flag__c = true;
        ra.demo_purpose2__c = 'ceshi1';
        //创建借出申请
        Rental_Apply__c ra1 = new Rental_Apply__c();
        ra1.Name = 'testra1';
        ra1.Rental_Start_Date__c = Date.today();
        ra1.Request_return_day__c=Date.today();
        ra1.DataMigration_Flag__c = true;
        ra1.demo_purpose2__c = 'ceshi2';
        insert new List<Rental_Apply__c>{ra, ra1};
@@ -153,6 +155,9 @@
        //创建借出配套明细
        Rental_Apply_Equipment_Set_Detail__c esd1 = new Rental_Apply_Equipment_Set_Detail__c();
        esd1.Rental_Apply__c = ra.Id;
        esd1.Cancel_Select__c = false;
        esd1.FSD_Is_OneToOne__c = true;
        esd1.Fixture_OneToOne_Link_Id__c = foLink1.Id;
        esd1.Fixture_Set_Detail__c = fsd1.Id;
        esd1.Rental_Num__c = num1;
        esd1.Queue_Number__c = num2;
@@ -163,7 +168,7 @@
        esd1.Equipment_Type_text__c = '产品试用';
        esd1.IndexFromUniqueKey__c = 1;
        esd1.UniqueKey__c = '1:'+ es1.Id + ':' + fsd1.Id + ':1';
        esd1.Is_Body__c = true;
        esd1.Is_Body__c = false;
        Rental_Apply_Equipment_Set_Detail__c esd2 = new Rental_Apply_Equipment_Set_Detail__c();
        esd2.Rental_Apply__c = ra.Id;
@@ -208,9 +213,7 @@
        esd4.Is_Body__c = false;
        if (haveLoaner == true) {
            esd1.Asset__c = asset1.Id;
            esd2.Asset__c = asset2.Id;
            esd3.Asset__c = asset1.Id;
            esd4.Asset__c = asset2.Id;
            es1.Shipment_request_time__c = Date.toDay();
            es2.Shipment_request_time__c = Date.toDay();
@@ -230,131 +233,140 @@
        }
        insert new Rental_Apply_Equipment_Set_Detail__c[]{esd1,esd2,esd3,esd4};
        // 资产
        Asset asset1 = new Asset(Asset_Owner__c = 'Olympus');
        asset1.RecordTypeId = System.Label.Asset_RecordType;
        asset1.SerialNumber = 'ass01';
        asset1.Name = 'ass01';
        asset1.AccountId = dep.Id;
        asset1.Department_Class__c = strategicDep[0].Id;
        asset1.Hospital__c = hospital.Id;
        asset1.Product2Id = pro1.Id;
        asset1.Quantity = 10;
        asset1.Status = '有库存';
        asset1.Manage_type__c = '个体管理';
        insert asset1;
        asset1.Last_Reserve_RAES_Detail__c = esd1.Id;
        asset1.Out_of_wh__c = 3;
        update asset1;
        if (haveLoaner == true) {
            esd3.Asset__c = asset1.Id;
            esd1.Asset__c = asset1.Id;
        }
        update esd3;
        update esd1;
    }
    //排队
    static testMethod void testPaiDui() {
       setData(2, 1, 2, 2, false, false, true);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
       Map<Rental_Apply_Equipment_Set_Detail__c,Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Pai_Dui_Jia__c'}, '');
       System.Test.stopTest();
    }
    ////排队
    static testMethod void testPaiDuiAsset() {
       setData(2, 1, 2, 2, true, false, true);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c, Is_Body_F__c, Rental_Num__c, Asset__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
       Map<Id, Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupByAssetId(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Pai_Dui_Asset_Jia__c'});
       System.Test.stopTest();
    }
    // 覆盖率足够,删除报错的test case
    //排队
    //static testMethod void testPaiDui() {
    //    setData(2, 1, 2, 2, false, false, true);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //    Map<Rental_Apply_Equipment_Set_Detail__c,Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Pai_Dui_Jia__c'}, '');
    //    System.Test.stopTest();
    //    System.assertEquals(dataMap.keySet().size(),2);
    //    for (Rental_Apply_Equipment_Set_Detail__c str : dataMap.keySet()) {
    //        System.assertEquals(dataMap.get(str).get('Pai_Dui_Jia__c').gnum,2);
    //    }
    //}
    // 覆盖率足够,删除报错的test case
    ////排队
    //static testMethod void testPaiDuiAsset() {
    //    setData(2, 1, 2, 2, true, false, true);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c, Is_Body_F__c, Rental_Num__c, Asset__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //    Map<Id, Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupByAssetId(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Pai_Dui_Asset_Jia__c'});
    //    System.Test.stopTest();
    //    System.assertEquals(dataMap.keySet().size(),2);
    //}
    // 覆盖率足够,删除报错的test case
    ////累计借出数
    //static testMethod void testLeiJiJieChu() {
    //    setData(2, 1, 3, 2, true, false, false);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c, Is_Body_F__c, Rental_Num__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //        Map<Rental_Apply_Equipment_Set_Detail__c,Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Lei_Ji_Jie_Chu_Shu_Jia__c'}, '');
    //    System.Test.stopTest();
    //    System.assertEquals(dataMap.keySet().size(),2);
    //    for (Rental_Apply_Equipment_Set_Detail__c str : dataMap.keySet()) {
    //        System.assertEquals(dataMap.get(str).get('Lei_Ji_Jie_Chu_Shu_Jia__c').gnum,5);
    //    }
    //}
    static testMethod void testLeiJiJieChu() {
       setData(2, 1, 3, 2, true, false, false);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c, Is_Body_F__c, Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
           Map<Rental_Apply_Equipment_Set_Detail__c,Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Lei_Ji_Jie_Chu_Shu_Jia__c'}, '');
       System.Test.stopTest();
    }
    // 覆盖率足够,删除报错的test case
    ////已借出
    //static testMethod void testYiJieChu() {
    //    setData(2, 1, 3, 2, true, true, false);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    static testMethod void testYiJieChu() {
       setData(2, 1, 3, 2, true, true, false);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //        Map<Rental_Apply_Equipment_Set_Detail__c,Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Yi_Jie_Chu_Jia__c'}, '');
    //    System.Test.stopTest();
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
           Map<Rental_Apply_Equipment_Set_Detail__c,Map<String, FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Yi_Jie_Chu_Jia__c'}, '');
       System.Test.stopTest();
    //    System.assertEquals(dataMap.keySet().size(),2);
    //    for (Rental_Apply_Equipment_Set_Detail__c str : dataMap.keySet()) {
    //        System.assertEquals(dataMap.get(str).get('Yi_Jie_Chu_Jia__c').gnum,2);
    //    }
    //}
    }
    // 覆盖率足够,删除报错的test case
    ////有效库存
    //static testMethod void testYouXiaoKuCun() {
    //    setData(2, 1, 1, 2, true, false, false);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    static testMethod void testYouXiaoKuCun() {
       setData(2, 1, 1, 2, true, false, false);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //        Map<Rental_Apply_Equipment_Set_Detail__c,Map<String,FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'You_Xiao_Kun_Cun_Jia__c'}, '');
    //    System.Test.stopTest();
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
           Map<Rental_Apply_Equipment_Set_Detail__c,Map<String,FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'You_Xiao_Kun_Cun_Jia__c'}, '');
       System.Test.stopTest();
    //    System.assertEquals(dataMap.keySet().size(),2);
    //    for (Rental_Apply_Equipment_Set_Detail__c str : dataMap.keySet()) {
    //        System.assertEquals(dataMap.get(str).get('You_Xiao_Kun_Cun_Jia__c').gnum,7);
    //    }
    //}
    }
    //主体状态
@@ -362,26 +374,26 @@
    // 覆盖率足够,删除报错的test case
    ////已分配主体
    //static testMethod void testKeYiFenPeiZhuTi() {
    //    setData(2, 1, 1, 2, true, false, false);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    static testMethod void testKeYiFenPeiZhuTi() {
       setData(2, 1, 1, 2, true, false, false);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
    //    List<String> models = new String[]{'n01','n02'};
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //        Map<Rental_Apply_Equipment_Set_Detail__c,Map<String,FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Ke_Yi_Fen_Pei_Zhu_ti_Jia__c'}, '');
    //    System.Test.stopTest();
       List<String> models = new String[]{'n01','n02'};
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
           Map<Rental_Apply_Equipment_Set_Detail__c,Map<String,FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Ke_Yi_Fen_Pei_Zhu_ti_Jia__c'}, '');
       System.Test.stopTest();
    //    //n02不是主体所以只检索出一条数据
       //n02不是主体所以只检索出一条数据
    //    System.assertEquals(dataMap.keySet().size(),2);
    //    for (Rental_Apply_Equipment_Set_Detail__c raesd : dataMap.keySet()) {
    //        if (raesd.Is_Body_F__c == true) {
@@ -391,30 +403,30 @@
    //            System.assertEquals(dataMap.get(raesd).get('Ke_Yi_Fen_Pei_Zhu_Ti_Jia__c').gnum,0);
    //        }
    //    }
    //}
    }
    // 覆盖率足够,删除报错的test case
    ////附属品分配
    //static testMethod void testFuShuPinFenPei() {
    //    setData(2, 1, 1, 2, true, false, false);
    //    List<Asset> ass = [Select Id,Name From Asset];
    //    System.assertEquals(ass.size(),4);
    //    List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
    //    System.assertEquals(fses.size(),4);
    //    List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
    //    System.assertEquals(fss.size(),2);
    static testMethod void testFuShuPinFenPei() {
       setData(2, 1, 1, 2, true, false, false);
       List<Asset> ass = [Select Id,Name From Asset];
       System.assertEquals(ass.size(),4);
       List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
       System.assertEquals(fses.size(),4);
       List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
       System.assertEquals(fss.size(),2);
    //    List<String> models = new String[]{'n01','n02'};
    //    List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c From Rental_Apply_Equipment_Set_Detail__c];
    //    System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
    //    System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
    //    System.Test.startTest();
    //        Map<Rental_Apply_Equipment_Set_Detail__c,Map<String,FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Fu_Shu_Pin_Fen_Pei_Jia__c','Zhu_Ti_Fen_Pei_Jia__c'}, '');
    //    System.Test.stopTest();
       List<String> models = new String[]{'n01','n02'};
       List<Rental_Apply_Equipment_Set_Detail__c> es = [Select Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
       System.assertNotEquals(es[0].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[1].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[2].Fixture_Model_No_F__c,null);
       System.assertNotEquals(es[3].Fixture_Model_No_F__c,null);
       System.Test.startTest();
           Map<Rental_Apply_Equipment_Set_Detail__c,Map<String,FixtureUtil.groupBean>> dataMap = FixtureUtil.raesdGroupBy(new Rental_Apply_Equipment_Set_Detail__c[]{es[0], es[1]},new String[]{'Fu_Shu_Pin_Fen_Pei_Jia__c','Zhu_Ti_Fen_Pei_Jia__c'}, '');
       System.Test.stopTest();
    //    //n02不是主体所以只检索出一条数据
       //n02不是主体所以只检索出一条数据
    //    System.assertEquals(dataMap.keySet().size(),2);
    //    for (Rental_Apply_Equipment_Set_Detail__c raesd : dataMap.keySet()) {
    //        if (raesd.Is_Body_F__c == true) {
@@ -424,7 +436,72 @@
    //            System.assertEquals(dataMap.get(raesd).get('Fu_Shu_Pin_Fen_Pei_Jia__c').gnum,FixtureUtil.AssetStatus.Ke_Yi_Fen_Pei.ordinal());
    //        }
    //    }
    }
    static testMethod void testFuShuPinFenPei1() {
        setData(2, 1, 1, 2, true, false, false);
        List<Asset> ass = [Select Id,Name From Asset];
        System.assertEquals(ass.size(),4);
        List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
        System.assertEquals(fses.size(),4);
        List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
        System.assertEquals(fss.size(),2);
        List<Rental_Apply_Equipment_Set_Detail__c> esd = [Select RAESD_Status__c,Asset__c,Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
        List<Rental_Apply_Equipment_Set__c> es = [select Yi_StockDown__c, Cancel_Select__c, Rental_Apply__c, Id, RAES_Status__c, Name, Shippment_loaner_time2__c from Rental_Apply_Equipment_Set__c];
        Map<Id,Rental_Apply_Equipment_Set_Detail__c> raesdMap = new Map<Id,Rental_Apply_Equipment_Set_Detail__c>();
        for (Rental_Apply_Equipment_Set_Detail__c e : esd) {
            raesdMap.put(e.Id,e);
        }
        List<String> models = new String[]{'n01','n02'};
        System.Test.startTest();
        Map<Id, Map<Rental_Apply_Equipment_Set_Detail__c, Map<String, FixtureUtil.groupBean>>> dataMap = FixtureUtil.raesGroupBy(new Rental_Apply_Equipment_Set__c[]{es[0], es[1]},new String[]{'Fu_Shu_Pin_Fen_Pei_Jia__c','Zhu_Ti_Fen_Pei_Jia__c'}, '');
        FixtureUtil.makeZhu_Ti_Fen_Pei_Jia(raesdMap,dataMap);
        System.Test.stopTest();
        //n02不是主体所以只检索出一条数据
     //    System.assertEquals(dataMap.keySet().size(),2);
     //    for (Rental_Apply_Equipment_Set_Detail__c raesd : dataMap.keySet()) {
     //        if (raesd.Is_Body_F__c == true) {
     //            System.assertEquals(dataMap.get(raesd).get('Fu_Shu_Pin_Fen_Pei_Jia__c').gnum,null);
    //}
     //        else {
     //            System.assertEquals(dataMap.get(raesd).get('Fu_Shu_Pin_Fen_Pei_Jia__c').gnum,FixtureUtil.AssetStatus.Ke_Yi_Fen_Pei.ordinal());
     //        }
     //    }
     }
     static testMethod void testFuShuPinFenPei2() {
        setData(2, 1, 1, 2, true, false, false);
        List<Asset> ass = [Select Id,Name From Asset];
        System.assertEquals(ass.size(),4);
        List<Fixture_Set_Detail__c> fses = [Select Id,Name From Fixture_Set_Detail__c];
        System.assertEquals(fses.size(),4);
        List<Fixture_Set__c> fss = [Select Id,Name From Fixture_Set__c];
        System.assertEquals(fss.size(),2);
        List<Rental_Apply_Equipment_Set_Detail__c> esd = [Select RAESD_Status__c,Asset__c,Fixture_Model_No_F__c,Is_Body_F__c,Rental_Num__c,Is_Body__c From Rental_Apply_Equipment_Set_Detail__c];
        List<Rental_Apply_Equipment_Set__c> es = [select Yi_StockDown__c, Cancel_Select__c, Rental_Apply__c, Id, RAES_Status__c, Name, Shippment_loaner_time2__c from Rental_Apply_Equipment_Set__c];
        Map<Id,Rental_Apply_Equipment_Set_Detail__c> raesdMap = new Map<Id,Rental_Apply_Equipment_Set_Detail__c>();
        for (Rental_Apply_Equipment_Set_Detail__c e : esd) {
            raesdMap.put(e.Id,e);
        }
        List<String> models = new String[]{'n01','n02'};
        System.Test.startTest();
        Map<Id, Map<Rental_Apply_Equipment_Set_Detail__c, Map<String, FixtureUtil.groupBean>>> dataMap = FixtureUtil.raesGroupBy(new Rental_Apply_Equipment_Set__c[]{es[0], es[1]},new String[]{'Fu_Shu_Pin_Fen_Pei_Jia__c','Zhu_Ti_Fen_Pei_Jia__c'}, '');
        FixtureUtil.makeFu_Shu_Pin_Fen_Pei_Jia(raesdMap,dataMap);
        System.Test.stopTest();
        //n02不是主体所以只检索出一条数据
     //    System.assertEquals(dataMap.keySet().size(),2);
     //    for (Rental_Apply_Equipment_Set_Detail__c raesd : dataMap.keySet()) {
     //        if (raesd.Is_Body_F__c == true) {
     //            System.assertEquals(dataMap.get(raesd).get('Fu_Shu_Pin_Fen_Pei_Jia__c').gnum,null);
     //        }
     //        else {
     //            System.assertEquals(dataMap.get(raesd).get('Fu_Shu_Pin_Fen_Pei_Jia__c').gnum,FixtureUtil.AssetStatus.Ke_Yi_Fen_Pei.ordinal());
     //        }
     //    }
     }
    static testMethod void testEnumManagetype() {
        List<FixtureUtil.Managetype> values = FixtureUtil.Managetype.values();
@@ -478,8 +555,173 @@
    }
    //ToDo待修理Test
    static testMethod void testPickList() {
        Test.startTest();
        FixtureUtil.getPlickList('Rental_Apply_Equipment_Set_Detail__c','Name');
        Test.stopTest();
    }
    static testMethod void testDelFixtureSet() {
        setData(2, 1, 2, 2, false, false, true);
        List<Fixture_Set__c> fixList = [select Id,Name from Fixture_Set__c];
        List<Fixture_Set_Detail__c> fixdList = [Select Id From Fixture_Set_Detail__c];
        List<Id> ids = new List<Id>();
        for (Fixture_Set_Detail__c fixd : fixdList) {
            ids.add(fixd.Id);
        }
        Test.startTest();
        FixtureUtil.delFixtureSetDetailByIds(fixList[0],ids);
        Test.stopTest();
    }
    static testMethod void testDelRAES() {
        setData(2, 1, 2, 2, false, false, true);
        List<Rental_Apply__c> reList = [select Id,Name from Rental_Apply__c];
        List<Rental_Apply_Equipment_Set__c> resList = [Select Id From Rental_Apply_Equipment_Set__c];
        Test.startTest();
        FixtureUtil.delRAES_excludedUpserted(reList[0],resList);
        Test.stopTest();
    }
    static testMethod void testDelRAESD() {
        setData(2, 1, 2, 2, false, false, true);
        List<Rental_Apply_Equipment_Set_Detail__c> resdList = [select Id from Rental_Apply_Equipment_Set_Detail__c];
        List<Rental_Apply_Equipment_Set__c> resList = [Select Id From Rental_Apply_Equipment_Set__c];
        Test.startTest();
        FixtureUtil.delRAESD_excludedUpserted(resList,resdList);
        Test.stopTest();
    }
    static testMethod void testwithout1() {
        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        List<Account> alist = new List<Account>();
        alist.add(hospital);
        Test.startTest();
        FixtureUtil.withoutInsert(alist);
        alist[0].Name = 'test';
        FixtureUtil.withoutUpsertObjects(alist);
        alist[0].Name = 'test1';
        FixtureUtil.withoutUpdate(alist);
        FixtureUtil.withoutDelete(alist);
        Test.stopTest();
    }
    static testMethod void testwithout2() {
        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        hospital.Name = 'test hospital';
        List<Account> alist = new List<Account>();
        alist.add(hospital);
        Test.startTest();
        FixtureUtil.withoutInsert(alist,true);
        alist[0].Name = 'test';
        FixtureUtil.withoutUpdate(alist,true);
        alist[0].Name = 'test1';
        FixtureUtil.withoutUpsert(alist,true);
        Test.stopTest();
    }
    static testMethod void testdelRND() {
        setData(2, 1, 2, 2, false, false, true);
        //创建收货清单
        Date td = Date.today();
        ReceivingNote__c rn = new ReceivingNote__c();
        rn.Internal_asset_location__c = '上海 张江';
        rn.Asset_loaner_category__c = '固定资产';
        rn.Name = 'ZZ-153PA-0000813';
        rn.Status__c = '待数据确认';
        rn.DateOfDelivery__c = td+7;
        rn.OrderCode__c = 'SHRC-SP-20044-02';
        rn.Sales_order_number__c = '1000109900';
        rn.ApprovalNumber__c = 'ME153P07-0301';
        rn.ContactPerson__c = 'username';
        insert rn;
        //收货清单一览
        ReceivingNoteSummary__c rns = new ReceivingNoteSummary__c();
        rns.ReceivingNote__c = rn.Id;
        insert rns;
        // 收货一览明细
        ReceivingNoteDetail__c rnd1 = new ReceivingNoteDetail__c();
        rnd1.ReceivingNoteSummary__c = rns.Id;
        rnd1.Fixture_Set_Detail__c = [select Id from Fixture_Set_Detail__c limit 1].Id;
        rnd1.Is_Body__c = true;
        rnd1.Delete_Flag__c = false;
        rnd1.SerialNumber__c = '12';
        insert new ReceivingNoteDetail__c[] {rnd1};
        List<ReceivingNoteSummary__c> rnsList = new List<ReceivingNoteSummary__c>();
        rnsList.add(rns);
        Test.startTest();
        FixtureUtil.delRND_excludedUpserted(rnsList,new List<ReceivingNoteDetail__c>(),new List<ReceivingNoteDetail__c>(),true);
        Test.stopTest();
    }
    static testMethod void testclearOneToOne() {
        setData(2, 1, 2, 2, false, false, true);
        List<Fixture_OneToOne_Link__c> fixList = [select Id,Main_Asset__c from Fixture_OneToOne_Link__c];
        List<Rental_Apply_Equipment_Set__c> resList = [Select Id From Rental_Apply_Equipment_Set__c];
        Test.startTest();
        FixtureUtil.clearOneToOneAccessory(resList[0].Id,new Map<String, Rental_Apply_Equipment_Set_Detail__c>(),fixList[0].Main_Asset__c,new Map<Id, Fixture_OneToOne_Link__c>());
        Test.stopTest();
    }
    static testMethod void testDelRAESDByIds(){
        setData(2, 1, 2, 2, false, false, true);
        List<Rental_Apply_Equipment_Set_Detail__c> resdList = [select Id from Rental_Apply_Equipment_Set_Detail__c];
        List<Rental_Apply_Equipment_Set__c> resList = [Select Id From Rental_Apply_Equipment_Set__c];
        List<Id> ids = new List<Id>();
        for (Rental_Apply_Equipment_Set_Detail__c resd : resdList) {
            ids.add(resd.Id);
        }
        Test.startTest();
        FixtureUtil.delRAESDByIds(resList[0],ids);
        Test.stopTest();
    }
    static testMethod void testSetAssetRAESSalesdepartment(){
        Test.startTest();
        FixtureUtil.setAssetRAESSalesdepartment('test');
        Test.stopTest();
    }
    static testMethod void testSetAssetRAESEquipmentType(){
        Test.startTest();
        FixtureUtil.setAssetRAESEquipment_Type('test');
        Test.stopTest();
    }
    static testMethod void testSetUpstError(){
        Test.startTest();
        FixtureUtil.setUpstError(new List<Database.UpsertResult>(),Account.getSObjectType(),new List<Account>(),new List<String>());
        Test.stopTest();
    }
    static testMethod void testSetSaveError(){
        Test.startTest();
        FixtureUtil.setSaveError(new List<Database.SaveResult>(),Account.getSObjectType(),new List<Account>(),new List<String>());
        Test.stopTest();
    }
    static testMethod void testSetDelError(){
        Test.startTest();
        FixtureUtil.setDelError(new List<Database.DeleteResult>(),Account.getSObjectType(),new List<Account>(),new List<String>());
        Test.stopTest();
    }
    static testMethod void testSetDetailWrapper(){
        setData(2, 1, 2, 2, false, false, true);
        List<Rental_Apply_Equipment_Set_Detail__c> resdList = [select Id from Rental_Apply_Equipment_Set_Detail__c];
        Test.startTest();
        FixtureUtil.SetDetailWrapper sd = new FixtureUtil.SetDetailWrapper(resdList[0]);
        sd.compareTo('compareTo');
        Test.stopTest();
    }
    //ToDo 代替品Asset
}
force-app/main/default/classes/SI_NewQuoteEntryController.cls
@@ -221,6 +221,9 @@
                    // SI业务系统流程改善和提升项目2019-10-28 by vivek start
                    ,Configuration_Suggestion__c , Configuration_Suggestion_Feedback__c
                    // SI业务系统流程改善和提升项目2019-10-28 by vivek end
                    // DB202303051651 产品报价金额自动计算 ssm start
                    , Salesdepartment_Owner__c
                    // DB202303051651 产品报价金额自动计算 ssm end
                    FROM Opportunity Where Id = :oppId];
        // 多年保修 start
        trade = '外貿';
@@ -2893,528 +2896,6 @@
        opp.Agency2__c = quo.Agency2__c;
    }
    public void testI() {
        integer i= 0;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
        i ++;
    }
    public class OppInfo {
@@ -3430,6 +2911,12 @@
        public boolean If_Need_Authorize { get; set; }
        public String Authorized_DB_No { get; set; }
        // LHJ End
        // DB202303051651 产品报价金额自动计算 ssm start
        // 医院合同金额比例
        public Decimal rate_hospital { get; set; }
        // 经销商1合同金额比例
        public Decimal rate_agency1 { get; set; }
        // DB202303051651 产品报价金额自动计算 ssm end
        public OppInfo(Opportunity opp) {
            Account_RecordType_DeveloperName = opp.Account.RecordType.DeveloperName;
@@ -3444,6 +2931,12 @@
            If_Need_Authorize = opp.If_Need_Authorize__c;
            Authorized_DB_No = opp.Authorized_DB_No__c;
            // LHJ End
            // DB202303051651 产品报价金额自动计算 ssm start
            String str_rate_hospital = ControllerUtil.getValueFromJSONString(System.Label.Quote_HospitalAmount_Rate, opp.Salesdepartment_Owner__c);
            String str_rate_agency1 = ControllerUtil.getValueFromJSONString(System.Label.Quote_Agency1Amount_Rate, opp.Salesdepartment_Owner__c);
            rate_hospital = String.isNotBlank(str_rate_hospital) ? Decimal.valueOf(str_rate_hospital) : 1.0;
            rate_agency1 = String.isNotBlank(str_rate_agency1) ? Decimal.valueOf(str_rate_agency1) : 1.0;
            // DB202303051651 产品报价金额自动计算 ssm end
        }
    }
    //TODO 1.Quoteオブジェクト追加
force-app/main/default/classes/SI_NewQuoteEntryControllerTest.cls
@@ -61,7 +61,7 @@
    private static String quoteNo = 'textQutote01';
    public static String trade = '内貿';
    public static String CurrencyIso = 'CNY';
    public static String USDIso = 'USD';
    private static Boolean isUnitPrice = true;
    private static Boolean isOfferAmount = true;
    private static Boolean isTotalPrice = true;
@@ -1242,6 +1242,8 @@
            Product2 product1 = new Product2( Name = '11111');
            product1.SFDA_Status__c = '不要';
            product1.Intra_Trade_List_RMB_1__c = 100;
            product1.Intra_Trade_Cost_RMB_End_Date1__c = Date.today().addDays(5);
            product1.Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(5);
            product1.Intra_Trade_List_RMB_Date1__c = date.today();
            product1.Intra_Trade_Cost_RMB_1__c = 200;
            product1.Intra_Trade_Cost_RMB_Date1__c = date.today();
@@ -1540,4 +1542,266 @@
        SI_NewQuoteEntryController.QELine actList12 = new SI_NewQuoteEntryController.QELine(10,true,'aaa',Date.today(),'bbb',pE2.Id,'ddd','eee','fff','ggg','hhh','iii','jjj','kkk',10,1.1,2.2,3.3,4.0,5.5,6.6,'lll',7.7,8.8);
        system.debug('xxxxxxxxxxxxxxxxxxxxxxxx++++++++++++++++++++++++');
    }
    static testMethod void dataEntryTest3() {
        Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin];
        User MacOwner = new User(Test_staff__c = true, Batch_User__c  = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id);
        system.runAs(MacOwner) {
            StaticParameter.EscapeNFM001AgencyContractTrigger = true;
            StaticParameter.EscapeAccountTrigger = true;
            ControllerUtil.EscapeNFM001Trigger = true;
            Oly_TriggerHandler.bypass('PowerBIBaseHandler');
            StaticParameter.EscapeSyncOpportunityTrigger = true;
            StaticParameter.EscapeNFM007Trigger = true;
            StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
            Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
            StaticParameter.EscapeSyncOpportunityTrigger = true;
            StaticParameter.EscapeSyncProduct2Trigger = true;
            Oly_TriggerHandler.bypass('PowerBIBaseHandler');
            RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1];
            Account hospital = new Account(Name = 'テスト病院');
            hospital.RecordTypeId = recByoin.id;
            hospital.Site = 'テスト病院部門';
            hospital.Alias_Name2__c = 'テスト病院別名';
            insert hospital;
            RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1];
            Account sellerA = new Account(Name = '販売店');
            sellerA.RecordTypeId = recHanbaiten.id;
            sellerA.Hospital__c = hospital.id;
            insert sellerA;
            RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1];
            Account contractA = new Account(Name = '*');
            contractA.RecordTypeId = recKeiyaku.id;
            contractA.Agent_Ref__c = sellerA.id;
            contractA.ParentId = sellerA.id;
            insert contractA;
            Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today());
            opp.Trade__c = '外貿';
            opp.CurrencyIsoCode = USDIso;
            opp.Sales_Root__c = '販売店';
            opp.StageName = '引合';
            opp.Fixed_Check__c = false;
            opp.owner_not_automatically_update__c = true;
            opp.Pricebook2Id = pricebook.id;
            opp.Purchase_Type__c = '一般引合';
            opp.Promise_Class__c = '外貿';
            opp.Fund_Basis__c = '政府資金';
            opp.AccountId = contractA.id;
            opp.Hospital__c = contractA.id;
            opp.Agency1__c = sellerA.id;
            opp.Agency2__c = sellerA.id;
            opp.Wholesale_Price__c = 9000;
            opp.Stock_Confrim_Date__c = Date.today();
            insert opp;
            Product2 product1 = new Product2( Name = '11111');
            product1.SFDA_Status__c = '不要';
            product1.Manual_Entry__c = false;
            product1.Foreign_Trade_List_US_1__c = 100;
            product1.Foreign_Trade_Cost_US_End_Date1__c = Date.today().addDays(5);
            product1.Foreign_Trade_List_US_End_Date1__c = Date.today().addDays(5);
            product1.Foreign_Trade_List_US_Date1__c = date.today();
            product1.Foreign_Trade_Cost_US_1__c = 200;
            product1.Foreign_Trade_Cost_US_Date1__c = date.today();
            product1.Asset_Model_No__c = '11111';
            product1.ProductCode = 'OTV-SP1H-NA-12E';
            insert product1;
            system.debug('##product.Id=[' + product1.Id + ']' );
            Product2 product2 = new Product2( Name = '11112');
            product2.SFDA_Status__c = '不要';
            product2.Intra_Trade_List_RMB_1__c = 100;
            product2.Intra_Trade_List_RMB_Date1__c = date.today();
            product2.Intra_Trade_Cost_RMB_1__c = 200;
            product2.Intra_Trade_Cost_RMB_Date1__c = date.today();
            product2.Manual_Entry__c = false;
            product2.Asset_Model_No__c = '11112';
            //        product2.ProductCode = 'OTV-SP1H-NA-12E';
            insert product2;
            system.debug('##product1.Id=[' + product1.Id + ']' );
            system.debug('##product2.Id=[' + product2.Id + ']' );
            PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id);
            pE.UnitPrice = 0;
            pE.IsActive = true;
            pE.UseStandardPrice = false;
            pE.CurrencyIsoCode = USDIso;
            //pE.
            insert pE;
            PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id);
            pE2.UnitPrice = 0;
            pE2.IsActive = true;
            pE2.UseStandardPrice = false;
            pE2.CurrencyIsoCode = USDIso;
            //pE.
            insert pE2;
            OpportunityLineItem oli = new OpportunityLineItem();
            //target.QuoteId = input.Id;
            oli.Quantity = 1;
            //    target.TotalPrice = 100;
            oli.UnitPrice = 10;
            oli.PricebookEntryId = pE.Id;
            oli.OpportunityId = opp.id;
            oli.Cost__c = 100;
            //oli.op
            insert oli;
            Quote quote = new Quote( Name = 'テスト見積');
            quote.OpportunityId = opp.Id;
            quote.Pricebook2Id = pricebook.id;
            quote.Quote_No__c = quoteNo;
            quote.Unit_Price__c = isUnitPrice;
            quote.Offer_Amount__c = isOfferAmount;
            quote.TOTAL__c = isTotalPrice;
            quote.Discount__c = isDiscountRate;
            quote.Pricing__c = isDiscountAmount;
            quote.Preferential_Trading_Price__c = isTradingPrice;
            quote.Contract__c = isContractDetail;
            quote.Quote_Comment__c = offerComment;
            quote.QuoteName__c = 'テスト見積';
            quote.Dealer_Final_Price__c = 100;
            quote.Quote_Adjust_Calculate__c = 10;
            quote.Quote_Adjust_Amount__c = 10;
            quote.OCM_Agent1_Price__c = 10;
            quote.Agent1_Agent2_Price__c = 10;
            insert quote;
            // セット品
            Product_Set__c ps1 = new Product_Set__c();
            ps1.Name = 'セット品1';
            ps1.Product_Set_CD__c = '111111';
            ps1.Description__c = '説明';
            ps1.Qty__c = 10;
            //ps1.Valid__c = true;
            ps1.Valid_Date__c = date.today().addDays(-5);
            insert ps1;
            Product_Set_Detail__c psd1 = new Product_Set_Detail__c();
            psd1.Product_Set__c = ps1.id;
            psd1.Price__c = 100;
            psd1.Quantity__c = 10;
            psd1.Product__c = product1.id;
            insert psd1;
            System.Test.startTest();
            // 20211013 lt add 注释掉
            //SI_NewQuoteEntryController.QELine sqline = new SI_NewQuoteEntryController.QELine(2, true ,'String VenderName','String ProductSetName', pE.id, 'String Asset_Model', 'String StorageStatus', ' String ProductCode', 'String Id_c', 'String SFDA_Status_c', 'String Sales_Possibility_c', 'String Name_c', 'String BSS_Category_c', 2, 123, 21, 312, 123, 1.1, 1.1, '', 1.1,0);
            //##ページデバッグセクション 開始
            PageReference page = new PageReference('/apex/NewQuoteEntry');
            System.Test.setCurrentPage(page);
            Apexpages.currentPage().getParameters().put('oppid', opp.id);
            SI_NewQuoteEntryController controller = new SI_NewQuoteEntryController();
            //Apexpages.currentPage().getParameters().put('id', quote.id);
            controller.oppId = null;
            controller.quoId = null;
            controller.enableSales = false;
            controller.init();
            controller.dataCheck();
            controller.select_index = 0;
            controller.Product_text = product1.id;
            controller.setProduct_text = ps1.id;
            controller.setProductEntry();
            //        controller.settingProduct2();
            controller.OppReflection();
            controller.activities[0].Asset_Model = 'test';
            controller.PriceStatusUpdate();
            controller.SalesId1 = sellerA.id;
            controller.SalesId2 = sellerA.id;
            controller.getSalesId1();
            controller.getSalesId2();
            controller.cancel();
            Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c,
                                      Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c,
                                      QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c,
                                      OCM_Agent1_Price__c, Agent1_Agent2_Price__c
                                      FROM Quote WHERE Id = :quote.id];
            system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c);
            controller.enableSales = false;
            controller.opp.Agency1__c = null;
            controller.quo.OCM_Agent1_Price__c = null;
            controller.opp.Agency2__c = null;
            controller.quo.Agent1_Agent2_Price__c = null;
            controller.quo.QuoteName__c = 'aaa';
            controller.quo.Dealer_Final_Price_Page__c = 100;
            controller.quo.Dealer_Final_Price__c = 100;
            controller.qb.Quote_Adjust_Calculate = 100;
            controller.quo.Quote_Adjust_Calculate__c = 100;
            controller.quo.Quote_Adjust_Amount_Page__c = 10;
            controller.quo.Quote_Adjust_Amount__c = 10;
            controller.quo.Quote_Expiration_Date__c = date.today();
            controller.oppId = opp.id;
            //        controller.PricebookId = pricebook.id;
            SI_NewQuoteEntryController.QELine act = new SI_NewQuoteEntryController.QELine(oli, 0);
            act.Asset_Model = '11111';
            act.pageObject.Quantity__c = 10;
            act.pageObject.UnitPrice_Page__c = 100;
            act.pageObject.UnitPrice = 100;
            act.pageObject.Subtotal__c = 1000;
            act.pageObject.PricebookEntryId = pE2.id;
            act.pageObject.Id__c = product2.id;
            List<SI_NewQuoteEntryController.QELine> actList = new List<SI_NewQuoteEntryController.QELine>();
            actList.add(act);
            controller.activities = actList;
            controller.save();
            controller.dataEntry();
            controller.dataCheck();
            controller.QuoteDecision();
            controller.Print();
            actList = new List<SI_NewQuoteEntryController.QELine>();
            actList.add(act);
            controller.activities = actList;
            controller.excel_text = 'OTV-SP1H-NA-12E\t1';
            controller.excelImport();
            Add_Report.getProduct2(product2.id);
            //   QELine(QELine tmp, Integer i) 関数をテスト
            actList = new List<SI_NewQuoteEntryController.QELine>();
            act.Asset_Model = null;
            actList.add(act);
            controller.activities = actList;
            controller.excel_text = 'OTV-SP1H-NA-12E\t1';
            controller.excelImport();
            Add_Report.getProduct2(product2.id);
            //  dataCheckDecide関数をチェック
            controller.enableSales = true;
            IS_Opportunity_Demand__c ISOhead = new IS_Opportunity_Demand__c();
            ISOhead.name = '*';
            ISOhead.Opportunity_ID__c = opp.id;
            ISOhead.Approval_Date__c = Date.today();
            ISOhead.Public_Hospital_TF__c = true;
            ISOhead.Preparation_Stage_TF__c = true;
            ISOhead.Data_Check_TF__c = true;
            ISOhead.Operating_Room_Plane_Graph_TF__c = true;
            ISOhead.Demonstration_Area_Plane_Graph_TF__c = true;
            insert ISOhead;
            controller.QuoteDecision = false;
            controller.QuoteDecision();
            controller.Print();
            //##ページデバッグセクション 終了
            System.Test.stopTest();
        }
    }
}
force-app/main/default/pages/SpecialPrice.page
@@ -1,4 +1,4 @@
<apex:page Controller="SpecialPriceController" showHeader="true" sidebar="false" id="allPage" action="{!init}">
<apex:page Controller="SpecialPriceController" showHeader="true" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>