| | |
| | | @isTest |
| | | @isTest(SeeAllData=false) |
| | | private class InquiryVerifyBatchTest { |
| | | |
| | | private static String quoteNo = 'textQutote01'; |
| | | public static String trade = '内貿'; |
| | | |
| | | private static Id pricebookId = ControllerUtil.getStandardPricebook().Id; |
| | | private static Boolean isUnitPrice = true; |
| | | private static Boolean isOfferAmount = true; |
| | | private static Boolean isTotalPrice = true; |
| | | private static Boolean isDiscountRate = true; |
| | | private static Boolean isDiscountAmount = true; |
| | | private static Boolean isTradingPrice = true; |
| | | private static Boolean isContractDetail = true; |
| | | |
| | | private static Date offerExpireDate = Date.today(); |
| | | private static String clientName = 'test client'; |
| | | private static String offerComment = 'test comment'; |
| | | private static Date offerPrintDate = Date.today(); |
| | | private static String agentName = 'test agent name'; |
| | | private static Date createdDateStr = Date.today(); |
| | | |
| | | static testMethod void testMethod1() { |
| | | |
| | | System.Test.StartTest(); |
| | | InitData(); |
| | | |
| | | ID exid = Database.executeBatch(new InquiryVerifyBatch(),1); |
| | | InquiryVerifyBatch bct1 = new InquiryVerifyBatch(null,null); |
| | | System.schedule('Scheduled Job 5', '0 45 * * * ?', bct1); |
| | | |
| | | System.Test.StopTest(); |
| | | } |
| | | |
| | | private static void InitData() { |
| | | User user = new User(Test_staff__c = true); |
| | | user.LastName = '_サンブリッジ'; |
| | | user.FirstName = 'う'; |
| | | user.Alias = 'う'; |
| | | user.Email = 'olympusTest03@sunbridge.com'; |
| | | user.Username = 'olympusTest03@sunbridge.com'; |
| | | user.CommunityNickname = 'う'; |
| | | user.IsActive = true; |
| | | user.EmailEncodingKey = 'ISO-2022-JP'; |
| | | user.TimeZoneSidKey = 'Asia/Tokyo'; |
| | | user.LocaleSidKey = 'ja_JP'; |
| | | user.LanguageLocaleKey = 'ja'; |
| | | user.ProfileId = System.Label.ProfileId_SystemAdmin; |
| | | user.Job_Category__c = '销售推广'; |
| | | user.Province__c = '上海市'; |
| | | user.Use_Start_Date__c = Date.today().addMonths(-6); |
| | | user.SalesManager__c = UserInfo.getUserId(); |
| | | user.BuchangApprovalManagerSales__c = UserInfo.getUserId(); |
| | | user.JingliApprovalManager__c = UserInfo.getUserId(); |
| | | user.BuchangApprovalManager__c = UserInfo.getUserId(); |
| | | user.ZongjianApprovalManager__c = UserInfo.getUserId(); |
| | | |
| | | List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; |
| | | if (rectCo.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 呼吸科']; |
| | | if (rectSct.size() == 0) { |
| | | return; |
| | | } |
| | | List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; |
| | | if (rectDpt.size() == 0) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | StaticParameter.EscapeOpportunityBefUpdTrigger = true; |
| | | StaticParameter.EscapeSyncOpportunityTrigger = true; |
| | | StaticParameter.EscapeNFM007Trigger = true; |
| | | StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true; |
| | | StaticParameter.EscapeSyncOpportunityTrigger = true; |
| | | |
| | | System.runAs(new User(Id = Userinfo.getUserId())) { |
| | | insert user; |
| | | // テストデータ |
| | | Account company = new Account(); |
| | | company.RecordTypeId = rectCo[0].Id; |
| | | company.Name = 'NFM007TestCompany'; |
| | | insert company; |
| | | |
| | | Account section = new Account(); |
| | | section.RecordTypeId = rectSct[0].Id; |
| | | section.Name = '*'; |
| | | section.Department_Class_Label__c = '消化科'; |
| | | section.ParentId = company.Id; |
| | | section.Hospital_Department_Class__c = company.Id; |
| | | section.AgentCode_Ext__c = '9999900'; |
| | | insert section; |
| | | |
| | | Account depart = new Account(); |
| | | depart.RecordTypeId = rectDpt[0].Id; |
| | | depart.Name = '*'; |
| | | depart.Department_Name__c = 'NFM007TestDepart'; |
| | | depart.ParentId = section.Id; |
| | | depart.Department_Class__c = section.Id; |
| | | depart.Hospital__c = company.Id; |
| | | section.AgentCode_Ext__c = '9999900'; |
| | | insert depart; |
| | | |
| | | Opportunity opp = new Opportunity(); |
| | | opp.AccountId = depart.Id; |
| | | opp.Department_Class__c = section.Id; |
| | | opp.Hospital__c = company.Id; |
| | | opp.SAP_Send_OK__c = false; |
| | | opp.CurrencyIsoCode = 'CNY'; |
| | | opp.Name = 'GZ-SP-NFM007_1'; |
| | | opp.Trade__c = '内貿'; |
| | | opp.StageName = '引合'; |
| | | opp.CloseDate = date.newinstance(2022, 11, 30); |
| | | opp.Stock_apply_status__c = '申请中'; |
| | | opp.IsNextMonthOfVisit__c = false; |
| | | opp.Pricebook2Id = pricebookId; |
| | | opp.ET_SP_Consumption__c = false; |
| | | opp.Opp_order_Type__c = ''; |
| | | opp.ThisPhase_Ship_Forecast__c = false; |
| | | opp.Equipment_Order_Flg__c = false; |
| | | opp.old_Oppo_No__c = ''; |
| | | opp.If_Account_Change__c = false; |
| | | // opp.ForecastAccuracyObject__c = true; |
| | | |
| | | // 待解决设置值后查询时为空的问题(batch中测试程序会跳过该条件) |
| | | opp.OCM_man_province_cus_txt__c = '北京'; |
| | | opp.OCM_man_province_txt__c = '北京'; |
| | | // opp.SalesdepartmentForecast__c = '1.华北'; |
| | | insert opp; |
| | | |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | |
| | | quote.Quote_No__c = quoteNo; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Pricebook2Id = pricebookId; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | quote.quoteSavedDate__c = createdDateStr; |
| | | quote.createdDate = createdDateStr; |
| | | insert quote; |
| | | |
| | | Product2 prd1 = new Product2(); |
| | | prd1.ProductCode_Ext__c = 'Prd1'; |
| | | prd1.ProductCode = 'Prd1'; |
| | | prd1.Repair_Product_Code__c = 'Prd1_RP'; |
| | | prd1.Name = 'Prd1'; |
| | | prd1.Manual_Entry__c = false; |
| | | prd1.Category2__c = '本体'; |
| | | prd1.Category3__c = '纤维镜'; |
| | | prd1.Category4__c = 'CV'; |
| | | prd1.Category5__c = '260SL系列'; |
| | | prd1.Asset_Model_No__c = '1001'; |
| | | prd1.Important_product__c = true; |
| | | prd1.Important_Rroduct_1GI__c = true; |
| | | insert prd1; |
| | | |
| | | System.assertEquals(prd1.Important_product__c,true); |
| | | |
| | | PricebookEntry entry = new PricebookEntry(Pricebook2Id = pricebookId, Product2Id = prd1.Id); |
| | | entry.UnitPrice = 0; |
| | | entry.IsActive = true; |
| | | entry.UseStandardPrice = false; |
| | | entry.CurrencyIsoCode = 'CNY'; |
| | | insert entry; |
| | | System.assertEquals(prd1.Important_product__c,true); |
| | | List<Quote> qList = [Select Id, CurrencyIsoCode from Quote where Id = : quote.Id]; |
| | | System.assertEquals(1, qList.size()); |
| | | System.assertEquals('CNY', qList[0].CurrencyIsoCode); |
| | | |
| | | QuoteLineItem target = new QuoteLineItem(); |
| | | target.Name__c = 'テスト商品'; |
| | | target.QuoteId = quote.Id; |
| | | target.Quantity = 1; |
| | | target.Cost_Subtotal__c = 0; |
| | | target.Cost__c = 200; |
| | | // target.TotalPrice = 100; |
| | | target.UnitPrice = 10; |
| | | target.Product2Id = prd1.id; |
| | | target.PricebookEntryId = entry.Id; |
| | | insert target; |
| | | prd1.Important_product__c = true; |
| | | update prd1; |
| | | System.assertEquals(prd1.Important_product__c,true); |
| | | // System.assertEquals(target.Product2.Important_product__c,true); |
| | | system.assertEquals(target.Product2Id,prd1.id); |
| | | List<QuoteLineItem> qlts = [Select Id,Product2.Important_product__c,QuoteId from QuoteLineItem where id = :target.id]; |
| | | System.assertEquals(qlts[0].Product2.Important_product__c,true); |
| | | System.assertEquals(qlts[0].QuoteId,quote.id); |
| | | Consumable_order_details2__c saledet1 = new Consumable_order_details2__c(); |
| | | saledet1.Name = 'OCM_01_001001'; |
| | | // saledet1.Consumable_order_minor__c = Order1.Id; |
| | | saledet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; |
| | | saledet1.Bar_Code__c = '0114953170032070111804001082K250BBBBB'; |
| | | // saledet1.Consumable_Product__c = prd1.Id; |
| | | saledet1.Used_account__c = section.Id; |
| | | saledet1.Delivery_List_RMB__c = 11; |
| | | saledet1.Box_Piece__c = '盒'; |
| | | saledet1.TracingCode__c = 'BBBBB'; |
| | | saledet1.SerialLotNo__c = '82K'; |
| | | saledet1.Guarantee_period_for_products__c = Date.today().addDays(5); |
| | | saledet1.Sterilization_limit__c = Date.today().addDays(5); |
| | | saledet1.Send_Date__c = null; |
| | | //saledet1.Dealer_Shipment__c = false; |
| | | saledet1.Arrive_date__c = null; |
| | | //saledet1.Dealer_Arrive__c = false; |
| | | saledet1.Used_date__c = null; |
| | | //saledet1.Dealer_Saled__c = false; |
| | | saledet1.Deliver_date__c = Date.today().addDays(-10); |
| | | insert saledet1; |
| | | |
| | | asset ast = new asset(); |
| | | ast.Name = prd1.Name; |
| | | ast.Product2Id = prd1.Id; |
| | | ast.SerialNumber = saledet1.SerialLotNo__c + '(' + saledet1.TracingCode__c + ')'; |
| | | ast.SLMark__c = 'Serial Number'; // 固定 dnInfo.SorLMark; |
| | | ast.Guarantee_period_for_products__c = saledet1.Guarantee_period_for_products__c; |
| | | ast.TracingCode__c = saledet1.TracingCode__c; |
| | | ast.Guaranteen_end__c = saledet1.Sterilization_limit__c; |
| | | ast.Barcode__c = saledet1.Bar_Code__c; |
| | | ast.Product_Serial_No__c = saledet1.SerialLotNo__c + '(' + saledet1.TracingCode__c + ')'; |
| | | ast.Asset_Owner__c = '经销商资产'; |
| | | ast.AccountId = depart.Id; |
| | | ast.Department_Class__c = section.Id; |
| | | // ast.Asset_owner_delaer_name__c = company.Id; |
| | | ast.Hospital__c = company.Id; |
| | | insert ast; |
| | | |
| | | String flag='NG2'; |
| | | String d1='产品试用'; |
| | | String dept='医疗华北营业本部'; |
| | | // User user = new User(Test_staff__c = true); |
| | | // user.LastName = '_サンブリッジ'; |
| | | // user.FirstName = 'う'; |
| | | // user.Alias = 'う'; |
| | | // user.Email = 'olympusTest03@sunbridge.com'; |
| | | // user.Username = 'olympusTest03@sunbridge.com'; |
| | | // user.CommunityNickname = 'う'; |
| | | // user.IsActive = true; |
| | | // user.EmailEncodingKey = 'ISO-2022-JP'; |
| | | // user.TimeZoneSidKey = 'Asia/Tokyo'; |
| | | // user.LocaleSidKey = 'ja_JP'; |
| | | // user.LanguageLocaleKey = 'ja'; |
| | | // user.ProfileId = System.Label.ProfileId_SystemAdmin; |
| | | // user.Province__c = '北京'; |
| | | // user.Dept__c = dept; |
| | | // user.Use_Start_Date__c = Date.today().addMonths(-6); |
| | | // insert user; |
| | | |
| | | FixtureDeliverySlip__c fdsObj = new FixtureDeliverySlip__c(); |
| | | fdsObj.Name = '00001'; |
| | | fdsObj.DeliveryCompany__c = '利讯'; |
| | | fdsObj.Distributor_method__c = '陆运'; |
| | | fdsObj.DeliveryType__c = '发货'; |
| | | fdsObj.Wh_Staff__c = Userinfo.getUserId(); |
| | | fdsObj.Shippment_loaner_time__c = System.now(); |
| | | insert fdsObj; |
| | | |
| | | Fixture_Set__c fsObj1 = new Fixture_Set__c(); |
| | | fsObj1.Name = 'set1'; |
| | | fsObj1.Fixture_Set_Body_Model_No__c = 'modelNo1'; |
| | | fsObj1.Loaner_name__c = 'name1'; |
| | | insert fsObj1; |
| | | |
| | | Fixture_Set_Detail__c fsdObjA1 = new Fixture_Set_Detail__c(); |
| | | // 备品配套明细 |
| | | fsdObjA1.Name = '备品配套明细名1'; |
| | | fsdObjA1.Name_CHN_Created__c = '中文名称1'; |
| | | fsdObjA1.Product2__c = prd1.Id; |
| | | fsdObjA1.Fixture_Set__c = fsObj1.Id; |
| | | fsdObjA1.Is_Body__c = true; |
| | | fsdObjA1.Is_Optional__c = false; |
| | | fsdObjA1.UniqueKey__c = fsObj1.Id + ':' + prd1.Id; |
| | | fsdObjA1.SortInt__c = 1; |
| | | fsdObjA1.Quantity__c = 1; |
| | | insert fsdObjA1; |
| | | |
| | | Contact contact2 = new Contact(); |
| | | contact2.AccountId = depart.Id; |
| | | contact2.FirstName = '責任者'; |
| | | contact2.LastName = 'test1经销商'; |
| | | insert contact2; |
| | | |
| | | Rental_Apply__c raObj = new Rental_Apply__c(); |
| | | raObj.Name = 'testra'; |
| | | raObj.OwnerId = user.Id; |
| | | raObj.Product_category__c = 'GI'; |
| | | raObj.Demo_purpose1__c ='产品试用'; |
| | | raObj.demo_purpose2__c = '试用(无询价)'; |
| | | raObj.direct_send__c = '医疗机构'; |
| | | raObj.Loaner_received_staff__c = '王五'; |
| | | raObj.Loaner_received_staff_phone__c = '110'; |
| | | raObj.direct_shippment_address__c = '北京市'; |
| | | raObj.Request_shipping_day__c = Date.toDay(); |
| | | raObj.Hope_Lonaer_date_Num__c = 16; |
| | | //raObj.Request_return_day__c = Date.toDay(); |
| | | raObj.Phone_number__c = '1234567890'; |
| | | raObj.Request_approval_time__c = Datetime.newInstance(1970, 1, 1); |
| | | raObj.Strategic_dept__c = section.Id; |
| | | raObj.Account__c = depart.Id; |
| | | raObj.Loaner_medical_Staff__c = contact2.Id; |
| | | raObj.Hospital__c = section.Id; |
| | | insert raObj; |
| | | |
| | | Rental_Apply_Equipment_Set__c raesObj = new Rental_Apply_Equipment_Set__c(); |
| | | // 借出备品配套一览 |
| | | raesObj.Rental_Apply__c = raObj.Id; |
| | | raesObj.Fixture_Set__c = fsObj1.Id; |
| | | raesObj.Cancel_Select__c = false; |
| | | raesObj.Rental_Start_Date__c = Date.toDay(); |
| | | raesObj.Rental_End_Date__c = Date.toDay(); |
| | | raesObj.IndexFromUniqueKey__c = 1; |
| | | raesObj.UniqueKey__c = '1:'+ fsObj1.Id + ':1'; |
| | | raesObj.Final_reply_day_text__c = Date.today(); |
| | | insert raesObj; |
| | | |
| | | Rental_Apply_Equipment_Set_Detail__c raesdObj1 = new Rental_Apply_Equipment_Set_Detail__c(); |
| | | raesdObj1.Rental_Apply__c = raObj.Id; |
| | | raesdObj1.Fixture_Set_Detail__c = fsdObjA1.Id; |
| | | raesdObj1.Rental_Num__c = 1; |
| | | raesdObj1.Queue_Number__c = 14; |
| | | raesdObj1.Queue_Day__c=date.today(); |
| | | raesdObj1.Queue_Time__c=Time.newInstance(1,1,1,1); |
| | | raesdObj1.Is_Body__c = true; |
| | | raesdObj1.Rental_Apply_Equipment_Set__c = raesObj.Id; |
| | | raesdObj1.DeliverySlip__c = fdsObj.Id; |
| | | raesdObj1.IndexFromUniqueKey__c = 1; |
| | | raesdObj1.UniqueKey__c = '1:'+ raesObj.Id + ':' + fsdObjA1.Id + ':1'; |
| | | raesdObj1.FSD_OneToOneAccessory_Cnt__c = 2; |
| | | raesdObj1.FSD_Is_Optional__c = false; |
| | | raesdObj1.FSD_Is_OneToOne__c = false; |
| | | raesdObj1.ApplyPersonAppended__c = false; |
| | | raesdObj1.Inspection_result_after_Final__c = 'OK'; |
| | | raesdObj1.After_Inspection_time_Final__c = Date.today(); |
| | | raesdObj1.Check_lost_Item_Final__c = 'OK'; |
| | | raesdObj1.Arrival_in_wh__c = false; |
| | | raesdObj1.FSD_Fixture_Model_No__c = 'n01'; |
| | | raesdObj1.Fixture_Model_No_text__c = 'n01'; |
| | | raesdObj1.Salesdepartment_before__c = '3.西北营业本部'; |
| | | raesdObj1.Internal_asset_location_before__c = '北京 备品中心'; |
| | | raesdObj1.Product_category_text__c = 'GI'; |
| | | raesdObj1.Equipment_Type_text__c = '产品试用'; |
| | | raesdObj1.Cancel_Select__c=false; |
| | | raesdObj1.IsAdjust__c=false; |
| | | raesdObj1.Asset__c = ast.id; |
| | | raesdObj1.Shippment_loaner_time__c = createdDateStr.addMonths(-5); |
| | | insert raesdObj1; |
| | | |
| | | } |
| | | } |
| | | } |