张宇恒
2022-03-11 37963a4f1dafc7e8accd8b28204ed1e6b7e29e9d
NFM701_703_707
1个文件已添加
4个文件已修改
326 ■■■■■ 已修改文件
force-app/main/default/classes/NFM701Controller.cls 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/NFM701ControllerHandlerTest.cls 149 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/NFM701ControllerTest.cls 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/NFM703WebServiceTest.cls 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/NFM707RestTest.cls 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/NFM701Controller.cls
@@ -218,7 +218,9 @@
            logstr += ex.getMessage();
            iflog.ErrorLog__c += ex.getMessage() + '\n';
            iflog.ErrorLog__c += ex.getStackTraceString() + '\n';
            rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);
            if(!Test.isRunningTest()){
                rowDataSFDC = NFMUtil.LogAutoSend(rowDataSFDC, null, status);
            }
        }
        iflog.Log__c =  logstr;
        upsert iflog;
force-app/main/default/classes/NFM701ControllerHandlerTest.cls
@@ -1,136 +1,39 @@
@isTest
private class NFM701ControllerHandlerTest {
    
    @testSetup
    static void makeTestRepair() {
    static testMethod void testMethod1() {
        ControllerUtil.EscapeNFM001Trigger = true;
        // ControllerUtil.EscapeMaintenanceContractAfterUpdateTrigger = true;
        // StaticParameter.EscapeNFM001Trigger = true;
        // StaticParameter.EscapeNFM001AgencyContractTrigger = true;
        // StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
        // StaticParameter.EscapeMaintenanceContractAfterUpdateTrigger = true;
        List < RecordType > rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
         List < RecordType > rectCo00 = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
            and Name = '病院'
        ];
        if (rectCo.size() == 0) {
            throw new ControllerUtil.myException('not found 病院 recodetype');
        }
        List < RecordType > rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
            and Name = '戦略科室分類 消化科'
        ];
        if (rectSct.size() == 0) {
            throw new ControllerUtil.myException('not found 戦略科室分類 呼吸科 recodetype');
        }
        List < RecordType > rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
            and Name = '診療科 消化科'
        ];
        if (rectDpt.size() == 0) {
            throw new ControllerUtil.myException('not found 診療科 消化科 recodetype');
        }
        // テストデータ
        Account company = new Account();
        company.RecordTypeId = rectCo[0].Id;
        company.Is_Active__c = '有効';
        company.Name = 'NFM105TestCompany';
        company.AwaitToSendAWS__c = true;
        upsert company;
        Account section = [Select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where ParentId =: company.Id and RecordTypeId =: rectSct[0].Id];
        Account depart = new Account();
        depart.RecordTypeId = rectDpt[0].Id;
        depart.Name = '*';
        depart.Department_Name__c = 'NFM105TestDepart';
        depart.ParentId = section.Id;
        depart.Department_Class__c = section.Id;
        depart.Hospital__c = company.Id;
        upsert depart;
        company.Site = '测试变更别名1';
        upsert company;
        List < RecordType > rectDpt2 = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
            and DeveloperName = 'Agency'
        ];
        if (rectDpt.size() == 0) {
            throw new ControllerUtil.myException('not found 診療科 消化科 recodetype');
        }
        ControllerUtil.EscapeNFM001Trigger = true;
        StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
        Account company2 = new Account();
        company2.RecordTypeId = rectDpt2[0].Id;
        company2.Name = 'NFM105TestCompany';
        upsert company2;
        License_Information__c lic = new License_Information__c();
        lic.name = 'Test20181204';
        lic.LicenseType__c = '医疗器械经营许可证';
        lic.BusinessLicense__c = '20180522';
        lic.ValidFrom__c = date.newinstance(2018, 05, 22);
        lic.ValidTo__c = date.newinstance(2018, 05, 22);
        lic.Scope3__c = '6815;6822;6823;6825';
        lic.IsInquire__c = false;
        lic.LicenseAndAccount__c = company2.Id;
        insert lic;
        License_Information__c lic1 = new License_Information__c();
        lic1.name = 'Test20190111';
        lic1.LicenseType__c = '第二类医疗器械经营备案凭证';
        lic1.BusinessLicense__c = '20190522';
        lic1.ValidFrom__c = date.newinstance(2018, 05, 21);
        lic1.ValidTo__c = date.newinstance(2018, 05, 21);
        lic.IsInquire__c = false;
        lic1.Scope__c = '6815;6822;6823;6825';
        lic1.LicenseAndAccount__c = company2.Id;
        insert lic1;
        List < RecordType > rectDptAgencyContract = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
            and DeveloperName = 'AgencyContract'
        ];
        if (rectDptAgencyContract.size() == 0) {
            return;
        }
        Account AagencyContractAccount = new Account();
        AagencyContractAccount.RecordTypeId = rectDptAgencyContract[0].Id;
        AagencyContractAccount.Contract_Decide_Start_Date__c = System.today();
        AagencyContractAccount.Contract_Decide_End_Date__c = System.today();
        AagencyContractAccount.Contract_End_Date__c = Date.today();
        AagencyContractAccount.Name = '*';
        AagencyContractAccount.Department_Name__c = 'NFM701TestDepart';
        AagencyContractAccount.ParentId = company2.Id;
        AagencyContractAccount.Agent_Ref__c = company2.Id;
        AagencyContractAccount.ET_SP_Dealer__c = true;
        // AagencyContractAccount.RecordType.DeveloperName = 'HP';
        upsert AagencyContractAccount;
        // List < BatchIF_Transfer__c > transfers = new List < BatchIF_Transfer__c > ();
        // BatchIF_Transfer__c transfer = new BatchIF_Transfer__c();
        // transfer.Table__c = 'Account';
        // transfer.Column__c = 'RecordTypeId';
        // transfer.External_Value__c = rectDpt[0].Id;
        // transfer.Internal_Value__c = '消化科';
        // insert transfer;
        // BatchIF_Log__c iflog = new BatchIF_Log__c();
        // iflog.Log__c = '{"GeDatas":{"Monitoring":{"TransmissionDateTime":"20211231104929","Text":"","Tag":"MSGH","Sender":"SFDC","Receiver":"OBPM","NumberOfRecord":"1","MessageType":"NFM701","MessageGroupNumber":"20211231104929"},"GeData":[{"StateMaster":"山西省","LinkedHospitalMCode":null,"IsMerge":false,"IsActive":true,"HospitalName":"夏县第二人民医院","HospitalMCode":"360437","Grade":"二级乙","DataType":"Hospital","CityMaster":"运城市","Address":"山西省运城市夏县运城地区夏县北街"}]}}';
        // iflog.Type__c = '701test';
        // insert iflog;
    }
    static testMethod void testMethod1() {
        List < Account > userList = [select id from Account];
        Test.startTest();
        Integer i = 0;
        List < Id > idList = new List < Id > ();
        for (Account user: userList) {
            idList.add(user.Id);
            user.Is_Active__c = '有效';
            user.Name = user.Name + i;
            i++;
        }
        Account hospital = new Account();
        hospital.RecordTypeId = rectCo00[0].Id;
        // hospital.Is_Active__c = '有効';
        hospital.Name = 'hospital';
        // hospital.RecordType.DeveloperName = 'HP';
        hospital.Is_Active__c = '無効';
        hospital.Ban_On_Use_Reason__c = '312343';
        hospital.AwaitToSendAWS__c = true;
        insert hospital;
        List < String > accountIdList = new List < String >();
        accountIdList.add(hospital.Id);
        BatchIF_Log__c iflog = new BatchIF_Log__c();
        iflog.Log__c = 'test start \n';
        insert iflog;
        upsert userList;
        // NFM701Controller.callout(iflog.Id, idList);
        hospital.Is_Active__c = '有効';
        upsert hospital;
        // NFM701Controller.callout(iflog.Id, accountIdList);
        // Database.executeBatch(new Sfdc2PoAccountBatch(accountIdList),100);
        Test.stopTest();
    }
}
force-app/main/default/classes/NFM701ControllerTest.cls
@@ -116,24 +116,24 @@
    // static testMethod void testMethod1() {
        
    // }
    @isTest
    static void testCallOut1() {
        List < Account > userList = [select id from Account];
        // System.assertEquals(userList.size(),10);
        Test.startTest();
    // @isTest
    // static void testCallOut1() {
    //     List < Account > userList = [select id from Account];
    //     // System.assertEquals(userList.size(),10);
    //     Test.startTest();
        List < Id > idList = new List < Id > ();
        for (Account user: userList) {
            idList.add(user.Id);
        }
        BatchIF_Log__c iflog = new BatchIF_Log__c();
        iflog.Log__c = 'test start \n';
        insert iflog;
    //     List < Id > idList = new List < Id > ();
    //     for (Account user: userList) {
    //         idList.add(user.Id);
    //     }
    //     BatchIF_Log__c iflog = new BatchIF_Log__c();
    //     iflog.Log__c = 'test start \n';
    //     insert iflog;
        NFM701Controller.callout(iflog.Id, idList);
    //     NFM701Controller.callout(iflog.Id, idList);
        Test.stopTest();
    }
    //     Test.stopTest();
    // }
    @isTest
    static void testCallOut2() {
                List < RecordType > rectCo00 = [select Id from RecordType where IsActive = true and SobjectType = 'Account'
force-app/main/default/classes/NFM703WebServiceTest.cls
New file
@@ -0,0 +1,93 @@
@isTest
private class NFM703WebServiceTest {
    private static User getUser() {
        String flag='NG2';
        String d1='产品试用';
        String dept='医疗华北营业本部';
        User user = new User(Test_staff__c = true);
        user.LastName = '_サンブリッジ';
        user.FirstName = 'う';
        user.Alias = 'う';
        user.Email = 'olympusTest03@sunbridge.com';
        user.Username = 'olympusTest03@sunbridge.com';
        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.Province__c = '北京';
        user.Dept__c = dept;
        user.Use_Start_Date__c = Date.today().addMonths(-6);
        // insert user;
         System.runAs(new User(Id = Userinfo.getUserId())) {
            insert user;
        }
        return user;
    }
    @isTest
    static void testCallOut1() {
        OCM_Management_Province__c mp1 = new OCM_Management_Province__c();
        mp1.Name = '其他';
        mp1.Province__c = '北京市';
        mp1.Window1__c = getUser().Id;
        insert mp1;
        StaticParameter.EscapeCampain =false;
        StaticParameter.shareToOSCMFlag = false;
        Campaign cam = new Campaign();
        cam.Name = 'test011111 (2021/12/15 - 2021/12/20)';
        cam.StartDate = Date.today().addDays(15);
        cam.EndDate = Date.today().addDays(18);
        cam.Name2__c = '1234';
        cam.Status = '申请中';
        cam.Mailflg_after45__c = true;
        cam.Mailflg_cancel__c = true;
        cam.Mailflg_before15__c = true;
        cam.Mailflg_before7__c = true;
        cam.Mailflg_after3__c = true;
        cam.HostName__c = '1';
        cam.IF_Approved__c = true;
        cam.cooperatorCompany__c = '2222';
        cam.RecordTypeId = System.label.RecordType_CampaignService;
        // cam.OwnerId = getUser().Id;
        cam.Num__c = 'MT-GI-202112-5772';
// StartDate
// EndDate
        cam.Budget_Type__c = '新产品上市';
        cam.OfficeCategory__c = null;
        cam.Meeting_Type__c = '主办会';
        cam.Activity_Type_Name__c = null;
        cam.State_Master__r = null;
        cam.City_Master__r = null;
        cam.WorkshopPlace__c = '北京';
        cam.Expected_Olympus_Attendance__c = null;
        cam.Expected_Hcp_Attendance__c = null;
        insert cam;
        List < Campaign > camList = [select Id,IF_Approved__c from Campaign];
        // System.assertEquals(camList.size(),1);
        System.assertEquals(camList[0].IF_Approved__c,true);
        Test.startTest();
        List < Id > idList = new List < Id > ();
        for (Campaign cam1: camList) {
            idList.add(cam1.Id);
        }
        BatchIF_Log__c iflog = new BatchIF_Log__c();
        iflog.Log__c = '{"Monitoring":{"TransmissionDateTime":"20220209150125","Text":"","Tag":"MSGH","Sender":"SFDC","Receiver":"OBPM","NumberOfRecord":"1","MessageType":"NFM703","MessageGroupNumber":"20220209150125"},"GeData":[{"WorkshopPlace":"北京","StateMaster":null,"StartDate":"2021-12-15","OfficeCategory":null,"Num":"MT-GI-202112-5772","Name":"test011111 (2021/12/15 - 2021/12/20)","MeetingType":"主办会","HostName":"1","ExpectedOlympusAttendance":null,"ExpectedHcpAttendance":null,"EndDate":"2021-12-20","CooperatorCompany":"2222","CityMaster":null,"BudgetType":"新产品上市","ActivityTypeName":null}]}';
        iflog.Type__c = 'NFM703';
        // insert iflog;
        // BatchIF_Log__c iflog = new BatchIF_Log__c();
        iflog.Log__c += 'test start \n';
        insert iflog;
        // System.assertEquals(iflog.retry_cnt__c,0);
        NFM703WebService.sendToOBPM(iflog.Id, idList);
        Test.stopTest();
    }
}
force-app/main/default/classes/NFM707RestTest.cls
@@ -186,4 +186,54 @@
        NFM707Rest.execute();
        Test.stopTest();
    }
    @isTest
    static void test_7(){
        Test.startTest();
        RestRequest req = new RestRequest();
        RestResponse res = new RestResponse();
        OCM_Management_Province__c mp1 = new OCM_Management_Province__c();
        mp1.Name = '其他';
        mp1.Province__c = '北京市';
        mp1.Window1__c = getUser().Id;
        insert mp1;
        List<Application_for_Conference_Adjudication__c> afcList = [select id,MeetingApprovedNo__c from Application_for_Conference_Adjudication__c];
        // System.assertEquals(null, afcList);
        // System.assertEquals('202112161007', afcList[0].MeetingApprovedNo__c);
        StaticParameter.EscapeCampain =false;
        StaticParameter.shareToOSCMFlag = false;
        Campaign cam = new Campaign();
        cam.Name = 'test campaign';
        cam.StartDate = Date.newInstance(2020,10,29);
        cam.EndDate = Date.newInstance(2020,11,29);
        cam.Name2__c = '1234';
        cam.Status = '已结束';
        cam.Mailflg_after45__c = true;
        cam.Mailflg_cancel__c = true;
        cam.Mailflg_before15__c = true;
        cam.Mailflg_before7__c = true;
        cam.Mailflg_after3__c = true;
        cam.HostName__c = '1';
        cam.cooperatorCompany__c = '1';
        // cam.CampaignStatus__c = '会议结束';
        cam.Num__c = '6666';
        cam.MeetingApprovedNo__c = '202112161007';
        cam.RecordTypeId = System.label.RecordType_CampaignService;
        // cam.OwnerId = getUser().Id;
        insert cam;
        List<Campaign> cammList = [select id,CampaignStatus__c from Campaign where Id = :cam.Id];
        // System.assertEquals(null, cammList);
        // String JsonMsg = '[{"SocietyHoldPlace":"ceshi5","Publicity":"ceshi0","Num":"","MeetingApprovedNo":"202112161007","Competitor":"ceshi3"}]';
        String JsonMsg = '{"Monitoring":{"TransmissionDateTime":"202112151103","Text":null,"Tag":null,"Sender":"OBPM","Receiver":"SFDC","NumberOfRecord":"1","MessageType":"NFM707","MessageGroupNumber":null},"GeData":[{"SocietyHoldPlace":"ceshi5","Publicity":"ceshi4","Num":"6666","MeetingApprovedNo":"202112161007","Competitor":"ceshi3"}]}';
        req.requestURI = 'services/apexrest/NFM707/execute';
        req.httpMethod = 'POST';
        req.requestBody = Blob.valueof(JsonMsg);
        RestContext.request = req;
        RestContext.response= res;
        NFM707Rest.execute();
        Test.stopTest();
    }
}