@isTest private class updateESignBatchTest { //测试经销商收货 static testMethod void testMethod1() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attach.ContentType = 'application/pdf'; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attach1.ContentType = 'application/pdf'; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } //测试经销商确认 static testMethod void testMethod2() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商确认'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商确认'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attach.ContentType = 'image/jpeg'; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attach1.ContentType = 'image/jpeg'; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } //测试医院收货 static testMethod void testMethod3() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '医院收货'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '医院收货'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } //测试医院确认 static testMethod void testMethod4() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '医院确认'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '医院确认'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } static testMethod void testMethod5() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = 'OCM直接販売', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单7 eSignFormEntry__c eSignFormEntry = new eSignFormEntry__c(); eSignFormEntry.Name = '::电子签收单录入表'; eSignFormEntry.eSignForm__c = eSignForm.Id; eSignFormEntry.entryType__c = '经销商收货'; // eSignFormEntry.createdDate = Date.today().addDays(-7); insert eSignFormEntry; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; // eSignFormEntry1.createdDate = Date.today().addDays(-3); insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '经销商确认'; // eSignFormEntry3.createdDate = Date.today().addDays(-7); insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '经销商确认'; // eSignFormEntry4.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; eSignFormEntry__c eSignFormEntry5 = new eSignFormEntry__c(); eSignFormEntry5.Name = '::电子签收单录入表'; eSignFormEntry5.eSignForm__c = eSignForm.Id; eSignFormEntry5.entryType__c = '医院收货'; // eSignFormEntry5.createdDate = Date.today().addDays(-7); insert eSignFormEntry5; eSignFormEntry__c eSignFormEntry6 = new eSignFormEntry__c(); eSignFormEntry6.Name = '::电子签收单录入表'; eSignFormEntry6.eSignForm__c = eSignForm.Id; eSignFormEntry6.entryType__c = '医院收货'; // eSignFormEntry6.createdDate = Date.today().addDays(-2); insert eSignFormEntry6; eSignFormEntry__c eSignFormEntry8 = new eSignFormEntry__c(); eSignFormEntry8.Name = '::电子签收单录入表'; eSignFormEntry8.eSignForm__c = eSignForm.Id; eSignFormEntry8.entryType__c = '医院确认'; insert eSignFormEntry8; eSignFormEntry__c eSignFormEntry7 = new eSignFormEntry__c(); eSignFormEntry7.Name = '::电子签收单录入表'; eSignFormEntry7.eSignForm__c = eSignForm.Id; eSignFormEntry7.entryType__c = '医院确认'; insert eSignFormEntry7; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Date d = Date.today(); Database.executeBatch(new updateESignBatch(d), 20); Test.stopTest(); } static testMethod void testMethod6() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = 'OCM直接販売', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单7 eSignFormEntry__c eSignFormEntry = new eSignFormEntry__c(); eSignFormEntry.Name = '::电子签收单录入表'; eSignFormEntry.eSignForm__c = eSignForm.Id; eSignFormEntry.entryType__c = '经销商收货'; // eSignFormEntry.createdDate = Date.today().addDays(-7); insert eSignFormEntry; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; // eSignFormEntry1.createdDate = Date.today().addDays(-3); insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '经销商确认'; // eSignFormEntry3.createdDate = Date.today().addDays(-7); insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '经销商确认'; // eSignFormEntry4.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; eSignFormEntry__c eSignFormEntry5 = new eSignFormEntry__c(); eSignFormEntry5.Name = '::电子签收单录入表'; eSignFormEntry5.eSignForm__c = eSignForm.Id; eSignFormEntry5.entryType__c = '医院收货'; // eSignFormEntry5.createdDate = Date.today().addDays(-7); insert eSignFormEntry5; eSignFormEntry__c eSignFormEntry6 = new eSignFormEntry__c(); eSignFormEntry6.Name = '::电子签收单录入表'; eSignFormEntry6.eSignForm__c = eSignForm.Id; eSignFormEntry6.entryType__c = '医院收货'; // eSignFormEntry6.createdDate = Date.today().addDays(-2); insert eSignFormEntry6; eSignFormEntry__c eSignFormEntry8 = new eSignFormEntry__c(); eSignFormEntry8.Name = '::电子签收单录入表'; eSignFormEntry8.eSignForm__c = eSignForm.Id; eSignFormEntry8.entryType__c = '医院确认'; insert eSignFormEntry8; eSignFormEntry__c eSignFormEntry7 = new eSignFormEntry__c(); eSignFormEntry7.Name = '::电子签收单录入表'; eSignFormEntry7.eSignForm__c = eSignForm.Id; eSignFormEntry7.entryType__c = '医院确认'; insert eSignFormEntry7; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Date startDate = Date.today(); Date enDdate = Date.today().addDays(-1); Database.executeBatch(new updateESignBatch(startDate, enDdate), 20); Test.stopTest(); } static testMethod void testMethod7() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = 'OCM直接販売', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单7 eSignFormEntry__c eSignFormEntry = new eSignFormEntry__c(); eSignFormEntry.Name = '::电子签收单录入表'; eSignFormEntry.eSignForm__c = eSignForm.Id; eSignFormEntry.entryType__c = '经销商收货'; // eSignFormEntry.createdDate = Date.today().addDays(-7); insert eSignFormEntry; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; // eSignFormEntry1.createdDate = Date.today().addDays(-3); insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '经销商确认'; // eSignFormEntry3.createdDate = Date.today().addDays(-7); insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '经销商确认'; // eSignFormEntry4.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; eSignFormEntry__c eSignFormEntry5 = new eSignFormEntry__c(); eSignFormEntry5.Name = '::电子签收单录入表'; eSignFormEntry5.eSignForm__c = eSignForm.Id; eSignFormEntry5.entryType__c = '医院收货'; // eSignFormEntry5.createdDate = Date.today().addDays(-7); insert eSignFormEntry5; eSignFormEntry__c eSignFormEntry6 = new eSignFormEntry__c(); eSignFormEntry6.Name = '::电子签收单录入表'; eSignFormEntry6.eSignForm__c = eSignForm.Id; eSignFormEntry6.entryType__c = '医院收货'; // eSignFormEntry6.createdDate = Date.today().addDays(-2); insert eSignFormEntry6; eSignFormEntry__c eSignFormEntry8 = new eSignFormEntry__c(); eSignFormEntry8.Name = '::电子签收单录入表'; eSignFormEntry8.eSignForm__c = eSignForm.Id; eSignFormEntry8.entryType__c = '医院确认'; insert eSignFormEntry8; eSignFormEntry__c eSignFormEntry7 = new eSignFormEntry__c(); eSignFormEntry7.Name = '::电子签收单录入表'; eSignFormEntry7.eSignForm__c = eSignForm.Id; eSignFormEntry7.entryType__c = '医院确认'; insert eSignFormEntry7; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); List ids = new List(); ids.add(eSignForm.Id); Database.executeBatch(new updateESignBatch(ids), 20); Test.stopTest(); } static testMethod void testMethod8() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = 'OCM直接販売', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单7 eSignFormEntry__c eSignFormEntry = new eSignFormEntry__c(); eSignFormEntry.Name = '::电子签收单录入表'; eSignFormEntry.eSignForm__c = eSignForm.Id; eSignFormEntry.entryType__c = '经销商收货'; // eSignFormEntry.createdDate = Date.today().addDays(-7); insert eSignFormEntry; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; // eSignFormEntry1.createdDate = Date.today().addDays(-3); insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '经销商确认'; // eSignFormEntry3.createdDate = Date.today().addDays(-7); insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '经销商确认'; // eSignFormEntry4.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; eSignFormEntry__c eSignFormEntry5 = new eSignFormEntry__c(); eSignFormEntry5.Name = '::电子签收单录入表'; eSignFormEntry5.eSignForm__c = eSignForm.Id; eSignFormEntry5.entryType__c = '医院收货'; // eSignFormEntry5.createdDate = Date.today().addDays(-7); insert eSignFormEntry5; eSignFormEntry__c eSignFormEntry6 = new eSignFormEntry__c(); eSignFormEntry6.Name = '::电子签收单录入表'; eSignFormEntry6.eSignForm__c = eSignForm.Id; eSignFormEntry6.entryType__c = '医院收货'; // eSignFormEntry6.createdDate = Date.today().addDays(-2); insert eSignFormEntry6; eSignFormEntry__c eSignFormEntry8 = new eSignFormEntry__c(); eSignFormEntry8.Name = '::电子签收单录入表'; eSignFormEntry8.eSignForm__c = eSignForm.Id; eSignFormEntry8.entryType__c = '医院确认'; insert eSignFormEntry8; eSignFormEntry__c eSignFormEntry7 = new eSignFormEntry__c(); eSignFormEntry7.Name = '::电子签收单录入表'; eSignFormEntry7.eSignForm__c = eSignForm.Id; eSignFormEntry7.entryType__c = '医院确认'; insert eSignFormEntry7; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); String type = '经销商收货'; Database.executeBatch(new updateESignBatch(type), 20); Test.stopTest(); } static testMethod void testMethod9() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = 'OCM直接販売', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单7 eSignFormEntry__c eSignFormEntry = new eSignFormEntry__c(); eSignFormEntry.Name = '::电子签收单录入表'; eSignFormEntry.eSignForm__c = eSignForm.Id; eSignFormEntry.entryType__c = '经销商收货'; // eSignFormEntry.createdDate = Date.today().addDays(-7); insert eSignFormEntry; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; // eSignFormEntry1.createdDate = Date.today().addDays(-3); insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '经销商确认'; // eSignFormEntry3.createdDate = Date.today().addDays(-7); insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '经销商确认'; // eSignFormEntry4.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; eSignFormEntry__c eSignFormEntry5 = new eSignFormEntry__c(); eSignFormEntry5.Name = '::电子签收单录入表'; eSignFormEntry5.eSignForm__c = eSignForm.Id; eSignFormEntry5.entryType__c = '医院收货'; // eSignFormEntry5.createdDate = Date.today().addDays(-7); insert eSignFormEntry5; eSignFormEntry__c eSignFormEntry6 = new eSignFormEntry__c(); eSignFormEntry6.Name = '::电子签收单录入表'; eSignFormEntry6.eSignForm__c = eSignForm.Id; eSignFormEntry6.entryType__c = '医院收货'; // eSignFormEntry6.createdDate = Date.today().addDays(-2); insert eSignFormEntry6; eSignFormEntry__c eSignFormEntry8 = new eSignFormEntry__c(); eSignFormEntry8.Name = '::电子签收单录入表'; eSignFormEntry8.eSignForm__c = eSignForm.Id; eSignFormEntry8.entryType__c = '医院确认'; insert eSignFormEntry8; eSignFormEntry__c eSignFormEntry7 = new eSignFormEntry__c(); eSignFormEntry7.Name = '::电子签收单录入表'; eSignFormEntry7.eSignForm__c = eSignForm.Id; eSignFormEntry7.entryType__c = '医院确认'; insert eSignFormEntry7; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); List ids = new List(); ids.add(eSignForm.Id); Database.executeBatch(new updateESignBatch(ids, true), 20); Test.stopTest(); } static testMethod void testMethod10() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = 'OCM直接販売', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单7 eSignFormEntry__c eSignFormEntry = new eSignFormEntry__c(); eSignFormEntry.Name = '::电子签收单录入表'; eSignFormEntry.eSignForm__c = eSignForm.Id; eSignFormEntry.entryType__c = '经销商收货'; // eSignFormEntry.createdDate = Date.today().addDays(-7); insert eSignFormEntry; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; // eSignFormEntry1.createdDate = Date.today().addDays(-3); insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '经销商确认'; // eSignFormEntry3.createdDate = Date.today().addDays(-7); insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '经销商确认'; // eSignFormEntry4.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; eSignFormEntry__c eSignFormEntry5 = new eSignFormEntry__c(); eSignFormEntry5.Name = '::电子签收单录入表'; eSignFormEntry5.eSignForm__c = eSignForm.Id; eSignFormEntry5.entryType__c = '医院收货'; // eSignFormEntry5.createdDate = Date.today().addDays(-7); insert eSignFormEntry5; eSignFormEntry__c eSignFormEntry6 = new eSignFormEntry__c(); eSignFormEntry6.Name = '::电子签收单录入表'; eSignFormEntry6.eSignForm__c = eSignForm.Id; eSignFormEntry6.entryType__c = '医院收货'; // eSignFormEntry6.createdDate = Date.today().addDays(-2); insert eSignFormEntry6; eSignFormEntry__c eSignFormEntry8 = new eSignFormEntry__c(); eSignFormEntry8.Name = '::电子签收单录入表'; eSignFormEntry8.eSignForm__c = eSignForm.Id; eSignFormEntry8.entryType__c = '医院确认'; insert eSignFormEntry8; eSignFormEntry__c eSignFormEntry7 = new eSignFormEntry__c(); eSignFormEntry7.Name = '::电子签收单录入表'; eSignFormEntry7.eSignForm__c = eSignForm.Id; eSignFormEntry7.entryType__c = '医院确认'; insert eSignFormEntry7; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); String type = '经销商收货'; Date startDate = Date.today(); Date enDdate = Date.today().addDays(-1); Database.executeBatch(new updateESignBatch(type, true), 20); Test.stopTest(); } //测试经销商收货 static testMethod void testMethod11() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; eSignFormEntry__c eSignFormEntry3 = new eSignFormEntry__c(); eSignFormEntry3.Name = '::电子签收单录入表1'; eSignFormEntry3.eSignForm__c = eSignForm.Id; eSignFormEntry3.entryType__c = '医院收货'; insert eSignFormEntry3; eSignFormEntry__c eSignFormEntry4 = new eSignFormEntry__c(); eSignFormEntry4.Name = '::电子签收单录入表2'; eSignFormEntry4.eSignForm__c = eSignForm.Id; eSignFormEntry4.entryType__c = '医院收货'; eSignFormEntry4.IsSubmit__c = true; // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry4; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; eSignFormLineItemEntry__c eSignFormLineItemEntry3 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry3.Name = '::电子签收单明细录入3'; eSignFormLineItemEntry3.eSignFormEntry__c = eSignFormEntry3.Id; eSignFormLineItemEntry3.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry3; eSignFormLineItemEntry__c eSignFormLineItemEntry4 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry4.Name = '::电子签收单明细录入4'; eSignFormLineItemEntry4.eSignFormEntry__c = eSignFormEntry4.Id; eSignFormLineItemEntry4.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry4; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } //测试医院确认 static testMethod void testMethod12() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '医院确认'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '医院确认'; // eSignFormEntry2.IsSubmit__c = true; // eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); // eSignFormEntry2.agencySignUpDateBack__c =Date.today().addDays(-2); // eSignFormEntry2.agencyConfirmDateBack__c =Date.today().addDays(-2); // eSignFormEntry2.HPScanDayBack__c =Date.today().addDays(-2); // eSignFormEntry2.HPSignUpDateBack__c =Date.today().addDays(-2); // eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } //测试经销商收货 static testMethod void testMethod13() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; eSignForm.RC_Manager__c = UserInfo.getUserId(); // eSignForm.RC_Manager2__c = UserInfo.getUserId(); // eSignForm.RC_Manager3__c = UserInfo.getUserId(); eSignForm.agencyRejectDate__c = Date.today().addDays(2); eSignForm.HPRejectDate__c = Date.today().addDays(2); insert eSignForm; /* eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c =Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c =Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c =Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c =Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2;*/ //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 /*eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c =eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c =eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2;*/ list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignForm.id; attach.ContentType = 'application/pdf'; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'Unit Test Attachment'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attach1.ContentType = 'application/pdf'; attachmentList.add(attach1); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } //跑单独方法 @isTest private static void test_upsertESignLineItems() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; insert eSignForm; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; /*list attachmentList = new list(); Attachment attach=new Attachment(); attach.Name='Unit Test Attachment'; Blob bodyBlob=Blob.valueOf('Unit Test Attachment Body'); attach.body=bodyBlob; attach.parentId=eSignFormEntry2.id; attachmentList.add(attach);*/ // insert attach; /*Attachment attach1=new Attachment(); attach1.Name='Unit Test Attachment'; Blob bodyBlob1=Blob.valueOf('Unit Test Attachment Body'); attach1.body=bodyBlob1; attach1.parentId=eSignForm.id; attachmentList.add(attach1); insert attachmentList;*/ // Profile p = [select id from Profile where id =:System.Label.ProfileId_SystemAdmin]; // String loginId = UserInfo.getUserId(); // User sys = [select id from User where Id = :loginId]; // User u1 = new User(Test_staff__c = true); // u1.LastName = '_サンブリッジ'; // u1.FirstName = 'あ'; // u1.Batch_User__c = true; // u1.Alias = 'あ'; // u1.Email = 'olympusTest01@sunbridge.com'; // u1.Username = 'olympusTest10@sunbridge.com'; // u1.CommunityNickname = 'あ1'; // u1.IsActive = true; // u1.EmailEncodingKey = 'ISO-2022-JP'; // u1.TimeZoneSidKey = 'Asia/Tokyo'; // u1.LocaleSidKey = 'ja_JP'; // u1.LanguageLocaleKey = 'ja'; // u1.ProfileId = p.id; // u1.Job_Category__c = '销售服务'; // u1.Province__c = '東京'; // User u2 = new User(Test_staff__c = true); // u2.LastName = '_サンブリッジ'; // u2.FirstName = 'い'; // u2.Batch_User__c = true; // u2.Alias = 'い'; // u2.Email = 'olympusTest02@sunbridge.com'; // u2.Username = 'olympusTest02@sunbridge.com'; // u2.CommunityNickname = 'い'; // u2.IsActive = true; // u2.EmailEncodingKey = 'ISO-2022-JP'; // u2.TimeZoneSidKey = 'Asia/Tokyo'; // u2.LocaleSidKey = 'ja_JP'; // u2.LanguageLocaleKey = 'ja'; // u2.ProfileId = p.id; // u2.Job_Category__c = '销售推广'; // u2.Province__c = '東京'; // User u3 = new User(Test_staff__c = true); // u3.LastName = '_サンブリッジ'; // u3.Batch_User__c = true; // u3.FirstName = 'う'; // u3.Alias = 'う'; // u3.Email = 'olympusTest03@sunbridge.com'; // u3.Username = 'olympusTest03@sunbridge.com'; // u3.CommunityNickname = 'う'; // u3.IsActive = true; // u3.EmailEncodingKey = 'ISO-2022-JP'; // u3.TimeZoneSidKey = 'Asia/Tokyo'; // u3.LocaleSidKey = 'ja_JP'; // u3.LanguageLocaleKey = 'ja'; // u3.ProfileId = p.id; // u3.Job_Category__c = '支援'; // u3.Province__c = '東京'; // u3.Dept__c = '能量事业本部'; // insert new User[] {u1, u2, u3}; // System.runAs(sys) { // OCM_Management_Province__c mp1 = new OCM_Management_Province__c(); // mp1.Name = '江西'; // mp1.GI_assistant__c = u1.Id; // mp1.SP_assistant__c = u1.Id; // mp1.Energy_assistant__c = u1.Id; // OCM_Management_Province__c mp2 = new OCM_Management_Province__c(); // mp2.Name = '上海'; // mp2.GI_assistant__c = u2.Id; // mp2.SP_assistant__c = u2.Id; // mp2.Energy_assistant__c = u2.Id; // OCM_Management_Province__c mp3 = new OCM_Management_Province__c(); // mp3.Name = '深圳'; // mp3.GI_assistant__c = u3.Id; // mp3.SP_assistant__c = u3.Id; // mp3.Energy_assistant__c = u3.Id; // OCM_Management_Province__c mp4 = new OCM_Management_Province__c(); // mp4.Name = '特约经销商管理支援本部'; // mp4.GI_assistant__c = loginId; // mp4.SP_assistant__c = loginId; // mp4.Energy_assistant__c = loginId; // insert new OCM_Management_Province__c[] {mp1, mp2, mp3, mp4}; // } OCM_Management_Province__c mp1 = new OCM_Management_Province__c(); mp1.Name = '江西'; mp1.GI_assistant__c = UserInfo.getUserId(); mp1.SP_assistant__c = UserInfo.getUserId(); mp1.Energy_assistant__c = UserInfo.getUserId(); mp1.SalesManage__c = UserInfo.getUserId(); insert mp1; List provinceList = new List{ '江西' }; Map provinceMap = new Map(); Id i = eSignForm.id; // provinceMap.put(i,'北京市'); // provinceMap.put(i,'山西省'); provinceMap.put(i, '江西'); List eSignFormList = new List(); eSignFormList.add(eSignForm); updateESignBatch.updateOwner(provinceList, provinceMap, eSignFormList, true); } //测试经销商收货 static testMethod void testMethod14() { List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; if (rectCo.size() == 0) { return; } List rectSct = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '戦略科室分類 呼吸科' ]; if (rectSct.size() == 0) { return; } List rectDpt = [ SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name IN ('診療科 消化科', '診療科 呼吸科') ORDER BY Name DESC ]; if (rectDpt.size() == 0) { return; } List rectAs = [SELECT Id, Name FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Asset' AND Name = '备品']; if (rectAs.size() == 0) { return; } // insert hospital Account company1 = new Account(); company1.RecordTypeId = rectCo[0].Id; company1.Name = '病院テスト1'; company1.OCM_man_province_txt__c = '江西'; List hps = new List{ company1 }; insert hps; List dc1s = [ SELECT Id, Name, Department_Class_Label__c, Sys_Dept_Name_Change_Chk__c FROM Account WHERE Parent.Id = :company1.Id ORDER BY Department_Class_Label__c ]; Account depart1 = new Account(); depart1.RecordTypeId = rectDpt[0].Id; depart1.Name = '*'; depart1.Department_Name__c = '診療科1'; depart1.ParentId = dc1s[0].Id; depart1.Department_Class__c = dc1s[0].Id; depart1.Hospital__c = company1.Id; depart1.OCM_man_province_txt__c = '江西'; insert new List{ depart1 }; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'HistoryPrd1'; prd1.ProductCode = 'HistoryPrd1'; prd1.Repair_Product_Code__c = 'HistoryPrd1_RP'; prd1.Name = 'HistoryPrd1'; prd1.Manual_Entry__c = false; prd1.Extend_new_product_gurantee__c = true; prd1.Extend_Gurantee_Start__c = Date.today().addDays(-60); prd1.Extend_Gurantee_End__c = Date.today().addDays(60); prdList.add(prd1); insert prdList; Asset ast = new Asset(); ast.RecordTypeId = rectAs[0].Id; ast.SerialNumber = 'abcdefg'; ast.Name = '测试资产1'; ast.AccountId = depart1.Id; ast.Department_Class__c = dc1s[0].Id; ast.Hospital__c = company1.Id; ast.Product2Id = prd1.Id; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); ast.Manage_type__c = '个体管理'; ast.FirstApproveDate_old__c = Date.today().addDays(-30); Oly_TriggerHandler.bypass('AssetHandler'); insert ast; Asset ast1 = [SELECT RecordTypeID__c FROM Asset WHERE Id = :ast.Id]; String RecordTypeID = ast1.RecordTypeID__c; System.assertEquals(RecordTypeID, ast.RecordTypeId); RecordType rectOpp = [ SELECT id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Opportunity' AND DeveloperName = 'Opportunity' ]; Opportunity opp = new Opportunity( Name = 'testOpp1', StageName = '引合', CloseDate = Date.today(), AccountId = depart1.Id, Sales_Root__c = '販売店', Competitor__c = 'A', Click_Close_Date__c = null, RecordType = rectOpp, Trade__c = '内貿' ); insert opp; //注残 Statu_Achievements__c Sac = new Statu_Achievements__c( name = 'zhucan_one', Opportunity__c = opp.id, DeliveryDate__c = Date.today(), ContractNO__c = 'ContractNO1', ContractAmount__c = 1000 ); insert Sac; //新建电子签收单 eSignForm__c eSignForm = new eSignForm__c(); eSignForm.Statu_Achievements__c = Sac.Id; eSignForm.Name = '::测试电子签收单'; eSignForm.agencyRejectDate__c = Date.today().addDays(2); eSignForm.HPRejectDate__c = Date.today().addDays(2); insert eSignForm; eSignFormEntry__c eSignFormEntry1 = new eSignFormEntry__c(); eSignFormEntry1.Name = '::电子签收单录入表1'; eSignFormEntry1.eSignForm__c = eSignForm.Id; eSignFormEntry1.entryType__c = '经销商收货'; insert eSignFormEntry1; eSignFormEntry__c eSignFormEntry2 = new eSignFormEntry__c(); eSignFormEntry2.Name = '::电子签收单录入表2'; eSignFormEntry2.eSignForm__c = eSignForm.Id; eSignFormEntry2.entryType__c = '经销商收货'; eSignFormEntry2.IsSubmit__c = true; eSignFormEntry2.agencyScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.agencySignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.agencyConfirmDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPScanDayBack__c = Date.today().addDays(-2); eSignFormEntry2.HPSignUpDateBack__c = Date.today().addDays(-2); eSignFormEntry2.HPConfirmDateBack__c = Date.today().addDays(-2); // eSignFormEntry2.createdDate = Date.today().addDays(-2); insert eSignFormEntry2; //新建电子签收单明细 eSignFormLineItem__c eSignFormLineItem = new eSignFormLineItem__c(); eSignFormLineItem.Name = '::电子签收单明细'; eSignFormLineItem.eSignForm__c = eSignForm.Id; insert eSignFormLineItem; //新建电子签收单明细录入表 eSignFormLineItemEntry__c eSignFormLineItemEntry1 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry1.Name = '::电子签收单明细录入1'; eSignFormLineItemEntry1.eSignFormEntry__c = eSignFormEntry1.Id; eSignFormLineItemEntry1.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry1; eSignFormLineItemEntry__c eSignFormLineItemEntry2 = new eSignFormLineItemEntry__c(); eSignFormLineItemEntry2.Name = '::电子签收单明细录入2'; eSignFormLineItemEntry2.eSignFormEntry__c = eSignFormEntry2.Id; eSignFormLineItemEntry2.eSignFormLineItem__c = eSignFormLineItem.Id; insert eSignFormLineItemEntry2; list attachmentList = new List(); Attachment attach = new Attachment(); attach.Name = 'Unit Test Attachment'; Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body'); attach.body = bodyBlob; attach.parentId = eSignFormEntry2.id; attach.ContentType = 'application/pdf'; attachmentList.add(attach); // insert attach; Attachment attach1 = new Attachment(); attach1.Name = 'H-65224941-20200923--10.jpg'; Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); attach1.body = bodyBlob1; attach1.parentId = eSignForm.id; attach1.ContentType = 'application/pdf'; attachmentList.add(attach1); Attachment attach2 = new Attachment(); attach2.Name = 'A-65224945-20200928--8.jpg'; Blob bodyBlob2 = Blob.valueOf('Unit Test Attachment Body'); attach2.body = bodyBlob2; attach2.parentId = eSignForm.id; attach2.ContentType = 'application/pdf'; attachmentList.add(attach2); insert attachmentList; Test.startTest(); Database.executeBatch(new updateESignBatch(), 20); Test.stopTest(); } }