@isTest private class LexSaleOrderControllerTest { public static Map orderpieceorboxMap; public static Map orderpriceMap; public static Map orderagencypriceMap ; public static Map orderdetCountMap; public static Map existIdMap; public static Map errorIdMap; public static Map allMap; @isTest static void testInit(){ Account accountItem1; Account accountItem2; User userTest; User thisUser = [SELECT Id FROM User WHERE Id =:UserInfo.getUserId()]; System.runAs(thisUser){ List rectCo = [SELECT Id FROM RecordType WHERE IsActive = true AND SobjectType = 'Account' AND Name = '販売店']; if (rectCo.size() == 0) { return; } List rectHp = [SELECT Id FROM RecordType WHERE IsActive = true AND SobjectType = 'Account' AND Name = '病院']; if (rectHp.size() == 0) { return; } Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)']; accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999900'); insert accountItem1; accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp[0].Id, AgentCode_Ext__c = '9999999'); insert accountItem2; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id); insert core; userTest = 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='ENG', Work_Location__c='大连'); insert userTest; } System.runAs(userTest){ String Id = UserInfo.getUserId(); User thisUserInfo = [SELECT accountid,ContactId,Contact.AccountId, Work_Location__c FROM User WHERE id =:Id]; String accountId = thisUserInfo.Contact.AccountId; String userWorkLocation = thisUserInfo.Work_Location__c; String accountName; Account[] accountInfo = [SELECT Name FROM account WHERE id = :accountId LIMIT 1]; if(accountInfo.size() > 0 ){ accountName = accountInfo[0].Name; } Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,Manual_Entry__c = false); Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,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.Deliver_date__c = Date.today(); Order1.RecordTypeid = System.Label.RT_ConOrder_Order; Order1.Order_ForDealerText__c = 'Test'; Order1.Order_ProType__c = 'ENG'; Order1.Delivery_detail_count__c = 5; Order1.IsShipment__c = true; insert Order1; //到货 Consumable_order__c Order2 = new Consumable_order__c(); Order2.Name = 'testMing2'; Order2.Order_status__c = '批准'; Order2.Deliver_date__c = Date.today(); Order2.RecordTypeid = System.Label.RT_ConOrder_Arrive; Order2.Order_type__c = '订单'; Order2.Order_ProType__c = 'ENG'; Order2.Arrive_Order__c = Order1.Id; Order2.Delivery_detail_count__c = 5; insert Order2; List newdet2 = new List(); //在库 盒 Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); Orderdet1.Name = 'OCM_01_001002'; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.Bar_Code__c = '11111250AAAAA'; Orderdet1.Arrive_date__c = Date.today(); Orderdet1.Consumable_Product__c = pro1.Id; Orderdet1.Box_Piece__c = '盒'; Orderdet1.TracingCode__c = 'AAAAA'; //未到货 Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); Orderdet2.Name = 'OCM_02_001002'; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet2.Bar_Code__c = '22222250BBBBB'; Orderdet2.Consumable_Product__c = pro2.Id; Orderdet2.Box_Piece__c = '盒'; Orderdet2.TracingCode__c = 'BBBBB'; //销售 Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); Orderdet3.Name = 'OCM_01_001003'; Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet3.Bar_Code__c = '33333250CCCCC'; Orderdet3.Consumable_Product__c = pro1.Id; Orderdet3.Used_date__c = Date.today(); Orderdet3.Send_Date__c = Date.today(); Orderdet3.Arrive_date__c = Date.today(); Orderdet3.Box_Piece__c = '盒'; Orderdet3.TracingCode__c = 'CCCCC'; //在库 个 Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); Orderdet4.Name = 'OCM_01_001004'; Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery ; Orderdet4.Bar_Code__c = '44444250DDDDD'; Orderdet4.Consumable_Product__c = pro1.Id; Orderdet4.Arrive_date__c = Date.today(); Orderdet4.Box_Piece__c = '个'; Orderdet4.TracingCode__c = 'DDDDD'; Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); Orderdet5.Name = 'OCM_01_001004'; Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery ; Orderdet5.Bar_Code__c = '55555250EEEEE'; Orderdet5.Consumable_Product__c = pro1.Id; Orderdet5.Arrive_date__c = Date.today(); Orderdet5.TracingCode__c = 'EEEEE'; insert new Consumable_order_details2__c[] {Orderdet1,Orderdet2,Orderdet3,Orderdet4,Orderdet5}; Consumable_order__c zsd01 = new Consumable_order__c(); zsd01.Name = 'ZSD_01_001'; zsd01.Order_type__c = '传票'; zsd01.SummonsStatus_c__c ='已完成'; zsd01.Order_type__c = '订单'; zsd01.RecordTypeid = System.Label.RT_ConOrder_Order; zsd01.Summons_Sale_Status__c = '销售'; zsd01.Outbound_Date__c = Date.today(); zsd01.IsShipment__c = true; insert zsd01; System.debug('zsd01:' + zsd01.Id); List orderdetails = new List(); Consumable_orderdetails__c Orderdet6 = new Consumable_orderdetails__c(); Orderdet6.Name = 'ZSD_01_001001'; Orderdet6.Consumable_order__c = zsd01.Id; Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail1_Order ; Orderdet6.Consumable_Count__c = 12; Orderdet6.Consumable_Product__c = pro1.Id; Orderdet6.Delivery_List_RMB__c = 1; Orderdet6.Shipment_Count__c = 1; Orderdet6.Unitprice_To_agency__c = 1.00; Orderdet6.Dealer_Custom_Price__c = 999.00; Orderdet6.isOutPattern__c = true; Orderdet6.Box_Piece__c = '个'; orderdetails.add(Orderdet6); Consumable_orderdetails__c Orderdetc6 = new Consumable_orderdetails__c(); Orderdetc6.Name = 'ZSD_01_001001'; Orderdetc6.Consumable_order__c = zsd01.Id; Orderdetc6.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdetc6.Consumable_Count__c = 12; Orderdetc6.Consumable_Product__c = pro2.Id; Orderdetc6.Delivery_List_RMB__c = 1; Orderdetc6.Unitprice_To_agency__c = 1.00; Orderdetc6.Dealer_Custom_Price__c = 999.00; Orderdetc6.Shipment_Count__c = 1; Orderdetc6.isOutPattern__c = true; Orderdetc6.Box_Piece__c = '盒'; orderdetails.add(Orderdetc6); insert orderdetails; System.debug('orderdetails:' + orderdetails.size()); hospitalprice__c hp1 = new hospitalprice__c(); hp1.hospital__c = accountId; hp1.account__c = accountId; hp1.product__c = pro1.Id; insert hp1; orderpieceorboxMap = new Map(); orderagencypriceMap = new Map(); orderpriceMap = new Map(); orderdetCountMap = new Map(); if(orderdetails.size() > 0 ){ for (Integer i = 0; i < orderdetails.size(); i++) { orderpieceorboxMap.put(orderdetails[i].Product_Pattern__c, orderdetails[i].Box_Piece__c); if (orderdetails[i].Unitprice_To_agency__c != null && orderdetails[i].Unitprice_To_agency__c != 0) { orderagencypriceMap.put(orderdetails[i].Product_Pattern__c, orderdetails[i].Unitprice_To_agency__c); } orderpriceMap.put(orderdetails[i].Product_Pattern__c, orderdetails[i].Delivery_List_RMB__c); orderdetCountMap.put(orderdetails[i].Product_Pattern__c, orderdetails[i].Shipment_Count__c); } } String ESetId = Order2.Id; System.Test.startTest(); LexSaleOrderController.GoodsDeliveryInit(ESetId); String barcode1 = ''; String key = ''; String baseUrl = ''; Integer a = 0; List consumableorderdetailsRecords = new List(); Map msiMap = new Map(); LexSaleOrderController.SearchPro(Order1,barcode1,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); String barcode = '11111250AAAAA\n22222250BBBBB\n33333250CCCCC\n44444250DDDDD\n55555250EEEEE\n666666\n777777\naaa'; LexSaleOrderController.ParseBarCode(barcode); LexSaleOrderController.SearchPro(Order2,barcode,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); LexSaleOrderController.ProdElivery(ESetId,Order2,barcode,accountName,userWorkLocation,JSON.serialize(consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.ProSale(ESetId,Order2,barcode,accountName,userWorkLocation,JSON.serialize(consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.Getconsumableorderdetails2Nobox(); List inList = LexSaleOrderController.consumableorderdetailsRecords; List inList1 = new List(); for(LexSaleOrderController.ConsumableorderdetailsInfo ass: inList){ ass.orderdetails2= Orderdet1; inList1.add(ass); } String errorReason = 'success'; LexSaleOrderController.ConsumableorderdetailsInfo c2 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet1,errorReason); c2.orderdetails1 = null; c2.orderdetails2 = Orderdet1; c2.Prod = Orderdet1.Consumable_product__r; c2.oldConsumableCount = Orderdet1.Name; c2.ErrorReason = errorReason; LexSaleOrderController.ConsumableorderdetailsInfo c1 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet2); c1.orderdetails1 = null; c1.orderdetails2 = Orderdet2; c1.Prod = Orderdet2.Consumable_product__r; c1.oldConsumableCount = Orderdet2.Name; c1.compareTo(c2); LexSaleOrderController.ConsumableorderdetailsInfo c3 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet6); c3.orderdetails1 = Orderdet6; c3.Prod = Orderdet6.Consumable_product__r; c3.outboundCount = Orderdet6.Shipment_Count__c; System.Test.stopTest(); } } @isTest static void testArriveOrder() { StaticParameter.EscapeConsumableOrderDetail2Trigger = true; Account myAccount2; Account olympus; User MyUser_Test; User thisUser = [SELECT Id FROM User WHERE Id =:UserInfo.getUserId()]; System.runAs(thisUser){ List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; RecordType hosCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; olympus = new Account(RecordTypeId = hosCo.Id, AgentCode_Ext__c = '9999900', Name = 'olympus'); insert olympus; myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id); insert myAccount2; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); insert core; 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='ENG', Work_Location__c='大连'); insert MyUser_Test; } system.runAs(MyUser_Test){ String Id = UserInfo.getUserId(); User thisUserInfo = [SELECT accountid,ContactId,Contact.AccountId, Work_Location__c FROM User WHERE id =:Id]; String accountId = thisUserInfo.Contact.AccountId; String userWorkLocation1 = thisUserInfo.Work_Location__c; String accountName = myAccount2.Name; System.debug('accountName = ' + accountName); System.debug('userWorkLocation1 = ' + userWorkLocation1); Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,Manual_Entry__c = false); Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,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.RecordTypeid = System.Label.RT_ConOrder_Order; Order1.IsShipment__c = True; Order1.OwnerId = MyUser_Test.Id; insert Order1; Consumable_order__c Order2 = new Consumable_order__c(); Order2.Name = 'OCM_02_001'; Order2.Order_status__c = '批准'; Order2.Order_type__c = '订单'; Order2.RecordTypeid = System.Label.RT_ConOrder_Order; Order2.Dealer_Info__c = myAccount2.Id; Order2.IsShipment__c = True; insert Order2; Consumable_order__c Order3 = new Consumable_order__c(); Order3.Name = 'OCM_02_005'; Order3.Order_status__c = '批准'; Order3.Order_type__c = '传票'; Order3.RecordTypeid = System.Label.RT_ConOrder_Order; Order3.Arrive_Order__c= Order1.Id; Order3.Dealer_Info__c = myAccount2.Id; Order3.SummonsForDirction__c ='直接销售给医院'; Order3.IsShipment__c = True; insert Order3; Consumable_order_details2__c Orderdet = new Consumable_order_details2__c(); Orderdet.Name = 'OCM_01_001001'; Orderdet.Consumable_Product__c = pro1.Id; Orderdet.Consumable_order_minor__c = Order1.Id; Orderdet.Consumable_Arrived_order__c = Order1.Id; Orderdet.Consumable_ZS_order__c = Order3.Id; Orderdet.Consumable_Return_order__c = Order1.Id; Orderdet.Consumable_Sale_order__c =null; Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet.RemoveBox_No__c = 3; Orderdet.Bar_Code__c = '1111111111250AAAAA'; Orderdet.Arrive_date__c = Date.today(); Orderdet.Delivery_List_RMB__c = 11.11; Orderdet.Box_Piece__c = '盒'; Orderdet.Return_date__c = null; Orderdet.TracingCode__c = ''; Orderdet.Cancellation_Flag__c = TRUE; Orderdet.Sterilization_limit__c = Date.today().addDays(-1); //发货 Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); Orderdet1.Name = 'OCM_01_001001'; Orderdet1.Consumable_Product__c = pro1.Id; Orderdet1.Consumable_order_minor__c = Order1.Id; Orderdet1.Consumable_ZS_order__c = Order3.Id; Orderdet1.Consumable_Return_order__c = Order1.Id; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.RemoveBox_No__c = 3; Orderdet1.Bar_Code__c = '2222222222250BBBBB'; Orderdet1.Arrive_date__c = Date.today(); Orderdet1.Return_reason__c = null; Orderdet1.Return_date__c = null; Orderdet1.Delivery_List_RMB__c = 11.11; Orderdet1.Box_Piece__c = '个'; Orderdet1.TracingCode__c = ''; Orderdet1.Cancellation_Flag__c = TRUE; Orderdet1.Sterilization_limit__c = Date.today().addDays(-1); //销售 Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); Orderdet2.Name = 'OCM_01_001002'; Orderdet2.Consumable_order_minor__c = Order3.Id; Orderdet2.Consumable_Shipment_order__c = Order3.Id; Orderdet2.Consumable_Sale_order__c = Order3.Id; Orderdet2.Consumable_ZS_order__c = Order3.Id; Orderdet2.Consumable_Return_order__c = Order3.Id; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet2.RemoveBox_No__c = 3; Orderdet2.Bar_Code__c = '3333333333250CCCCC'; Orderdet2.Consumable_Product__c = pro1.Id; Orderdet2.Send_Date__c = null; Orderdet2.Used_date__c = null; Orderdet2.Lose_Flag__c = FALSE; Orderdet2.Return_reason__c = null; Orderdet2.Return_date__c = null; Orderdet2.Delivery_List_RMB__c = 11; Orderdet2.Box_Piece__c = '盒'; Orderdet2.TracingCode__c = null; Orderdet2.Cancellation_Flag__c = TRUE; Orderdet2.Arrive_date__c = Date.today(); Orderdet2.Sterilization_limit__c = Date.today().addDays(-1); //销售 Consumable_order_details2__c Orderdet9 = new Consumable_order_details2__c(); Orderdet9.Name = 'OCM_01_001002'; Orderdet9.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet9.RemoveBox_No__c = 3; Orderdet9.Bar_Code__c = '4444444444250DDDDD'; Orderdet9.Consumable_Product__c = pro1.Id; Orderdet9.Arrive_date__c = Date.today(); Orderdet9.Used_date__c = Date.today(); Orderdet9.Box_Piece__c = '个'; Orderdet9.TracingCode__c = 'DDDDD'; //出库 Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); Orderdet3.Name = 'OCM_01_001003'; Orderdet3.Consumable_order_minor__c = Order1.Id; Orderdet3.Consumable_Shipment_order__c = Order1.Id; Orderdet3.Consumable_Sale_order__c = null; Orderdet3.Consumable_ZS_order__c = Order1.Id; Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet3.Bar_Code__c = '5555555555250EEEEE'; Orderdet3.Consumable_Product__c = pro1.Id; Orderdet3.Send_Date__c = Date.today(); Orderdet3.Box_Piece__c = '盒'; Orderdet3.Return_date__c= null; Orderdet3.Lose_Flag__c = True; Orderdet3.TracingCode__c = 'EEEEE'; //到货 Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); Orderdet4.Name = 'OCM_01_001004'; Orderdet4.Consumable_order_minor__c = null; Orderdet4.Consumable_Sale_order__c = null; Orderdet4.Consumable_ZS_order__c = Order1.Id; Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery ; Orderdet4.Consumable_Arrived_order__c = Order1.Id; Orderdet4.Sterilization_limit__c = Date.today().addDays(-1); Orderdet4.Bar_Code__c = '6666666666250FFFFF'; Orderdet4.Consumable_Product__c = pro1.Id; Orderdet4.Arrive_date__c = Date.today(); Orderdet4.Box_Piece__c = '个'; Orderdet4.TracingCode__c = 'FFFFF'; //发货 Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); Orderdet5.Name = 'OCM_02_001001'; Orderdet5.Consumable_order_minor__c = Order2.Id; Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet5.Bar_Code__c = '7777777777250GGGGG'; Orderdet5.Consumable_Product__c = pro1.Id; Orderdet5.Deliver_date__c = Date.today(); Orderdet5.RemoveBox_No__c = 3; Orderdet5.Box_Piece__c = '盒'; Orderdet5.TracingCode__c = 'GGGGG'; Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); Orderdet6.Name = 'OCM_02_001001'; Orderdet6.Consumable_order_minor__c = Order2.Id; Orderdet6.Consumable_ZS_order__c = Order2.Id; Orderdet6.Consumable_Return_order__c = Order2.Id; Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet6.Bar_Code__c = '8888888888250HHHHH'; Orderdet6.Consumable_Product__c = pro1.Id; Orderdet6.Arrive_date__c = Date.today(); Orderdet6.RemoveBox_No__c = 3; Orderdet6.Sterilization_limit__c = Date.today().addDays(-2); Orderdet6.TracingCode__c = 'HHHHH'; hospitalprice__c hp1 = new hospitalprice__c(); hp1.hospital__c = accountId; hp1.account__c = accountId; hp1.product__c = pro1.Id; insert hp1; List newdet2 = new List(); newdet2.add(Orderdet); insert newdet2; insert new Consumable_order_details2__c[] {Orderdet1,Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet9}; List cod2 = [SELECT Id,Arrive_Owner_Work_Location__c FROM Consumable_order_details2__c WHERE Id =: Orderdet.Id]; System.debug('cod2:' + cod2); String userWorkLocation = cod2[0].Arrive_Owner_Work_Location__c; System.debug('userWorkLocation:' + userWorkLocation); Map data = new Map(); String ESetId = Order2.Id; System.Test.startTest(); LexSaleOrderController.GoodsDeliveryInit(ESetId); String barcode1 = ''; String key = ''; orderpieceorboxMap = new Map(); List orderdetails = new List(); LexSaleOrderController.SearchPro(Order1,barcode1,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); String barcode = '1111111111250AAAAA\n2222222222250BBBBB\n3333333333250CCCCC\n4444444444250DDDDD\n5555555555250EEEEE\n6666666666250FFFFF\n7777777777250GGGGG\n8888888888250HHHHH'; LexSaleOrderController.SearchPro(Order2,barcode,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); String barcode2 = '111111111250AAAAA'; LexSaleOrderController.SearchPro(Order2,barcode2,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); LexSaleOrderController.ProdElivery(ESetId,Order2,barcode2,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.ProSale(ESetId,Order2,barcode2,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); String barcode3 = '3333333333250CCCCC'; LexSaleOrderController.SearchPro(Order3,barcode3,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); LexSaleOrderController.ProdElivery(ESetId,Order3,barcode3,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.ProSale(ESetId,Order3,barcode3,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.Getconsumableorderdetails2Nobox(); List inList = LexSaleOrderController.consumableorderdetailsRecords; List inList1 = new List(); for(LexSaleOrderController.ConsumableorderdetailsInfo ass: inList){ ass.orderdetails2= Orderdet1; inList1.add(ass); } String errorReason = 'success'; LexSaleOrderController.ConsumableorderdetailsInfo c2 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet1,errorReason); c2.orderdetails1 = null; c2.orderdetails2 = Orderdet1; c2.Prod = Orderdet1.Consumable_product__r; c2.oldConsumableCount = Orderdet1.Name; c2.ErrorReason = errorReason; LexSaleOrderController.ConsumableorderdetailsInfo c1 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet2); c1.orderdetails1 = null; c1.orderdetails2 = Orderdet2; c1.Prod = Orderdet2.Consumable_product__r; c1.oldConsumableCount = Orderdet2.Name; c1.compareTo(c2); System.Test.stopTest(); } } @isTest static void testProSale() { StaticParameter.EscapeConsumableOrderDetail2Trigger = true; List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; RecordType hosCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; Account olympus = new Account(RecordTypeId = hosCo.Id, AgentCode_Ext__c = '9999900', Name = 'olympus'); insert olympus; Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id); insert myAccount2; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.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='ENG', Work_Location__c='大连'); System.runAs(new User(Id = UserInfo.getUserId())){ insert MyUser_Test; } system.runAs(MyUser_Test){ String Id = UserInfo.getUserId(); User thisUserInfo = [SELECT accountid,ContactId,Contact.AccountId, Work_Location__c FROM User WHERE id =:Id]; String accountId = thisUserInfo.Contact.AccountId; String userWorkLocation = thisUserInfo.Work_Location__c; String accountName; Account[] accountInfo = [SELECT Name FROM account WHERE id = :accountId LIMIT 1]; if(accountInfo.size() > 0 ){ accountName = accountInfo[0].Name; } Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,Manual_Entry__c = false); Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,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.RecordTypeid = System.Label.RT_ConOrder_Order; Order1.Dealer_Info__c = myAccount2.Id; Order1.IsShipment__c = True; insert Order1; Consumable_order__c Order3 = new Consumable_order__c(); Order3.Name = 'OCM_02_005'; Order3.Order_status__c = '批准'; Order3.Order_type__c = '传票'; Order3.RecordTypeid = System.Label.RT_ConOrder_Order; Order3.Arrive_Order__c = Order1.Id; Order3.Dealer_Info__c = myAccount2.Id; Order3.SummonsForDirction__c ='直接销售给医院'; Order3.IsShipment__c = True; insert Order3; List orderdetails = new List(); //明细1 Consumable_orderdetails__c conOrder1 = new Consumable_orderdetails__c(); conOrder1.Name = 'OCM_01_001001'; conOrder1.Consumable_order__c = Order1.Id; conOrder1.RecordTypeId = System.Label.RT_ConOrderDetail1_Order ; conOrder1.Consumable_Count__c = 12; conOrder1.Consumable_Product__c = pro1.Id; conOrder1.Delivery_List_RMB__c = 1; conOrder1.Shipment_Count__c = 1; conOrder1.Box_Piece__c = '盒'; Consumable_orderdetails__c conOrder2 = new Consumable_orderdetails__c(); conOrder2.Name = 'OCM_01_001002'; conOrder2.Consumable_order__c = Order1.Id; conOrder2.RecordTypeId = System.Label.RT_ConOrderDetail1_Order ; conOrder2.Consumable_Count__c = 12; conOrder2.Consumable_Product__c = pro1.Id; conOrder2.Delivery_List_RMB__c = 1; conOrder2.Shipment_Count__c = 1; conOrder2.Box_Piece__c = '个'; orderdetails.add(conOrder1); orderdetails.add(conOrder2); insert orderdetails; System.debug('orderdetails.size() = ' + orderdetails.size()); Consumable_order_details2__c Orderdet = new Consumable_order_details2__c(); Orderdet.Name = 'OCM_01_001001'; Orderdet.Consumable_Product__c = pro1.Id; Orderdet.Consumable_order_minor__c = Order1.Id; Orderdet.Consumable_ZS_order__c = Order3.Id; Orderdet.Consumable_Return_order__c = Order1.Id; Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet.RemoveBox_No__c = 3; Orderdet.Bar_Code__c = '1111111111250AAAAA'; Orderdet.Arrive_date__c = Date.today(); Orderdet.Delivery_List_RMB__c = 11.11; Orderdet.Box_Piece__c = '盒'; Orderdet.Return_date__c = null; Orderdet.TracingCode__c = ''; Orderdet.Cancellation_Flag__c = TRUE; Orderdet.Sterilization_limit__c = Date.today().addDays(-1); //发货 Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); Orderdet1.Name = 'OCM_01_001001'; Orderdet1.Consumable_Product__c = pro1.Id; Orderdet1.Consumable_order_minor__c = Order1.Id; Orderdet1.Consumable_ZS_order__c = Order3.Id; Orderdet1.Consumable_Return_order__c = Order1.Id; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.RemoveBox_No__c = 3; Orderdet1.Bar_Code__c = '2222222222250BBBBB'; Orderdet1.Arrive_date__c = Date.today(); Orderdet1.Return_reason__c = null; Orderdet1.Return_date__c = null; Orderdet1.Delivery_List_RMB__c = 11.11; Orderdet1.Box_Piece__c = '个'; Orderdet1.TracingCode__c = ''; Orderdet1.Cancellation_Flag__c = TRUE; Orderdet1.Sterilization_limit__c = Date.today().addDays(-1); //销售 Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); Orderdet2.Name = 'OCM_01_001002'; Orderdet2.Consumable_order_minor__c = Order3.Id; Orderdet2.Consumable_Shipment_order__c = Order3.Id; Orderdet2.Consumable_Sale_order__c = Order3.Id; Orderdet2.Consumable_ZS_order__c = Order3.Id; Orderdet2.Consumable_Return_order__c = Order3.Id; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet2.RemoveBox_No__c = 3; Orderdet2.Bar_Code__c = '3333333333250CCCCC'; Orderdet2.Consumable_Product__c = pro1.Id; Orderdet2.Send_Date__c = null; Orderdet2.Used_date__c = null; Orderdet2.Lose_Flag__c = FALSE; Orderdet2.Return_reason__c = null; Orderdet2.Return_date__c = null; Orderdet2.Delivery_List_RMB__c = 11; Orderdet2.Box_Piece__c = '盒'; Orderdet2.TracingCode__c = null; Orderdet2.Cancellation_Flag__c = TRUE; Orderdet2.Arrive_date__c = Date.today(); Orderdet2.Sterilization_limit__c = Date.today().addDays(-1); //销售 Consumable_order_details2__c Orderdet9 = new Consumable_order_details2__c(); Orderdet9.Name = 'OCM_01_001002'; Orderdet9.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet9.RemoveBox_No__c = 3; Orderdet9.Bar_Code__c = '4444444444250DDDDD'; Orderdet9.Consumable_Product__c = pro1.Id; Orderdet9.Arrive_date__c = Date.today(); Orderdet9.Used_date__c = Date.today(); Orderdet9.Box_Piece__c = '个'; Orderdet9.TracingCode__c = 'DDDDD'; //出库 Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); Orderdet3.Name = 'OCM_01_001003'; Orderdet3.Consumable_order_minor__c = Order1.Id; Orderdet3.Consumable_Shipment_order__c = Order1.Id; Orderdet3.Consumable_order_minor__c = null; Orderdet3.Consumable_Sale_order__c = null; Orderdet3.Consumable_ZS_order__c = Order1.Id; Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet3.Bar_Code__c = '5555555555250EEEEE'; Orderdet3.Consumable_Product__c = pro1.Id; Orderdet3.Send_Date__c = Date.today(); Orderdet3.Box_Piece__c = '盒'; Orderdet3.Return_date__c= null; Orderdet3.Lose_Flag__c = True; Orderdet3.TracingCode__c = 'EEEEE'; List newdet2 = new List(); newdet2.add(Orderdet); insert newdet2; insert new Consumable_order_details2__c[] {Orderdet1,Orderdet2,Orderdet3,Orderdet9}; Map data = new Map(); String ESetId = Order3.Id; System.Test.startTest(); LexSaleOrderController.GoodsDeliveryInit(ESetId); String barcode1 = ''; String key = ''; Integer i = 0; Decimal a = 0; orderpieceorboxMap = new Map(); LexSaleOrderController.SearchPro(Order1,barcode1,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); String barcode = '1111111111250AAAAA\n2222222222250BBBBB\n3333333333250CCCCC\n4444444444250DDDDD\n5555555555250EEEEE'; LexSaleOrderController.SearchPro(Order3,barcode,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); LexSaleOrderController.ProdElivery(ESetId,Order3,barcode,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.ProSale(ESetId,Order3,barcode,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); List inList = LexSaleOrderController.consumableorderdetailsRecords; List inList1 = new List(); for(LexSaleOrderController.ConsumableorderdetailsInfo ass: inList){ ass.orderdetails2= Orderdet1; inList1.add(ass); } String errorReason = 'success'; LexSaleOrderController.ConsumableorderdetailsInfo c2 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet1,errorReason); c2.orderdetails1 = null; c2.orderdetails2 = Orderdet1; c2.Prod = Orderdet1.Consumable_product__r; c2.oldConsumableCount = Orderdet1.Name; c2.ErrorReason = errorReason; LexSaleOrderController.ConsumableorderdetailsInfo c1 = new LexSaleOrderController.ConsumableorderdetailsInfo(Orderdet2); c1.orderdetails1 = null; c1.orderdetails2 = Orderdet2; c1.Prod = Orderdet2.Consumable_product__r; c1.oldConsumableCount = Orderdet2.Name; c1.compareTo(c2); System.Test.stopTest(); } } @isTest static void testProdError() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; RecordType hosCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; Account olympus = new Account(RecordTypeId = hosCo.Id, AgentCode_Ext__c = '9999900', Name = 'olympus'); insert olympus; Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id); insert myAccount2; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.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', Work_Location__c='大连'); System.runAs(new User(Id = UserInfo.getUserId())){ insert MyUser_Test; } //订单 system.runAs(MyUser_Test){ String Id = UserInfo.getUserId(); User thisUserInfo = [SELECT accountid,ContactId,Contact.AccountId, Work_Location__c FROM User WHERE id =:Id]; String accountId = thisUserInfo.Contact.AccountId; String userWorkLocation = thisUserInfo.Work_Location__c; String accountName; Account[] accountInfo = [SELECT Name FROM account WHERE id = :accountId LIMIT 1]; if(accountInfo.size() > 0 ){ accountName = accountInfo[0].Name; } Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,Manual_Entry__c = false); Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,Manual_Entry__c = false); Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12,Manual_Entry__c = false); insert new Product2[]{prod01,prod02,prod03}; 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); Product2__c pro3 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id); insert new Product2__c[] {pro1, pro2,pro3}; //出库单 Consumable_order__c Order1 = new Consumable_order__c(); Order1.Name = 'OCM_01_001'; Order1.Order_status__c = '批准'; Order1.Order_type__c = '传票'; Order1.RecordTypeid = System.Label.RT_ConOrder_Order; Order1.Dealer_Info__c = myAccount2.Id; Order1.SummonsForDirction__c ='直接销售给医院'; Order1.IsShipment__c = true; insert Order1; List orderdetails = new List(); //明细1 Consumable_orderdetails__c Orderdet1 = new Consumable_orderdetails__c(); Orderdet1.Name = 'OCM_01_001001'; Orderdet1.Consumable_order__c = Order1.Id; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Order ; Orderdet1.Consumable_Count__c = 12; Orderdet1.Consumable_Product__c = pro1.Id; Orderdet1.Unitprice_To_agency__c = 1; Orderdet1.Delivery_List_RMB__c = 1; Orderdet1.Shipment_Count__c = 1; Orderdet1.Box_Piece__c = '盒'; Consumable_orderdetails__c Orderdet2 = new Consumable_orderdetails__c(); Orderdet2.Name = 'OCM_01_001002'; Orderdet2.Consumable_order__c = Order1.Id; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Order ; Orderdet2.Consumable_Count__c = 12; Orderdet2.Consumable_Product__c = pro2.Id; Orderdet2.Unitprice_To_agency__c = 1; Orderdet2.Delivery_List_RMB__c = 1; Orderdet2.Shipment_Count__c = 1; Orderdet2.Box_Piece__c = '个'; orderdetails.add(Orderdet1); orderdetails.add(Orderdet2); insert orderdetails; //明细2 Consumable_order_details2__c Orderdets1 = new Consumable_order_details2__c(); Orderdets1.Name = 'OCM_01_0010001'; Orderdets1.Consumable_order_minor__c = Order1.Id; Orderdets1.Consumable_ZS_order__c = Order1.Id; Orderdets1.Consumable_Return_order__c = null; Orderdets1.Consumable_Sale_order__c =null; Orderdets1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdets1.Bar_Code__c = '11111250AAAAA'; Orderdets1.Consumable_Product__c = pro1.Id; Orderdets1.Arrive_date__c = Date.today(); Orderdets1.Return_date__c= null; Orderdets1.RemoveBox_No__c = 3; Orderdets1.Delivery_List_RMB__c = 11.11; Orderdets1.Box_Piece__c = '盒'; Orderdets1.Sterilization_limit__c = Date.today().addDays(-1); Orderdets1.TracingCode__c = 'AAAAA'; Consumable_order_details2__c Orderdets2 = new Consumable_order_details2__c(); Orderdets2.Name = 'OCM_01_0010002'; Orderdets2.Consumable_Return_order__c = null; Orderdets2.Consumable_Sale_order__c =null; Orderdets2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdets2.Bar_Code__c = '22222250BBBBB'; Orderdets2.Consumable_Product__c = pro2.Id; Orderdets2.Arrive_date__c = Date.today(); Orderdets2.Return_date__c= null; Orderdets2.RemoveBox_No__c = 3; Orderdets2.Delivery_List_RMB__c = 11.11; Orderdets2.Box_Piece__c = '个'; Orderdets2.Sterilization_limit__c = Date.today().addDays(-1); Orderdets2.TracingCode__c = ''; Consumable_order_details2__c Orderdets3 = new Consumable_order_details2__c(); Orderdets3.Name = 'OCM_01_0010003'; Orderdets3.Consumable_order_minor__c = Order1.Id; Orderdets3.Consumable_ZS_order__c = Order1.Id; Orderdets3.Consumable_Return_order__c = null; Orderdets2.Consumable_Sale_order__c =null; Orderdets3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdets3.Bar_Code__c = '33333250CCCCC'; Orderdets3.Consumable_Product__c = pro3.Id; Orderdets3.Arrive_date__c = Date.today(); Orderdets3.Return_date__c= null; Orderdets3.RemoveBox_No__c = 3; Orderdets3.Delivery_List_RMB__c = 11.11; Orderdets3.Box_Piece__c = '盒'; Orderdets3.Sterilization_limit__c = Date.today().addDays(-1); Orderdets3.TracingCode__c = 'CCCCC'; //未到货 Consumable_order_details2__c Orderdets4 = new Consumable_order_details2__c(); Orderdets4.Name = 'OCM_01_0010001'; Orderdets4.Consumable_order_minor__c = Order1.Id; Orderdets4.Consumable_ZS_order__c = Order1.Id; Orderdets4.Consumable_Return_order__c = null; Orderdets4.Consumable_Sale_order__c =null; Orderdets4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdets4.Bar_Code__c = '44444250DDDDD'; Orderdets4.Arrive_date__c = Date.today(); Orderdets4.Return_date__c= null; Orderdets4.Consumable_Product__c = pro1.Id; Orderdets4.Delivery_List_RMB__c = 11.11; Orderdets4.RemoveBox_No__c = 3; Orderdets4.Box_Piece__c = '盒'; Orderdets4.Sterilization_limit__c = Date.today().addDays(-1); Orderdets4.TracingCode__c = 'DDDDD'; Consumable_order_details2__c Orderdets5 = new Consumable_order_details2__c(); Orderdets5.Name = 'OCM_01_0010003'; Orderdets5.Consumable_order_minor__c = Order1.Id; Orderdets5.Consumable_ZS_order__c = Order1.Id; Orderdets5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdets5.Bar_Code__c = '33333250EEEEE'; Orderdets5.Consumable_Product__c = pro3.Id; Orderdets5.Arrive_date__c = Date.today(); Orderdets5.Return_date__c= null; Orderdets5.RemoveBox_No__c = 3; Orderdets5.Delivery_List_RMB__c = 11.11; Orderdets5.Box_Piece__c = '个'; Orderdets5.Sterilization_limit__c = Date.today().addDays(-1); Orderdets5.TracingCode__c = 'EEEEE'; List newdet2 = new List(); newdet2.add(Orderdets1); insert newdet2; insert new Consumable_order_details2__c[] {Orderdets2,Orderdets3,Orderdets4,Orderdets5}; List barCodeListP = new List(); Map data = new Map(); String ESetId = Order1.Id; System.Test.startTest(); LexSaleOrderController.GoodsDeliveryInit(ESetId); String barcode = '11111250AAAAA\n22222250BBBBB\n33333250CCCCC\n44444250DDDDD\n33333250EEEEE'; barCodeListP = LexSaleOrderController.ParseBarCode(barcode); System.debug('barCodeListP:' + barCodeListP); System.debug('accountName:' + accountName); System.debug('userWorkLocation:' + userWorkLocation); String key = ''; Integer idx = 0; orderpieceorboxMap = new Map(); LexSaleOrderController.SearchPro(Order1,barcode,accountName,userWorkLocation,accountId,orderdetails,orderpieceorboxMap); LexSaleOrderController.ProdElivery(ESetId,Order1,barcode,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); LexSaleOrderController.ProSale(ESetId,Order1,barcode,accountName,userWorkLocation,JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords),orderdetails,orderpriceMap,orderagencypriceMap); System.Test.stopTest(); } } @isTest static void searchTest1() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } 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',Work_Location__c='北京'); System.runAs(new User(Id = UserInfo.getUserId())){ insert MyUser_Test; } System.runAs(MyUser_Test){ 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}; Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='N3047730',Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='N3047731',Product2__c = prod02.Id); insert new Product2__c[] {pro1, pro2}; hospitalprice__c hp1 = new hospitalprice__c(); hp1.hospital__c = myAccount1.Id; hp1.account__c = myAccount1.Id; hp1.product__c = pro1.Id; insert hp1; Consumable_order__c Order0 = new Consumable_order__c(); Order0.Name = 'OCM_01_000'; Order0.Order_status__c = '批准'; Order0.Order_type__c = '订单'; Order0.Dealer_Info__c = myAccount1.id; Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery; Order0.Order_ProType__c = 'ET'; Order0.OutPattern__c = true; insert Order0; 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.Order_ProType__c = 'ET'; Order1.OutPattern__c = true; Order1.Arrive_Order__c = Order0.Id; insert Order1; 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; Orderdet.Shipment_Count__c = 1; Orderdet.isOutPattern__c = true; 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 = 'Test01'; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; Orderdet1.Cancellation_Date__c = null; Orderdet1.TracingCode__c = 'BXJRF'; Orderdet1.SerialLotNo__c = '5ZK'; Orderdet1.Arrive_date__c = Date.today(); Orderdet1.exchangeOutPattern__c = true; Orderdet1.Consumable_ZS_order__c = Order1.Id; insert Orderdet1; System.debug('Orderdet1:'+Orderdet1); Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); Orderdet2.Name = 'OCM_01_001001'; Orderdet2.Consumable_order_minor__c = Order1.Id; Orderdet2.Consumable_Product__c = pro1.Id; Orderdet2.Asset_Model_No__c = 'Test01'; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet2.Bar_Code__c = '01049531702003111115120017181234105ZK250BXJRF'; Orderdet1.Cancellation_Date__c = null; Orderdet2.TracingCode__c = 'BXJRF'; Orderdet2.SerialLotNo__c = '5ZK'; // Orderdet2.Consumable_ZS_order__c = Order1.Id; // Orderdet2.Box_Piece__c = '个'; insert Orderdet2; System.Test.startTest(); String a = LexSaleOrderController.baseUrl; LexSaleOrderController.msiMap = new Map(); List orderdetails = new List(); orderdetails.add(Orderdet); LexSaleOrderController.GoodsDeliveryInit(Order1.Id); String condetailList = JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords); Order1.Arrive_Order__c = null; LexSaleOrderController.SearchPro(Order1, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', myAccount1.Id, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpieceorboxMap); LexSaleOrderController.ProdElivery(Order1.Id, LexSaleOrderController.coc, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', condetailList, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpriceMap, LexSaleOrderController.orderagencypriceMap); LexSaleOrderController.ProSale(Order1.Id, LexSaleOrderController.coc, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', condetailList, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpriceMap, LexSaleOrderController.orderagencypriceMap); System.Test.stopTest(); } } @isTest static void searchTest2() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } 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',Work_Location__c='北京'); System.runAs(new User(Id = UserInfo.getUserId())){ insert MyUser_Test; } System.runAs(MyUser_Test){ 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}; Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='N3047730',Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='N3047731',Product2__c = prod02.Id); insert new Product2__c[] {pro1, pro2}; hospitalprice__c hp1 = new hospitalprice__c(); hp1.hospital__c = myAccount1.Id; hp1.account__c = myAccount1.Id; hp1.product__c = pro1.Id; insert hp1; Consumable_order__c Order0 = new Consumable_order__c(); Order0.Name = 'OCM_01_000'; Order0.Order_status__c = '批准'; Order0.Order_type__c = '订单'; Order0.Dealer_Info__c = myAccount1.id; Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery; Order0.Order_ProType__c = 'ET'; Order0.OutPattern__c = true; insert Order0; 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.Order_ProType__c = 'ET'; Order1.OutPattern__c = true; Order1.Arrive_Order__c = Order0.Id; insert Order1; 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; Orderdet.Shipment_Count__c = 1; Orderdet.isOutPattern__c = true; 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 = 'Test01'; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; Orderdet1.Cancellation_Date__c = null; Orderdet1.TracingCode__c = 'BXJRF'; Orderdet1.SerialLotNo__c = '5ZK'; Orderdet1.Arrive_date__c = Date.today(); Orderdet1.exchangeOutPattern__c = true; Orderdet1.Consumable_ZS_order__c = Order1.Id; Orderdet1.Box_Piece__c = '个'; insert Orderdet1; System.debug('Orderdet1:'+Orderdet1); System.Test.startTest(); String a = LexSaleOrderController.baseUrl; LexSaleOrderController.msiMap = new Map(); List orderdetails = new List(); orderdetails.add(Orderdet); LexSaleOrderController.GoodsDeliveryInit(Order1.Id); LexSaleOrderController.consumableorderdetailsRecords[0].outboundCount = 1; String condetailList = JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords); LexSaleOrderController.ProdElivery(Order1.Id, LexSaleOrderController.coc, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', condetailList, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpriceMap, LexSaleOrderController.orderagencypriceMap); // LexSaleOrderController.ProSale(Order1.Id, LexSaleOrderController.coc, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', condetailList, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpriceMap, LexSaleOrderController.orderagencypriceMap); System.Test.stopTest(); } } @isTest static void searchTest3() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } 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',Work_Location__c='北京'); System.runAs(new User(Id = UserInfo.getUserId())){ insert MyUser_Test; } System.runAs(MyUser_Test){ 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}; Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='N3047730',Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='N3047731',Product2__c = prod02.Id); insert new Product2__c[] {pro1, pro2}; hospitalprice__c hp1 = new hospitalprice__c(); hp1.hospital__c = myAccount1.Id; hp1.account__c = myAccount1.Id; hp1.product__c = pro1.Id; insert hp1; Consumable_order__c Order0 = new Consumable_order__c(); Order0.Name = 'OCM_01_000'; Order0.Order_status__c = '批准'; Order0.Order_type__c = '订单'; Order0.Dealer_Info__c = myAccount1.id; Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery; Order0.Order_ProType__c = 'ET'; Order0.OutPattern__c = true; insert Order0; 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.Order_ProType__c = 'ET'; Order1.OutPattern__c = true; Order1.Arrive_Order__c = Order0.Id; insert Order1; 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; Orderdet.Shipment_Count__c = 1; Orderdet.isOutPattern__c = true; 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 = 'Test01'; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; Orderdet1.Cancellation_Date__c = null; Orderdet1.TracingCode__c = 'BXJRF'; Orderdet1.SerialLotNo__c = '5ZK'; Orderdet1.Arrive_date__c = Date.today(); Orderdet1.exchangeOutPattern__c = true; Orderdet1.Consumable_ZS_order__c = Order1.Id; Orderdet1.Box_Piece__c = '个'; insert Orderdet1; System.debug('Orderdet1:'+Orderdet1); System.Test.startTest(); String a = LexSaleOrderController.baseUrl; LexSaleOrderController.msiMap = new Map(); List orderdetails = new List(); orderdetails.add(Orderdet); LexSaleOrderController.GoodsDeliveryInit(Order1.Id); LexSaleOrderController.consumableorderdetailsRecords[0].outboundCount = 1; String condetailList = JSON.serialize(LexSaleOrderController.consumableorderdetailsRecords); // LexSaleOrderController.ProdElivery(Order1.Id, LexSaleOrderController.coc, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', condetailList, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpriceMap, LexSaleOrderController.orderagencypriceMap); LexSaleOrderController.ProSale(Order1.Id, LexSaleOrderController.coc, '01049531702003111115120017181000105ZK250BXJRF', myAccount1.Name, '', condetailList, LexSaleOrderController.orderdetails, LexSaleOrderController.orderpriceMap, LexSaleOrderController.orderagencypriceMap); System.Test.stopTest(); } } }