From 36d15f189de2e83ce2576715dac30c3c260388dd Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期五, 14 七月 2023 14:47:50 +0800 Subject: [PATCH] fixconflict --- force-app/main/default/classes/LexArriveGoodsControllerTest.cls | 321 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 321 insertions(+), 0 deletions(-) diff --git a/force-app/main/default/classes/LexArriveGoodsControllerTest.cls b/force-app/main/default/classes/LexArriveGoodsControllerTest.cls index 5e42821..3142cdb 100644 --- a/force-app/main/default/classes/LexArriveGoodsControllerTest.cls +++ b/force-app/main/default/classes/LexArriveGoodsControllerTest.cls @@ -1,6 +1,7 @@ @isTest private class LexArriveGoodsControllerTest { @IsTest +<<<<<<< HEAD static void test1() { NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; @@ -210,10 +211,167 @@ arrControllerStr = re.arrGoodCon; LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); System.Test.stopTest(); +======= + static void test1(){ + NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); + insert n; + List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + // Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET Email)']; + Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; + + Account myAccount1 = new Account(Name='Testaccount001',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999996'); + Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900',Product_Limit_Date__c = 'Test01|2|4,Test02|3|5'); + insert new Account[]{myAccount1,myAccount2}; + + Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); + insert core; + user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); + System.runAs(new User(Id = UserInfo.getUserId())){ + insert MyUser_Test; + } + + // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; + // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); + // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); + // insert new Product2[] {prod01,prod02}; + system.runAs(MyUser_Test){ + Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); + Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); + insert new Product2[] {prod01,prod02}; + Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); + Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); + insert new Product2__c[] {pro1, pro2}; + //璁㈠崟 + Consumable_order__c Order1 = new Consumable_order__c(); + Order1.Name = 'OCM_01_001'; + Order1.Order_status__c = '鎵瑰噯'; + Order1.Order_type__c = '璁㈠崟'; + // Order1.Dealer_Info__c = myAccount1.id; + Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; + Order1.Total_num__c = 3; + Order1.OrderNumber_arrived__c =1; + Order1.Delivery_detail_count__c=1; + Order1.Order_ProType__c = 'ET'; + insert Order1; + + //璁㈠崟鏄庣粏 + //fahuo + Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); + Orderdet.Name = 'OCM_01_00101'; + Orderdet.Consumable_order__c = Order1.Id; + Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; + Orderdet.Consumable_Product__c = pro1.Id; + Orderdet.Consumable_count__c = 40; + insert Orderdet; + + //鍙戣揣鏄庣粏 + //鍒拌揣姝g‘淇℃伅 + Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); + Orderdet1.Name = 'OCM_01_001002'; + Orderdet1.Consumable_order_minor__c = Order1.Id; + Orderdet1.Consumable_Product__c = pro1.Id; + Orderdet1.Asset_Model_No__c = 'Test01'; + Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; + Orderdet1.TracingCode__c = 'BXJRA'; + + //鍙栨秷浜у搧 + Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); + Orderdet2.Name = 'OCM_01_001003'; + Orderdet2.Consumable_order_minor__c = Order1.Id; + Orderdet2.Consumable_Product__c = pro1.Id; + Orderdet2.Asset_Model_No__c = 'Test01'; + //Orderdet2.Consumable_Arrived_order__c = Order1.Id; + Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; + Orderdet2.Cancellation_Date__c= Date.today(); + Orderdet2.TracingCode__c = 'BXJRB'; + //閿�鍞骇鍝� + Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); + Orderdet3.Name = 'OCM_01_001004'; + Orderdet3.Consumable_order_minor__c = Order1.Id; + Orderdet3.Consumable_Product__c = pro1.Id; + Orderdet3.Asset_Model_No__c = 'Test01'; + Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; + Orderdet3.Used_date__c = Date.today(); + Orderdet3.Arrive_date__c = Date.today(); + Orderdet3.TracingCode__c = 'BXJRC'; + //Orderdet3.Box_Piece__c = '鐩�'; + + + //鍑哄簱浜у搧 + Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); + Orderdet4.Name = 'OCM_01_001005'; + Orderdet4.Consumable_order_minor__c = Order1.Id; + Orderdet4.Consumable_Product__c = pro1.Id; + Orderdet4.Asset_Model_No__c = 'Test01'; + Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; + Orderdet4.Send_Date__c = Date.today(); + Orderdet4.Arrive_date__c = Date.today(); + Orderdet4.TracingCode__c = 'BXJRD'; + + //宸插埌璐т骇鍝� + Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); + Orderdet5.Name = 'OCM_01_001006'; + Orderdet5.Consumable_order_minor__c = Order1.Id; + Orderdet5.Consumable_Product__c = pro1.Id; + Orderdet5.Asset_Model_No__c = 'Test01'; + Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; + Orderdet5.Arrive_date__c = Date.today(); + Orderdet5.TracingCode__c = 'BXJRE'; + + //鍙戣揣鏄庣粏 + //绠$悊缂栫爜鍖呭惈鏁板瓧 + Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); + Orderdet6.Name = 'OCM_01_001002'; + Orderdet6.Consumable_order_minor__c = Order1.Id; + Orderdet6.Consumable_Product__c = pro1.Id; + Orderdet6.Asset_Model_No__c = 'Test01'; + Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; + Orderdet6.TracingCode__c = 'BX123'; + + //鍙戦敊搴� 鏈埌璐� + Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); + Orderdets8.Name = 'OCM_01_001011'; + Orderdets8.Consumable_order_minor__c = Order1.Id; + Orderdets8.Consumable_Product__c = pro1.Id; + Orderdets8.Asset_Model_No__c = 'Test01'; + Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; + Orderdets8.Box_Piece__c = '鐩�'; + Orderdets8.TracingCode__c = 'BXsys'; + + insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8}; + + List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id]; + System.assertEquals(1, cod1.size()); + + PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id); + + System.Test.setCurrentPage(page); + ArriveGoodsController Controller = new ArriveGoodsController(); + //鍒濆鍖栨祴璇� + System.Test.startTest(); + LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id); + String arrControllerStr = re.arrGoodCon; + LexArriveGoodsController.searchProduct('', arrControllerStr); + re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr); + arrControllerStr = re.arrGoodCon; + LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); + System.Test.stopTest(); +>>>>>>> LEXCommunityLiJun } } @IsTest +<<<<<<< HEAD static void test2() { NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; @@ -413,6 +571,162 @@ '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', arrControllerStr ); +======= + static void test2(){ + NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true); + insert n; + List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '璨╁2搴�']; + if (rectCo.size() == 0) { + return; + } + // Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET Email)']; + Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; + + + Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900'); + Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id); + insert new account[]{myAccount1,myAccount2}; + + Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id); + insert core; + user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',UserPro_Type__c = 'ET'); + System.runAs(new User(Id = UserInfo.getUserId())){ + insert MyUser_Test; + } + + // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; + // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); + // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); + // insert new Product2[] {prod01,prod02}; + system.runAs(MyUser_Test){ + Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); + Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '鏈夊姽',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); + insert new Product2[] {prod01,prod02}; + Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); + Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); + insert new Product2__c[] {pro1, pro2}; + //璁㈠崟 + + Consumable_order__c Order1 = new Consumable_order__c(); + Order1.Name = 'OCM_01_001'; + Order1.Order_status__c = '鎵瑰噯'; + Order1.Order_type__c = '璁㈠崟'; + Order1.Dealer_Info__c = myAccount1.id; + Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; + + //杩斿搧璁㈠崟 + + Consumable_order__c Order2 = new Consumable_order__c(); + Order2.Name = 'OCM_01_002'; + Order2.Order_status__c = '鎵瑰噯'; + Order2.Order_type__c = '杩斿搧'; + Order2.Dealer_Info__c = myAccount1.id; + Order2.RecordTypeid = System.Label.Dealer_Returned_Label; + insert Order1; + insert Order2; + + //璁㈠崟鏄庣粏 + //fahuo + Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); + Orderdet.Name = 'OCM_01_00101'; + Orderdet.Consumable_order__c = Order1.Id; + Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; + Orderdet.Consumable_Product__c = pro1.Id; + Orderdet.Consumable_count__c = 4; + insert Orderdet; + + //鍙戣揣鏄庣粏 + //娌″嚭搴擄紝娌¢攢鍞紝灏辨槸鍦ㄥ簱 + Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); + Orderdet1.Name = 'OCM_01_001001'; + Orderdet1.Consumable_order_minor__c = Order1.Id; + Orderdet1.Consumable_Product__c = pro1.Id; + Orderdet1.Asset_Model_No__c = 'Pro001'; + Orderdet1.Arrive_date__c = date.today(); + Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; + Orderdet1.TracingCode__c = 'BXSYS'; + + //daohuo + Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); + Orderdet2.Name = 'OCM_01_001002'; + Orderdet2.Consumable_order_minor__c = Order1.Id; + Orderdet2.Consumable_Product__c = pro1.Id; + Orderdet2.Asset_Model_No__c = 'Pro001'; + Orderdet2.Consumable_Arrived_order__c = Order1.Id; + Orderdet2.Arrive_date__c = date.today(); + Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI'; + Orderdet2.TracingCode__c = 'BXSYS'; + //sale + Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); + Orderdet3.Name = 'OCM_01_001003'; + Orderdet3.Consumable_order_minor__c = Order1.Id; + Orderdet3.Consumable_Product__c = pro1.Id; + Orderdet3.Asset_Model_No__c = 'Pro001'; + Orderdet3.Consumable_Arrived_order__c = Order1.Id; + Orderdet3.Arrive_date__c = date.today(); + Orderdet3.Used_date__c = date.today(); + Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ'; + Orderdet3.TracingCode__c = 'BXSYS'; + //鍑哄簱 + Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); + Orderdet4.Name = 'OCM_01_001004'; + Orderdet4.Consumable_order_minor__c = Order1.Id; + Orderdet4.Consumable_Product__c = pro1.Id; + Orderdet4.Asset_Model_No__c = 'Pro001'; + Orderdet4.Consumable_Arrived_order__c = Order1.Id; + Orderdet4.Consumable_Shipment_order__c = Order1.Id; + Orderdet4.Send_Date__c = date.today(); + Orderdet4.Arrive_date__c = date.today(); + Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222'; + Orderdet4.TracingCode__c = 'BXSYS'; + //quxiao + Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); + Orderdet5.Name = 'OCM_01_001005'; + Orderdet5.Consumable_order_minor__c = Order1.Id; + Orderdet5.Consumable_Product__c = pro1.Id; + Orderdet5.Asset_Model_No__c = 'Pro001'; + Orderdet5.Cancellation_Date__c = Date.today(); + Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ'; + Orderdet5.Box_Piece__c ='涓�'; + Orderdet5.TracingCode__c = 'BXSYS'; + //fanpin + Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); + Orderdet6.Name = 'OCM_01_001006'; + Orderdet6.Consumable_order_minor__c = Order1.Id; + Orderdet6.Consumable_Product__c = pro1.Id; + Orderdet6.Asset_Model_No__c = 'Pro001'; + Orderdet6.Consumable_Return_order__c = Order2.Id; + Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; + Orderdet6.Box_Piece__c ='涓�'; + Orderdet6.TracingCode__c = 'BXSYS'; + + Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c(); + Orderdet7.Name = 'OCM_01_001001'; + Orderdet7.Consumable_order_minor__c = Order1.Id; + Orderdet7.Consumable_Product__c = pro1.Id; + Orderdet7.Asset_Model_No__c = 'Pro001'; + Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; + Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333'; + Orderdet7.TracingCode__c = 'BXSYS'; + insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7}; + ArriveGoodsController Controller = new ArriveGoodsController(); + System.Test.startTest(); + Controller.init(); + Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222'; + Controller.SearchPro(); + Controller.ArriveGoodsConfim(); + Controller.UpdateGoodsOfReturn(); + controller.getinventorysize(); + LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr',''); + String arrControllerStr = re.arrGoodCon; + re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', arrControllerStr); +>>>>>>> LEXCommunityLiJun arrControllerStr = re.arrGoodCon; LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); LexArriveGoodsController.updateGoodsOfReturn(re.arrGoodCon, JSON.serialize(re.showGoodsofReturnList)); @@ -420,7 +734,14 @@ List<LexArriveGoodsController.ConsumableorderdetailsInfo> conList = new List<LexArriveGoodsController.ConsumableorderdetailsInfo>(); conList.add(con); LexArriveGoodsController.changeType2(conList); +<<<<<<< HEAD System.Test.stopTest(); } } } +======= + System.Test.stopTest(); + } + } +} +>>>>>>> LEXCommunityLiJun -- Gitblit v1.9.1