@isTest
private class FixtureDeliverySlipHandlerTest {
    
    private static User user1;
    private static List<Rental_Apply__c> setupRAList;
  
    // 造出已发货
    static testMethod void testMethod1() {
        FixtureDeliverySlip__c slip = new FixtureDeliverySlip__c();
        slip.Name = '运输单号1';
        slip.DeliveryType__c = '发货';
        slip.Distributor_method__c = '陆运';
        slip.DeliveryCompany__c = 'Fedex';
        slip.Wh_Staff__c = Userinfo.getUserId();
        slip.Shippment_loaner_time__c = Date.today();
        slip.Combine_Pack__c = '123';
        insert slip;
            StaticParameter.EscapeNFM001AgencyContractTrigger = true;
        StaticParameter.EscapeNFM001Trigger = true;
        // Oly_TriggerHandler.bypass('AssetHandler');
        // Oly_TriggerHandler.bypass('ContactTrigger');
        Oly_TriggerHandler.bypass('ConsumApplyTrigger');
        Oly_TriggerHandler.bypass('ConsumApplyTriggerHandler');
        Oly_TriggerHandler.bypass('AssetHandlerCheckQueuable');
        Oly_TriggerHandler.bypass('AssetHandlerCheck');
        Oly_TriggerHandler.bypass('ConsumApplyEquipmentSetDetailHandler');
        Oly_TriggerHandler.bypass('RentalApplyEquipmentSetDetailHandler');
        
        

        Long nowTimeLong = System.now().getTime();
        // システム管理者
        User user = new User(Test_staff__c = true);
        user.LastName = '_サンブリッジ';
        user.FirstName = 'う';
        user.Alias = 'う';
        user.Email = 'olympusTest03@sunbridge.com';
        user.Username = 'olympusTest03@sunbridge.com' + nowTimeLong;
        user.CommunityNickname = 'う';
        user.IsActive = true;
        user.EmailEncodingKey = 'ISO-2022-JP';
        user.TimeZoneSidKey = 'Asia/Tokyo';
        user.LocaleSidKey = 'ja_JP';
        user.LanguageLocaleKey = 'ja';
        user.ProfileId = System.Label.ProfileId_SystemAdmin;
        user.Job_Category__c = '销售推广';
        user.Province__c = '上海市';
        user.Use_Start_Date__c = Date.today().addMonths(-6);
        user.SalesManager__c = UserInfo.getUserId();
        user.BuchangApprovalManagerSales__c = UserInfo.getUserId();
        user.JingliApprovalManager__c = UserInfo.getUserId();
        user.BuchangApprovalManager__c = UserInfo.getUserId();
        user.ZongjianApprovalManager__c = UserInfo.getUserId();
        user.JingliEquipmentManager__c = UserInfo.getUserId();
        user.Buzhang_Equipment_Manager__c = UserInfo.getUserId();
        user.Dept__c = '医疗西北营业本部';

        System.runAs(new User(Id = Userinfo.getUserId())) {
            insert user;
            }
         Address_Level__c al = new Address_Level__c();
        al.Name = '東京';
        al.Level1_Code__c = 'CN-99';
        al.Level1_Sys_No__c = '999999';
        insert al;
        // 市
        Address_Level2__c al2 = new Address_Level2__c();
        al2.Level1_Code__c = 'CN-99';
        al2.Level1_Sys_No__c = '999999';
        al2.Level1_Name__c = '東京';
        al2.Name = '渋谷区';
        al2.Level2_Code__c = 'CN-9999';
        al2.Level2_Sys_No__c = '9999999';
        al2.Address_Level__c = al.id;
        insert al2;

        // 病院を作る
        ControllerUtil.EscapeNFM001Trigger = true;
        StaticParameter.EscapeNFM001Trigger = true;
        StaticParameter.EscapeAccountTrigger = true;
        StaticParameter.EscapeNFM001AgencyContractTrigger = true;

        Account hospital = new Account();
        hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
        System.debug('病院完了!');
        hospital.Name = 'test hospital';
        hospital.Is_Active__c = '有効';
        hospital.Attribute_Type__c = '卫生部';
        hospital.Speciality_Type__c = '综合医院';
        hospital.Grade__c = '一级';
        hospital.OCM_Category__c = 'SLTV';
        hospital.Is_Medical__c = '医疗机构';
        hospital.State_Master__c = al.id;
        hospital.City_Master__c = al2.id;
        hospital.Town__c = '东京';
        insert hospital;
        System.debug('病院 insert 完了!');

        // 戦略科室を得る
        Account strategicDep = new Account();
        strategicDep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_Class_OTH'].id;
        strategicDep.Name = 'Olympus社内 其他';
        strategicDep.Department_Class_Label__c = '其他';
        strategicDep.Hospital__c = hospital.Id;
        strategicDep.ParentId = hospital.Id;
        insert strategicDep;

        // 診療科を作る
        Account dep = new Account();
        dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
        dep.Name = 'test dep';
        dep.AgentCode_Ext__c = '9999998';
        dep.ParentId = strategicDep.Id;
        dep.Department_Class__c = strategicDep.Id;
        dep.Hospital__c = hospital.Id;
        insert dep;
        System.debug('診療科 insert 完了!');

        // 产品
        Product2 pro1 = new Product2(Name='name01',IsActive=true,Family='GI',
                Fixture_Model_No__c='n01',Serial_Lot_No__c='S/N tracing',
                Fixture_Model_No_T__c = 'n01',
                ProductCode_Ext__c='pc01',Manual_Entry__c=false);

        insert new Product2[] {pro1};

        // 保有设备A (主体)
        Asset assetA1 = new Asset(Asset_Owner__c = 'Olympus');
        assetA1.RecordTypeId = System.Label.Asset_RecordType;
        assetA1.SerialNumber = 'ass01';
        assetA1.Name = 'ass01';
        assetA1.AccountId = dep.Id;
        assetA1.Department_Class__c = strategicDep.Id;
        assetA1.Hospital__c = hospital.Id;
        assetA1.Product2Id = pro1.Id;
        assetA1.Quantity = 1;
        assetA1.Status = '有库存';
        assetA1.Manage_type__c = '个体管理';
        assetA1.Loaner_accsessary__c = false;
        assetA1.Out_of_wh__c = 0;
        assetA1.Salesdepartment__c = '1.华北营业本部';
        assetA1.Internal_asset_location__c = '北京 备品中心';
        assetA1.Product_category__c = 'GI';
        assetA1.Equipment_Type__c = '产品试用';
        assetA1.SalesProvince__c = '北京';
        insert new Asset[] {assetA1};

        Fixture_Set__c fsObjA1 = new Fixture_Set__c();
        fsObjA1.Name = 'set1';
        fsObjA1.Fixture_Set_Body_Model_No__c = 'modelNo1';
        fsObjA1.Loaner_name__c = 'name1';
        insert fsObjA1;

        // 备品配套明细
        Fixture_Set_Detail__c fsdObjA1 = new Fixture_Set_Detail__c();
        fsdObjA1.Name = '备品配套明细名1';
        fsdObjA1.Name_CHN_Created__c = '中文名称1';
        fsdObjA1.Product2__c = pro1.Id;
        fsdObjA1.Fixture_Set__c = fsObjA1.Id;
        fsdObjA1.Is_Body__c = true;
        fsdObjA1.Is_Optional__c = false;
        fsdObjA1.UniqueKey__c = fsObjA1.Id + ':' + pro1.Id;
        fsdObjA1.SortInt__c = 1;
        insert new Fixture_Set_Detail__c[] {fsdObjA1};

        //备品借出申请
        Rental_Apply__c raObj = new Rental_Apply__c();
        raObj.Name = 'testra';
        raObj.Product_category__c = 'GI';
        raObj.Demo_purpose1__c = '其他';
        raObj.demo_purpose2__c = '其他';
        raObj.Person_In_Charge__c = user.id;
        raObj.applyUser__c = Userinfo.getUserId();
        raObj.Demo_purpose_text__c = '123';
        raObj.Request_shipping_day__c = Date.toDay();
        raObj.Request_return_day__c = Date.toDay();
        raObj.direct_send__c = '上门自提';
        raObj.Loaner_received_staff__c = '王五';
        raObj.Loaner_received_staff_phone__c = '110';
        raObj.pickup_time__c = System.now();

        Rental_Apply__c raObj1 = new Rental_Apply__c();
        raObj1.Name = 'testra1';
        raObj1.Product_category__c = 'GI';
        raObj1.Demo_purpose1__c = '其他';
        raObj1.demo_purpose2__c = '其他';
        raObj1.Person_In_Charge__c = user.id;
        raObj1.applyUser__c = Userinfo.getUserId();
        raObj1.Demo_purpose_text__c = '123';
        raObj1.Request_shipping_day__c = Date.toDay();
        raObj1.Request_return_day__c = Date.toDay();
        raObj1.direct_send__c = '上门自提';
        raObj1.Loaner_received_staff__c = '王五';
        raObj1.Loaner_received_staff_phone__c = '110';
        raObj1.pickup_time__c = System.now();
        setupRAList = new Rental_Apply__c[]{raObj,raObj1};
        insert setupRAList;

        // 借出备品配套一览
        Rental_Apply_Equipment_Set__c raesObj = new Rental_Apply_Equipment_Set__c();
        raesObj.Rental_Apply__c = raObj.Id;
        raesObj.Fixture_Set__c = fsObjA1.Id;
        raesObj.Cancel_Select__c = false;
        raesObj.Shipment_request_time__c = Date.toDay();
        raesObj.Rental_Start_Date__c = Date.toDay();
        raesObj.Rental_End_Date__c = Date.toDay();
        raesObj.IndexFromUniqueKey__c = 1;
        raesObj.UniqueKey__c = '1:'+ fsObjA1.Id + ':1';

        Rental_Apply_Equipment_Set__c raesObj1 = new Rental_Apply_Equipment_Set__c();
        raesObj1.Rental_Apply__c = raObj1.Id;
        raesObj1.Fixture_Set__c = fsObjA1.Id;
        raesObj1.Cancel_Select__c = false;
        raesObj1.Shipment_request_time__c = Date.toDay();
        raesObj1.Rental_Start_Date__c = Date.toDay().addDays(1);
        raesObj1.Rental_End_Date__c = Date.toDay().addDays(1);
        raesObj1.IndexFromUniqueKey__c = 2;
        raesObj1.UniqueKey__c = '1:'+ fsObjA1.Id + ':2';
        insert new Rental_Apply_Equipment_Set__c[]{raesObj, raesObj1};

        // 借出备品配套一览明细
        Rental_Apply_Equipment_Set_Detail__c raesdObj1 = new Rental_Apply_Equipment_Set_Detail__c();
        raesdObj1.Rental_Apply__c = raObj.Id;
        raesdObj1.Fixture_Set_Detail__c = fsdObjA1.Id;
        raesdObj1.Rental_Num__c = 1;
        raesdObj1.Queue_Number__c = null;
        raesdObj1.Is_Body__c = true;
        raesdObj1.DeliverySlip__c = slip.id;
        raesdObj1.IndexFromUniqueKey__c = 1;
        raesdObj1.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA1.Id + ':1';
        raesdObj1.Rental_Apply_Equipment_Set__c = raesObj.Id;

        Rental_Apply_Equipment_Set_Detail__c raesdObj2 = new Rental_Apply_Equipment_Set_Detail__c();
        raesdObj2.Rental_Apply__c = raObj1.Id;
        raesdObj2.Fixture_Set_Detail__c = fsdObjA1.Id;
        raesdObj2.Rental_Num__c = 1;
        raesdObj2.Queue_Number__c = null;
        raesdObj2.Is_Body__c = true;
        raesdObj2.DeliverySlip__c = slip.id;
        raesdObj2.IndexFromUniqueKey__c = 1;
        raesdObj2.UniqueKey__c = '1:'+ raesObj1.Id + ':' + fsdObjA1.Id + ':1';
        raesdObj2.Rental_Apply_Equipment_Set__c = raesObj1.Id;
        insert new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1, raesdObj2};

        // ControllerUtil.EscapeNFM001Trigger = true;




        // 耗材类保有设备
        Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus');
        assetC1.RecordTypeId = System.Label.Asset_RecordType;
        assetC1.SerialNumber = 'ass01';
        assetC1.Name = 'ass01';
        assetC1.AccountId = dep.Id;
        assetC1.Department_Class__c = strategicDep.Id;
        assetC1.Hospital__c = hospital.Id;
        assetC1.Product2Id = pro1.Id;
        assetC1.Quantity = 10;
        assetC1.Consumed_Count__c = 1;
        assetC1.Status = '有库存';
        assetC1.Manage_type__c = '数量管理';
        assetC1.Loaner_accsessary__c = true;
        assetC1.Product_category__c = 'GI';
        assetC1.Delete_Flag__c = false;
        assetC1.Freeze_sign__c = false;
        assetC1.Out_of_wh__c = 3;
        assetC1.Asset_loaner_category__c = '耗材';
        assetC1.AssetMark__c = '耗材';
        assetC1.Frozen_Quantity__c = 2;
        assetC1.Salesdepartment__c = '0.备品中心';
        assetC1.Internal_asset_location__c = '上海 备品中心';
        assetC1.Product_category__c = 'GI';
        assetC1.Equipment_Type__c = '产品试用';
        assetC1.SalesProvince__c = '上海';
        assetC1.WH_location__c = '货架号1';
        assetC1.AssetManageConfirm__c = true;
        insert assetC1;

        Consum_Apply__c ca = new Consum_Apply__c();
        ca.DataMigration_Flag__c = true;
        insert ca;
        Consum_Apply_Equipment_Set__c caes = new Consum_Apply_Equipment_Set__c();
        caes.Consum_Apply__c = ca.Id;
        caes.Consum_Start_Date__c = Date.today().addDays(20);
        caes.DataMigration_Flag__c = true;
        insert caes;
        Consum_Apply_Equipment_Set_Detail__c caesd = new Consum_Apply_Equipment_Set_Detail__c();
        caesd.DataMigration_Flag__c = true;
        caesd.Consum_Apply__c = ca.Id;
        caesd.Consum_Apply_Equipment_Set__c = caes.Id;
        caesd.Asset__c = assetC1.Id;
        caesd.DeliverySlip__c = slip.id;
        caesd.Cancel_Select__c = false;
        caesd.Consum_Start_Date__c = caes.Consum_Start_Date__c;
        caesd.Trial_User__c = '我';
        caesd.Follower_User__c = UserInfo.getUserId();
        insert caesd; // 草案中

        System.Test.startTest();
        update slip;
        System.Test.stopTest();

    }
    //   static testMethod void testMethod2() {
    //     FixtureDeliverySlip__c slip = new FixtureDeliverySlip__c();
    //     slip.Name = '运输单号1';
    //     slip.DeliveryType__c = '回寄';
    //     slip.Distributor_method__c = '陆运';
    //     slip.DeliveryCompany__c = 'Fedex';
    //     slip.Wh_Staff__c = Userinfo.getUserId();
    //     slip.Shippment_loaner_time__c = Date.today();
    //     slip.Combine_Pack__c = '123';
    //     insert slip;
    //       StaticParameter.EscapeNFM001AgencyContractTrigger = true;
    //     StaticParameter.EscapeNFM001Trigger = true;
    //     // Oly_TriggerHandler.bypass('AssetHandler');
    //     // Oly_TriggerHandler.bypass('ContactTrigger');
    //     Oly_TriggerHandler.bypass('ConsumApplyTrigger');
    //     Oly_TriggerHandler.bypass('ConsumApplyTriggerHandler');
    //     Oly_TriggerHandler.bypass('AssetHandlerCheckQueuable');
    //     Oly_TriggerHandler.bypass('AssetHandlerCheck');
    //     Oly_TriggerHandler.bypass('ConsumApplyEquipmentSetDetailHandler');
    //     Oly_TriggerHandler.bypass('RentalApplyEquipmentSetDetailHandler');
        
        

    //     Long nowTimeLong = System.now().getTime();
    //     // システム管理者
    //     User user = new User(Test_staff__c = true);
    //     user.LastName = '_サンブリッジ';
    //     user.FirstName = 'う';
    //     user.Alias = 'う';
    //     user.Email = 'olympusTest03@sunbridge.com';
    //     user.Username = 'olympusTest03@sunbridge.com' + nowTimeLong;
    //     user.CommunityNickname = 'う';
    //     user.IsActive = true;
    //     user.EmailEncodingKey = 'ISO-2022-JP';
    //     user.TimeZoneSidKey = 'Asia/Tokyo';
    //     user.LocaleSidKey = 'ja_JP';
    //     user.LanguageLocaleKey = 'ja';
    //     user.ProfileId = System.Label.ProfileId_SystemAdmin;
    //     user.Job_Category__c = '销售推广';
    //     user.Province__c = '上海市';
    //     user.Use_Start_Date__c = Date.today().addMonths(-6);
    //     user.SalesManager__c = UserInfo.getUserId();
    //     user.BuchangApprovalManagerSales__c = UserInfo.getUserId();
    //     user.JingliApprovalManager__c = UserInfo.getUserId();
    //     user.BuchangApprovalManager__c = UserInfo.getUserId();
    //     user.ZongjianApprovalManager__c = UserInfo.getUserId();
    //     user.JingliEquipmentManager__c = UserInfo.getUserId();
    //     user.Buzhang_Equipment_Manager__c = UserInfo.getUserId();
    //     user.Dept__c = '医疗西北营业本部';

    //     System.runAs(new User(Id = Userinfo.getUserId())) {
    //         insert user;
    //         }
    //      Address_Level__c al = new Address_Level__c();
    //     al.Name = '東京';
    //     al.Level1_Code__c = 'CN-99';
    //     al.Level1_Sys_No__c = '999999';
    //     insert al;
    //     // 市
    //     Address_Level2__c al2 = new Address_Level2__c();
    //     al2.Level1_Code__c = 'CN-99';
    //     al2.Level1_Sys_No__c = '999999';
    //     al2.Level1_Name__c = '東京';
    //     al2.Name = '渋谷区';
    //     al2.Level2_Code__c = 'CN-9999';
    //     al2.Level2_Sys_No__c = '9999999';
    //     al2.Address_Level__c = al.id;
    //     insert al2;

    //     // 病院を作る
    //     ControllerUtil.EscapeNFM001Trigger = true;
    //     StaticParameter.EscapeNFM001Trigger = true;
    //     StaticParameter.EscapeAccountTrigger = true;
    //     StaticParameter.EscapeNFM001AgencyContractTrigger = true;

    //     Account hospital = new Account();
    //     hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id;
    //     System.debug('病院完了!');
    //     hospital.Name = 'test hospital';
    //     hospital.Is_Active__c = '有効';
    //     hospital.Attribute_Type__c = '卫生部';
    //     hospital.Speciality_Type__c = '综合医院';
    //     hospital.Grade__c = '一级';
    //     hospital.OCM_Category__c = 'SLTV';
    //     hospital.Is_Medical__c = '医疗机构';
    //     hospital.State_Master__c = al.id;
    //     hospital.City_Master__c = al2.id;
    //     hospital.Town__c = '东京';
    //     insert hospital;
    //     System.debug('病院 insert 完了!');

    //     // 戦略科室を得る
    //     Account strategicDep = new Account();
    //     strategicDep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_Class_OTH'].id;
    //     strategicDep.Name = 'Olympus社内 其他';
    //     strategicDep.Department_Class_Label__c = '其他';
    //     strategicDep.Hospital__c = hospital.Id;
    //     strategicDep.ParentId = hospital.Id;
    //     insert strategicDep;

    //     // 診療科を作る
    //     Account dep = new Account();
    //     dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
    //     dep.Name = 'test dep';
    //     dep.AgentCode_Ext__c = '9999998';
    //     dep.ParentId = strategicDep.Id;
    //     dep.Department_Class__c = strategicDep.Id;
    //     dep.Hospital__c = hospital.Id;
    //     insert dep;
    //     System.debug('診療科 insert 完了!');

    //     // 产品
    //     Product2 pro1 = new Product2(Name='name01',IsActive=true,Family='GI',
    //             Fixture_Model_No__c='n01',Serial_Lot_No__c='S/N tracing',
    //             Fixture_Model_No_T__c = 'n01',
    //             ProductCode_Ext__c='pc01',Manual_Entry__c=false);

    //     insert new Product2[] {pro1};

    //     // 保有设备A (主体)
    //     Asset assetA1 = new Asset(Asset_Owner__c = 'Olympus');
    //     assetA1.RecordTypeId = System.Label.Asset_RecordType;
    //     assetA1.SerialNumber = 'ass01';
    //     assetA1.Name = 'ass01';
    //     assetA1.AccountId = dep.Id;
    //     assetA1.Department_Class__c = strategicDep.Id;
    //     assetA1.Hospital__c = hospital.Id;
    //     assetA1.Product2Id = pro1.Id;
    //     assetA1.Quantity = 1;
    //     assetA1.Status = '有库存';
    //     assetA1.Manage_type__c = '个体管理';
    //     assetA1.Loaner_accsessary__c = false;
    //     assetA1.Out_of_wh__c = 0;
    //     assetA1.Salesdepartment__c = '1.华北营业本部';
    //     assetA1.Internal_asset_location__c = '北京 备品中心';
    //     assetA1.Product_category__c = 'GI';
    //     assetA1.Equipment_Type__c = '产品试用';
    //     assetA1.SalesProvince__c = '北京';
    //     insert new Asset[] {assetA1};

    //     Fixture_Set__c fsObjA1 = new Fixture_Set__c();
    //     fsObjA1.Name = 'set1';
    //     fsObjA1.Fixture_Set_Body_Model_No__c = 'modelNo1';
    //     fsObjA1.Loaner_name__c = 'name1';
    //     insert fsObjA1;

    //     // 备品配套明细
    //     Fixture_Set_Detail__c fsdObjA1 = new Fixture_Set_Detail__c();
    //     fsdObjA1.Name = '备品配套明细名1';
    //     fsdObjA1.Name_CHN_Created__c = '中文名称1';
    //     fsdObjA1.Product2__c = pro1.Id;
    //     fsdObjA1.Fixture_Set__c = fsObjA1.Id;
    //     fsdObjA1.Is_Body__c = true;
    //     fsdObjA1.Is_Optional__c = false;
    //     fsdObjA1.UniqueKey__c = fsObjA1.Id + ':' + pro1.Id;
    //     fsdObjA1.SortInt__c = 1;
    //     insert new Fixture_Set_Detail__c[] {fsdObjA1};

    //     //备品借出申请
    //     Rental_Apply__c raObj = new Rental_Apply__c();
    //     raObj.Name = 'testra';
    //     raObj.Product_category__c = 'GI';
    //     raObj.Demo_purpose1__c = '其他';
    //     raObj.demo_purpose2__c = '其他';
    //     raObj.Person_In_Charge__c = user.id;
    //     raObj.applyUser__c = Userinfo.getUserId();
    //     raObj.Demo_purpose_text__c = '123';
    //     raObj.Request_shipping_day__c = Date.toDay();
    //     raObj.Request_return_day__c = Date.toDay();
    //     raObj.direct_send__c = '上门自提';
    //     raObj.Loaner_received_staff__c = '王五';
    //     raObj.Loaner_received_staff_phone__c = '110';
    //     raObj.pickup_time__c = System.now();

    //     Rental_Apply__c raObj1 = new Rental_Apply__c();
    //     raObj1.Name = 'testra1';
    //     raObj1.Product_category__c = 'GI';
    //     raObj1.Demo_purpose1__c = '其他';
    //     raObj1.demo_purpose2__c = '其他';
    //     raObj1.Person_In_Charge__c = user.id;
    //     raObj1.applyUser__c = Userinfo.getUserId();
    //     raObj1.Demo_purpose_text__c = '123';
    //     raObj1.Request_shipping_day__c = Date.toDay();
    //     raObj1.Request_return_day__c = Date.toDay();
    //     raObj1.direct_send__c = '上门自提';
    //     raObj1.Loaner_received_staff__c = '王五';
    //     raObj1.Loaner_received_staff_phone__c = '110';
    //     raObj1.pickup_time__c = System.now();
    //     setupRAList = new Rental_Apply__c[]{raObj,raObj1};
    //     insert setupRAList;

    //     // 借出备品配套一览
    //     Rental_Apply_Equipment_Set__c raesObj = new Rental_Apply_Equipment_Set__c();
    //     raesObj.Rental_Apply__c = raObj.Id;
    //     raesObj.Fixture_Set__c = fsObjA1.Id;
    //     raesObj.Cancel_Select__c = false;
    //     raesObj.Shipment_request_time__c = Date.toDay();
    //     raesObj.Rental_Start_Date__c = Date.toDay();
    //     raesObj.Rental_End_Date__c = Date.toDay();
    //     raesObj.IndexFromUniqueKey__c = 1;
    //     raesObj.UniqueKey__c = '1:'+ fsObjA1.Id + ':1';

    //     Rental_Apply_Equipment_Set__c raesObj1 = new Rental_Apply_Equipment_Set__c();
    //     raesObj1.Rental_Apply__c = raObj1.Id;
    //     raesObj1.Fixture_Set__c = fsObjA1.Id;
    //     raesObj1.Cancel_Select__c = false;
    //     raesObj1.Shipment_request_time__c = Date.toDay();
    //     raesObj1.Rental_Start_Date__c = Date.toDay().addDays(1);
    //     raesObj1.Rental_End_Date__c = Date.toDay().addDays(1);
    //     raesObj1.IndexFromUniqueKey__c = 2;
    //     raesObj1.UniqueKey__c = '1:'+ fsObjA1.Id + ':2';
    //     insert new Rental_Apply_Equipment_Set__c[]{raesObj, raesObj1};

    //     // 借出备品配套一览明细
    //     Rental_Apply_Equipment_Set_Detail__c raesdObj1 = new Rental_Apply_Equipment_Set_Detail__c();
    //     raesdObj1.Rental_Apply__c = raObj.Id;
    //     raesdObj1.Fixture_Set_Detail__c = fsdObjA1.Id;
    //     raesdObj1.Rental_Num__c = 1;
    //     raesdObj1.Queue_Number__c = null;
    //     raesdObj1.Is_Body__c = true;
    //     raesdObj1.DeliverySlip__c = slip.id;
    //     raesdObj1.IndexFromUniqueKey__c = 1;
    //     raesdObj1.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA1.Id + ':1';
    //     raesdObj1.Rental_Apply_Equipment_Set__c = raesObj.Id;

    //     Rental_Apply_Equipment_Set_Detail__c raesdObj2 = new Rental_Apply_Equipment_Set_Detail__c();
    //     raesdObj2.Rental_Apply__c = raObj1.Id;
    //     raesdObj2.Fixture_Set_Detail__c = fsdObjA1.Id;
    //     raesdObj2.Rental_Num__c = 1;
    //     raesdObj2.Queue_Number__c = null;
    //     raesdObj2.Is_Body__c = true;
    //     raesdObj2.DeliverySlip__c = slip.id;
    //     raesdObj2.IndexFromUniqueKey__c = 1;
    //     raesdObj2.UniqueKey__c = '1:'+ raesObj1.Id + ':' + fsdObjA1.Id + ':1';
    //     raesdObj2.Rental_Apply_Equipment_Set__c = raesObj1.Id;
    //     insert new Rental_Apply_Equipment_Set_Detail__c[] {raesdObj1, raesdObj2};

    //     // ControllerUtil.EscapeNFM001Trigger = true;




    //     // 耗材类保有设备
    //     Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus');
    //     assetC1.RecordTypeId = System.Label.Asset_RecordType;
    //     assetC1.SerialNumber = 'ass01';
    //     assetC1.Name = 'ass01';
    //     assetC1.AccountId = dep.Id;
    //     assetC1.Department_Class__c = strategicDep.Id;
    //     assetC1.Hospital__c = hospital.Id;
    //     assetC1.Product2Id = pro1.Id;
    //     assetC1.Quantity = 10;
    //     assetC1.Consumed_Count__c = 1;
    //     assetC1.Status = '有库存';
    //     assetC1.Manage_type__c = '数量管理';
    //     assetC1.Loaner_accsessary__c = true;
    //     assetC1.Product_category__c = 'GI';
    //     assetC1.Delete_Flag__c = false;
    //     assetC1.Freeze_sign__c = false;
    //     assetC1.Out_of_wh__c = 3;
    //     assetC1.Asset_loaner_category__c = '耗材';
    //     assetC1.AssetMark__c = '耗材';
    //     assetC1.Frozen_Quantity__c = 2;
    //     assetC1.Salesdepartment__c = '0.备品中心';
    //     assetC1.Internal_asset_location__c = '上海 备品中心';
    //     assetC1.Product_category__c = 'GI';
    //     assetC1.Equipment_Type__c = '产品试用';
    //     assetC1.SalesProvince__c = '上海';
    //     assetC1.WH_location__c = '货架号1';
    //     assetC1.AssetManageConfirm__c = true;
    //     insert assetC1;

    //     Consum_Apply__c ca = new Consum_Apply__c();
    //     ca.DataMigration_Flag__c = true;
    //     insert ca;
    //     Consum_Apply_Equipment_Set__c caes = new Consum_Apply_Equipment_Set__c();
    //     caes.Consum_Apply__c = ca.Id;
    //     caes.Consum_Start_Date__c = Date.today().addDays(20);
    //     caes.DataMigration_Flag__c = true;
    //     insert caes;
    //     Consum_Apply_Equipment_Set_Detail__c caesd = new Consum_Apply_Equipment_Set_Detail__c();
    //     caesd.DataMigration_Flag__c = true;
    //     caesd.Consum_Apply__c = ca.Id;
    //     caesd.Consum_Apply_Equipment_Set__c = caes.Id;
    //     caesd.Asset__c = assetC1.Id;
    //     caesd.DeliverySlip__c = slip.id;
    //     caesd.Cancel_Select__c = false;
    //     caesd.Consum_Start_Date__c = caes.Consum_Start_Date__c;
    //     caesd.Trial_User__c = '我';
    //     caesd.Follower_User__c = UserInfo.getUserId();
    //     insert caesd; // 草案中
    //     System.Test.startTest();
    //     update slip;
    //     System.Test.stopTest();

    // }
}