| | |
| | | @isTest(SeeAllData = false) |
| | | @isTest(SeeAllData=false) |
| | | public class DNUpsertBatchTest { |
| | | static Account company; |
| | | static Account section1; // 呼吸科 |
| | | static Account section2; // 消化科 |
| | | static Account section1; // 呼吸科 |
| | | static Account section2; // 消化科 |
| | | static Account olympus; |
| | | static Account olympus1; // 呼吸科 |
| | | static Account olympus2; // 消化科 |
| | | static Account olympus1; // 呼吸科 |
| | | static Account olympus2; // 消化科 |
| | | static Account depart1; |
| | | static Account depart2; |
| | | @testSetup |
| | |
| | | ID rectDpt2ID = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_GI').getRecordTypeId(); |
| | | |
| | | // テストデータ |
| | | company = new Account(RecordTypeId = rectCoID, Name = 'NFM110TestCompany', FSE_SP_Main_Leader__c = UserInfo.getUserId(), FSE_GI_Main_Leader__c = UserInfo.getUserId()); |
| | | company = new Account( |
| | | RecordTypeId = rectCoID, |
| | | Name = 'NFM110TestCompany', |
| | | FSE_SP_Main_Leader__c = UserInfo.getUserId(), |
| | | FSE_GI_Main_Leader__c = UserInfo.getUserId() |
| | | ); |
| | | olympus = new Account(RecordTypeId = rectCoID, AgentCode_Ext__c = '9999999', Name = 'olympus'); |
| | | insert new Account[] {company, olympus}; |
| | | company = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Id = :company.Id]; |
| | | section1 = [select Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c from Account where ParentId = :company.Id and RecordType.name = '戦略科室分類 呼吸科']; |
| | | section2 = [select Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c from Account where ParentId = :company.Id and RecordType.name = '戦略科室分類 消化科']; |
| | | olympus1 = [select Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c from Account where ParentId = :olympus.Id and RecordType.name = '戦略科室分類 呼吸科']; |
| | | olympus2 = [select Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c from Account where ParentId = :olympus.Id and RecordType.name = '戦略科室分類 消化科']; |
| | | insert new List<Account>{ company, olympus }; |
| | | company = [SELECT Management_Code__c, Management_Code_Auto__c, Name, Id FROM Account WHERE Id = :company.Id]; |
| | | section1 = [ |
| | | SELECT Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c |
| | | FROM Account |
| | | WHERE ParentId = :company.Id AND RecordType.name = '戦略科室分類 呼吸科' |
| | | ]; |
| | | section2 = [ |
| | | SELECT Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c |
| | | FROM Account |
| | | WHERE ParentId = :company.Id AND RecordType.name = '戦略科室分類 消化科' |
| | | ]; |
| | | olympus1 = [ |
| | | SELECT Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c |
| | | FROM Account |
| | | WHERE ParentId = :olympus.Id AND RecordType.name = '戦略科室分類 呼吸科' |
| | | ]; |
| | | olympus2 = [ |
| | | SELECT Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c |
| | | FROM Account |
| | | WHERE ParentId = :olympus.Id AND RecordType.name = '戦略科室分類 消化科' |
| | | ]; |
| | | System.debug('section1.Department_Class_Label__c=' + section1.Department_Class_Label__c); |
| | | System.debug('section2.Department_Class_Label__c=' + section2.Department_Class_Label__c); |
| | | depart1 = new Account(RecordTypeId = rectDpt1ID, Name = '*', ParentId = section1.Id, Department_Class__c = section1.Id, Hospital__c = company.Id, |
| | | Department_Name__c = 'NFM110TestDepart1'); |
| | | depart2 = new Account(RecordTypeId = rectDpt2ID, Name = '*', ParentId = section2.Id, Department_Class__c = section2.Id, Hospital__c = company.Id, |
| | | Department_Name__c = 'NFM110TestDepart2'); |
| | | Account ocm = new Account(RecordTypeId = rectDpt2ID, Name = '*', ParentId = section2.Id, Department_Class__c = section2.Id, Hospital__c = company.Id, |
| | | AgentCode_Ext__c = '9999900', Department_Name__c = 'NFM110TestDepart3'); |
| | | Account olympus_return = new Account(RecordTypeId = rectDpt2ID, Name = '*', ParentId = olympus2.Id, Department_Class__c = olympus2.Id, Hospital__c = olympus.Id, |
| | | AgentCode_Ext__c = '9999901', Department_Name__c = 'olympus_return'); |
| | | insert new Account[] {depart1, depart2, ocm, olympus_return}; |
| | | depart1 = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Id = :depart1.Id]; |
| | | depart2 = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Id = :depart2.Id]; |
| | | Product2 prd = new Product2(Name = 'NFM110Prd1', ProductCode = 'NFM110Prd1', ProductCode_Ext__c = 'NFM110Prd1', Manual_Entry__c = false); |
| | | depart1 = new Account( |
| | | RecordTypeId = rectDpt1ID, |
| | | Name = '*', |
| | | ParentId = section1.Id, |
| | | Department_Class__c = section1.Id, |
| | | Hospital__c = company.Id, |
| | | Department_Name__c = 'NFM110TestDepart1' |
| | | ); |
| | | depart2 = new Account( |
| | | RecordTypeId = rectDpt2ID, |
| | | Name = '*', |
| | | ParentId = section2.Id, |
| | | Department_Class__c = section2.Id, |
| | | Hospital__c = company.Id, |
| | | Department_Name__c = 'NFM110TestDepart2' |
| | | ); |
| | | Account ocm = new Account( |
| | | RecordTypeId = rectDpt2ID, |
| | | Name = '*', |
| | | ParentId = section2.Id, |
| | | Department_Class__c = section2.Id, |
| | | Hospital__c = company.Id, |
| | | AgentCode_Ext__c = '9999900', |
| | | Department_Name__c = 'NFM110TestDepart3' |
| | | ); |
| | | Account olympus_return = new Account( |
| | | RecordTypeId = rectDpt2ID, |
| | | Name = '*', |
| | | ParentId = olympus2.Id, |
| | | Department_Class__c = olympus2.Id, |
| | | Hospital__c = olympus.Id, |
| | | AgentCode_Ext__c = '9999901', |
| | | Department_Name__c = 'olympus_return' |
| | | ); |
| | | insert new List<Account>{ depart1, depart2, ocm, olympus_return }; |
| | | depart1 = [SELECT Management_Code__c, Management_Code_Auto__c, Name, Id FROM Account WHERE Id = :depart1.Id]; |
| | | depart2 = [SELECT Management_Code__c, Management_Code_Auto__c, Name, Id FROM Account WHERE Id = :depart2.Id]; |
| | | Product2 prd = new Product2( |
| | | Name = 'NFM110Prd1', |
| | | ProductCode = 'NFM110Prd1', |
| | | ProductCode_Ext__c = 'NFM110Prd1', |
| | | Manual_Entry__c = false |
| | | ); |
| | | insert prd; |
| | | Product2__c pro1 = new Product2__c(Name='NFM110Prd1',OT_CODE_Text__c='NFM110Prd1',Product2__c=prd.id); |
| | | Product2__c pro1 = new Product2__c(Name = 'NFM110Prd1', OT_CODE_Text__c = 'NFM110Prd1', Product2__c = prd.id); |
| | | insert pro1; |
| | | |
| | | NFM110Rest.GeneralData generalData1 = new NFM110Rest.GeneralData(); |
| | |
| | | ProductsDelivery.Monitoring = new NFMUtil.Monitoring(); |
| | | ProductsDelivery.Monitoring.MessageGroupNumber = nowStr + '01'; |
| | | |
| | | ProductsDelivery.GeneralData = new NFM110Rest.GeneralData[] { generalData1 }; |
| | | ProductsDelivery.GeneralData = new List<NFM110Rest.GeneralData>{ generalData1 }; |
| | | generalData1.DeliveryNote = 'DeliveryNote'; |
| | | NFM110Rest.DnInformation dnInfo1 = new NFM110Rest.DnInformation(); |
| | | generalData1.DnInformation = new NFM110Rest.DnInformation[] { dnInfo1 }; |
| | | generalData1.EndUserNo = company.Management_Code_Auto__c; |
| | | generalData1.DepartmentNo = depart1.Management_Code_Auto__c; |
| | | generalData1.DnInformation = new List<NFM110Rest.DnInformation>{ dnInfo1 }; |
| | | generalData1.EndUserNo = company.Management_Code_Auto__c; |
| | | generalData1.DepartmentNo = depart1.Management_Code_Auto__c; |
| | | generalData1.InquiryNo = 'test0001' + ','; |
| | | dnInfo1.SorLMark = 'S'; |
| | | dnInfo1.OTCode = prd.ProductCode_Ext__c; |
| | | dnInfo1.SorLMark = 'S'; |
| | | dnInfo1.OTCode = prd.ProductCode_Ext__c; |
| | | dnInfo1.SerialNoorLotNo = '2577010001675'; |
| | | generalData1.DeliveryNote = '11111'; |
| | | |
| | | |
| | | NFM110Rest.GeneralData generalData2 = new NFM110Rest.GeneralData(); |
| | | NFM110Rest.ProductsDelivery ProductsDelivery1 = new NFM110Rest.ProductsDelivery(); |
| | |
| | | ProductsDelivery1.Monitoring = new NFMUtil.Monitoring(); |
| | | ProductsDelivery1.Monitoring.MessageGroupNumber = nowStr1 + '01'; |
| | | |
| | | ProductsDelivery1.GeneralData = new NFM110Rest.GeneralData[] { generalData1 }; |
| | | ProductsDelivery1.GeneralData = new List<NFM110Rest.GeneralData>{ generalData1 }; |
| | | generalData2.DeliveryNote = ''; |
| | | NFM110Rest.DnInformation dnInfo2 = new NFM110Rest.DnInformation(); |
| | | generalData2.DnInformation = new NFM110Rest.DnInformation[] { dnInfo2 }; |
| | | generalData2.EndUserNo = company.Management_Code_Auto__c; |
| | | generalData2.DepartmentNo = depart1.Management_Code_Auto__c; |
| | | generalData2.DnInformation = new List<NFM110Rest.DnInformation>{ dnInfo2 }; |
| | | generalData2.EndUserNo = company.Management_Code_Auto__c; |
| | | generalData2.DepartmentNo = depart1.Management_Code_Auto__c; |
| | | generalData2.InquiryNo = 'test0001' + ','; |
| | | dnInfo2.SorLMark = 'S'; |
| | | dnInfo2.OTCode = prd.ProductCode_Ext__c; |
| | | dnInfo2.SorLMark = 'S'; |
| | | dnInfo2.OTCode = prd.ProductCode_Ext__c; |
| | | dnInfo2.SerialNoorLotNo = '2577010001675'; |
| | | generalData2.DeliveryNote = ''; |
| | | |
| | | |
| | | BatchIF_Log__c rowData = NFMUtil.saveRowData(ProductsDelivery1.Monitoring, 'NFM110', ProductsDelivery1.GeneralData); |
| | | |
| | | |
| | | } |
| | | @isTest |
| | | private static void test_void() { |
| | | list<BatchIF_Log__c> rowDataList = [select id from BatchIF_Log__c where RowDataFlg__c = true ]; |
| | | private static void test_void() { |
| | | list<BatchIF_Log__c> rowDataList = [SELECT id FROM BatchIF_Log__c WHERE RowDataFlg__c = TRUE]; |
| | | rowDataList[0].IsUpsertDN__c = true; |
| | | update rowDataList; |
| | | System.Test.startTest(); |
| | | Database.executeBatch(new DNUpsertBatch(rowDataList[0].Id),1); |
| | | System.Test.startTest(); |
| | | Database.executeBatch(new DNUpsertBatch(rowDataList[0].Id), 1); |
| | | System.Test.stopTest(); |
| | | } |
| | | @isTest |
| | | private static void test_checkSerialNoorLotNo() { |
| | | private static void test_checkSerialNoorLotNo() { |
| | | string a = 'strsA0trstr'; |
| | | string b = 'strA50trstr'; |
| | | string c = 'str250trstr'; |
| | | |
| | | |
| | | DNUpsertBatch.checkSerialNoorLotNo(a); |
| | | DNUpsertBatch.checkSerialNoorLotNo(b); |
| | | DNUpsertBatch.checkSerialNoorLotNo(c); |
| | |
| | | //跑创建电子签收单的方法 |
| | | @isTest |
| | | private static void test_upsertESign() { |
| | | |
| | | |
| | | // 检索出签收单,并生成签收单map key 为DN号 |
| | | map <string, eSignForm__c> eSFMap = new map <string, eSignForm__c>(); |
| | | |
| | | |
| | | map<string, eSignForm__c> eSFMap = new Map<string, eSignForm__c>(); |
| | | |
| | | //新建电子签收单 |
| | | eSignForm__c eSignForm = new eSignForm__c(); |
| | | eSignForm.Name = '::测试电子签收单'; |
| | | eSignForm.DNName__c = '112233'; |
| | | |
| | | |
| | | eSFMap.put(eSignForm.DNName__c, eSignForm); |
| | | |
| | | |
| | | Statu_Achievements_DN__c sad = new Statu_Achievements_DN__c(); |
| | | Statu_Achievements_DN__c sad = new Statu_Achievements_DN__c(); |
| | | sad.Name = '112233'; |
| | | sad.DeliveryDate_Raw__c = '1111'; |
| | | sad.Sales_assistant_name_text__c = UserInfo.getUserId(); |
| | | sad.RC_Manager__c = UserInfo.getUserId(); |
| | | sad.EsignTestAccount__c =true; |
| | | sad.EsignTestAccount__c = true; |
| | | sad.ReturnMark__c = false; |
| | | |
| | | |
| | | |
| | | list<Statu_Achievements_DN__c> DNList = new list<Statu_Achievements_DN__c>(); |
| | | list<Statu_Achievements_DN__c> DNList = new List<Statu_Achievements_DN__c>(); |
| | | DNList.add(sad); |
| | | |
| | | |
| | | DNUpsertBatch.SetupeSignForm(eSFMap, DNList); |
| | | |
| | | |
| | | } |
| | | //跑创建签收单明细的方法 |
| | | @isTest |
| | | private static void test_upsertESignLineItems() { |
| | | |
| | | |
| | | list<Statu_Achievements_DN_details__c> insertSADNdetailList = new list<Statu_Achievements_DN_details__c>(); |
| | | list<Statu_Achievements_DN_details__c> insertSADNdetailList = new List<Statu_Achievements_DN_details__c>(); |
| | | |
| | | Statu_Achievements_DN_details__c saddc = new Statu_Achievements_DN_details__c(); |
| | | saddc.DNName__c = '112233'; |
| | | saddc.CaseNumber__c = '112233'; |
| | | saddc.OTCode_Raw__c= '112233'; |
| | | saddc.OTCode_Raw__c = '112233'; |
| | | insertSADNdetailList.add(saddc); |
| | | |
| | | |
| | | map <string, eSignFormLineItem__c> eSFLMap = new map <string, eSignFormLineItem__c>(); |
| | | |
| | | map<string, eSignFormLineItem__c> eSFLMap = new Map<string, eSignFormLineItem__c>(); |
| | | |
| | | //新建电子签收单明细 |
| | | eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); |
| | | eSignFormLineItem.Name = '::电子签收单明细'; |
| | |
| | | eSignFormLineItem.DNProductNo__c = '112233-112233-112233'; |
| | | eSignFormLineItem.Count__c = 0; |
| | | |
| | | eSFLMap.put(eSignFormLineItem.DNProductNo__c,eSignFormLineItem); |
| | | eSFLMap.put(eSignFormLineItem.DNProductNo__c, eSignFormLineItem); |
| | | |
| | | // 检索出签收单,并生成签收单map key 为DN号 |
| | | map <string, eSignForm__c> eSFMap = new map <string, eSignForm__c>(); |
| | | map<string, eSignForm__c> eSFMap = new Map<string, eSignForm__c>(); |
| | | |
| | | //新建电子签收单 |
| | | eSignForm__c eSignForm = new eSignForm__c(); |
| | | eSignForm.Name = '::测试电子签收单'; |
| | | eSignForm.DNName__c = '112233'; |
| | | |
| | | |
| | | eSFMap.put(eSignForm.DNName__c, eSignForm); |
| | | |
| | | Map<String, Product2> prdsMap = new Map<String, Product2>(); |
| | | Product2 prd = new Product2(); |
| | | Product2 prd = new Product2(); |
| | | prd.ProductCode_Ext__c = '112233'; |
| | | |
| | | prdsMap.put(prd.ProductCode_Ext__c,prd); |
| | | prdsMap.put(prd.ProductCode_Ext__c, prd); |
| | | |
| | | |
| | | DNUpsertBatch.SetupeSignFormLineItems(insertSADNdetailList,eSFLMap,eSFMap, prdsMap); |
| | | |
| | | |
| | | DNUpsertBatch.SetupeSignFormLineItems(insertSADNdetailList, eSFLMap, eSFMap, prdsMap); |
| | | //Add By DTT - Li Jun Start 20230425 |
| | | OCM_Management_Province__c ocsmTest = new OCM_Management_Province__c(); |
| | | ocsmTest.Name = '其他'; |
| | | ocsmTest.Province__c = '北京市'; |
| | | ocsmTest.Window1__c = UserInfo.getUserId(); |
| | | insert ocsmTest; |
| | | Map<String, OCM_Management_Province__c> provinceMap = DNUpsertBatch.getManagementProvince(); |
| | | //Add by DTT - Li Jun End 20230425 |
| | | } |
| | | |
| | | } |
| | | } |