@isTest
|
private class LexConInvoicedetailsControllerTest {
|
@isTest
|
static void all() {
|
User myUser_test;
|
Account myAccount1;
|
Account myAccount2;
|
User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
|
System.runAs(thisUser) {
|
Profile prof = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)'];
|
List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'];
|
if (rectCo.size() == 0) {
|
return;
|
}
|
List<RecordType> rectHos = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'];
|
if (rectHos.size() == 0) {
|
return;
|
}
|
myAccount1 = new Account(Name = 'testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id);
|
myAccount2 = new Account(Name = 'testaccount002', Dealer_discount__c = 20, RecordTypeId = rectHos[0].Id);
|
insert myAccount1;
|
insert myAccount2;
|
Contact core = new Contact(
|
email = 'jplumber@salesforce.com',
|
firstname = 'Joe',
|
lastname = 'Plumber',
|
accountid = myAccount1.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) {
|
//产品信息
|
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 = 1,
|
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 = 1,
|
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 = 1,
|
Manual_Entry__c = false
|
);
|
Product2 prod04 = new Product2(
|
Name = 'Test04',
|
ProductCode = 'Test04',
|
Asset_Model_No__c = 'Test04',
|
SFDA_Status__c = '有効',
|
Dealer_special_Object__c = true,
|
Packing_list_manual__c = 2,
|
Manual_Entry__c = false
|
);
|
Product2 prod05 = new Product2(
|
Name = 'Test05',
|
ProductCode = 'Test05',
|
Asset_Model_No__c = 'Test05',
|
SFDA_Status__c = '有効',
|
Dealer_special_Object__c = true,
|
Packing_list_manual__c = 1,
|
Manual_Entry__c = false
|
);
|
Product2 prod06 = new Product2(
|
Name = 'Test06',
|
ProductCode = 'Test06',
|
Asset_Model_No__c = 'Test06',
|
SFDA_Status__c = '有効',
|
Dealer_special_Object__c = true,
|
Packing_list_manual__c = 1,
|
Manual_Entry__c = false
|
);
|
insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05, prod06 };
|
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 = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod03.Id);
|
Product2__c pro4 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod04.Id);
|
Product2__c pro5 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod05.Id);
|
Product2__c pro6 = new Product2__c(Name = 'Pro006', OT_CODE_Text__c = 'Test006', Product2__c = prod06.Id);
|
insert new List<Product2__c>{ pro4, pro5, pro6, pro1, pro2, pro3 };
|
//发票
|
Consumable_order__c invoiceorder = new Consumable_order__c();
|
invoiceorder.Name = 'invoice02';
|
invoiceorder.Order_type__c = '发票';
|
invoiceorder.Invoice_status__c = '已完成';
|
invoiceorder.Invoice_Date__c = Date.today();
|
invoiceorder.RecordTypeid = System.Label.RT_ConOrder_Invoice;
|
invoiceorder.Dealer_info__c = myAccount1.Id;
|
// createId.Order_ForHospital__c = myAccount2.Id;
|
invoiceorder.SummonsForDirction__c = '直接销售给医院';
|
invoiceorder.Order_status__c = '草案中';
|
insert invoiceorder;
|
|
//出库单信息
|
//出库单
|
Consumable_order__c testList1 = new Consumable_order__c(
|
Name = 'Test1',
|
Summons_Sale_Status__c = '出货',
|
SummonsStatus_c__c = '已完成',
|
SummonsForDirction__c = '直接销售给医院',
|
Order_status__c = '草案中',
|
Order_type__c = '传票',
|
Dealer_info__c = myAccount1.Id,
|
ConInvoice_Code__c = invoiceorder.id
|
);
|
Consumable_order__c testList2 = new Consumable_order__c(
|
Name = 'Test2',
|
Summons_Sale_Status__c = '出货',
|
SummonsStatus_c__c = '已完成',
|
SummonsForDirction__c = '直接销售给医院',
|
Order_status__c = '已提交',
|
Order_type__c = '传票',
|
Dealer_info__c = myAccount1.Id,
|
ConInvoice_Code__c = invoiceorder.id
|
);
|
TestList1.Order_date__c = Date.today().addDays(2);
|
TestList2.Order_date__c = Date.today().addDays(2);
|
TestList1.Order_date__c = Date.today();
|
TestList2.Deliver_date__c = Date.today();
|
insert new List<Consumable_order__c>{ testList1, testList2 };
|
|
List<Consumable_Orderdetails__c> invoiceList = new List<Consumable_Orderdetails__c>();
|
//发票明细1
|
Consumable_orderdetails__c invoicedet1 = new Consumable_orderdetails__c();
|
invoicedet1.Name = 'invoicetest1_001001';
|
invoicedet1.Consumable_order__c = invoiceorder.id;
|
invoicedet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
invoicedet1.Consumable_count__c = 1;
|
invoicedet1.Consumable_product__c = pro1.Id;
|
invoicedet1.Invoicedet1_OD_link__c = testList1.Id;
|
invoicedet1.Box_Piece__c = '盒';
|
invoicedet1.Shipment_Count__c = 1;
|
invoicedet1.Invoice_Unitprice__c = 1;
|
invoicedet1.Delivery_List_RMB__c = 1;
|
invoicedet1.InvoicedProCost_RMB__c = 1;
|
invoicedet1.Invoice_Unit__c = '个';
|
invoicedet1.Invoiced_Procount__c = 3;
|
invoicedet1.RrturnPro_count__c = 3;
|
invoiceList.add(invoicedet1);
|
|
Consumable_orderdetails__c invoicedet2 = new Consumable_orderdetails__c();
|
invoicedet2.Name = 'invoiceTest1_001002';
|
invoicedet2.Consumable_order__c = invoiceorder.Id;
|
invoicedet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
invoicedet2.Consumable_count__c = 1;
|
invoicedet2.Consumable_product__c = pro2.Id;
|
invoicedet2.Invoicedet1_OD_link__c = testList2.Id;
|
invoicedet2.Box_Piece__c = '盒';
|
invoicedet2.Shipment_Count__c = 1;
|
invoicedet2.Invoice_Unitprice__c = 1;
|
invoicedet2.Delivery_List_RMB__c = 1;
|
invoicedet2.InvoicedProCost_RMB__c = 1;
|
invoicedet2.Invoice_Unit__c = '个';
|
invoicedet2.Invoiced_Procount__c = 3;
|
invoicedet2.RrturnPro_count__c = 3;
|
invoiceList.add(invoicedet2);
|
|
Consumable_orderdetails__c invoicedet3 = new Consumable_orderdetails__c();
|
invoicedet3.Name = 'invoiceTest1_001003';
|
invoicedet3.Consumable_order__c = invoiceorder.Id;
|
invoicedet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
invoicedet3.Consumable_count__c = 1;
|
invoicedet3.Consumable_product__c = pro2.Id;
|
invoicedet3.Invoicedet1_OD_link__c = testList2.Id;
|
invoicedet3.Box_Piece__c = '个';
|
invoicedet3.Shipment_Count__c = 1;
|
invoicedet3.Invoice_Unit__c = '盒';
|
invoicedet3.Delivery_List_RMB__c = 2.0;
|
invoicedet3.Invoice_Unitprice__c = 1;
|
invoicedet3.InvoicedProCost_RMB__c = 1;
|
invoicedet3.Invoiced_Procount__c = 3;
|
invoicedet3.RrturnPro_count__c = 3;
|
invoiceList.add(invoicedet3);
|
insert invoiceList;
|
|
List<Consumable_Orderdetails__c> codList = new List<Consumable_Orderdetails__c>();
|
//出库单明细1
|
Consumable_orderdetails__c orderdet1 = new Consumable_orderdetails__c();
|
orderdet1.Name = 'Test1_001001';
|
//orderdet1.Consumable_principal__c = testList1.Id;
|
orderdet1.Consumable_order__c = testList1.Id;
|
orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet1.Consumable_count__c = 1;
|
orderdet1.Consumable_product__c = pro1.Id;
|
orderdet1.Box_Piece__c = '盒';
|
orderdet1.Shipment_Count__c = 11;
|
orderdet1.Delivery_List_RMB__c = 2.0;
|
orderdet1.Invoice_Unitprice__c = 1;
|
orderdet1.InvoicedProCost_RMB__c = 1;
|
orderdet1.Invoiced_Procount__c = 3;
|
orderdet1.RrturnPro_count__c = 3;
|
orderdet1.Invoice_Unit__c = '个';
|
codList.add(orderdet1);
|
|
Consumable_orderdetails__c orderdet2 = new Consumable_orderdetails__c();
|
orderdet2.Name = 'Test1_0010011';
|
orderdet2.Consumable_order__c = testList1.Id;
|
orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet2.Consumable_count__c = 1;
|
orderdet2.Consumable_product__c = pro2.Id;
|
orderdet2.Box_Piece__c = '个';
|
orderdet2.Shipment_Count__c = 11;
|
orderdet2.Delivery_List_RMB__c = 2.0;
|
orderdet2.Invoice_Unitprice__c = 1;
|
orderdet2.InvoicedProCost_RMB__c = 1;
|
orderdet2.Invoiced_Procount__c = 3;
|
orderdet2.RrturnPro_count__c = 3;
|
orderdet2.Invoice_Unit__c = '盒';
|
codList.add(orderdet2);
|
|
Consumable_orderdetails__c orderdet3 = new Consumable_orderdetails__c();
|
orderdet3.Name = 'Test1_0010012';
|
orderdet3.Consumable_order__c = testList1.Id;
|
orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet3.Consumable_count__c = 1;
|
orderdet3.Consumable_product__c = pro2.Id;
|
orderdet3.Box_Piece__c = '盒';
|
orderdet3.Shipment_Count__c = 10;
|
orderdet3.Delivery_List_RMB__c = 2.0;
|
orderdet3.Invoice_Unitprice__c = 1;
|
orderdet3.InvoicedProCost_RMB__c = 1;
|
orderdet3.Invoiced_Procount__c = 3;
|
orderdet3.RrturnPro_count__c = 3;
|
orderdet3.Invoice_Unit__c = '个';
|
orderdet3.Invoiced_Count__c = 3;
|
codList.add(orderdet3);
|
|
Consumable_orderdetails__c orderdet4 = new Consumable_orderdetails__c();
|
orderdet4.Name = 'Test1_0010031';
|
orderdet4.Consumable_order__c = testList1.Id;
|
orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet4.Consumable_count__c = 1;
|
orderdet4.Consumable_product__c = pro1.Id;
|
orderdet4.Box_Piece__c = '个';
|
orderdet4.Shipment_Count__c = 10;
|
orderdet4.Delivery_List_RMB__c = 2.0;
|
orderdet4.Invoice_Unitprice__c = 1;
|
orderdet4.InvoicedProCost_RMB__c = 1;
|
orderdet4.Invoiced_Procount__c = 3;
|
orderdet4.RrturnPro_count__c = 3;
|
orderdet4.Invoice_Unit__c = '盒';
|
orderdet4.Invoiced_Count__c = 3;
|
codList.add(orderdet4);
|
|
Consumable_orderdetails__c orderdet5 = new Consumable_orderdetails__c();
|
orderdet5.Name = 'Test1_001002';
|
orderdet5.Consumable_order__c = testList1.Id;
|
orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet5.Consumable_count__c = 1;
|
orderdet5.Box_Piece__c = '盒';
|
orderdet5.Consumable_product__c = pro2.Id;
|
orderdet5.Invoice_Unit__c = '个';
|
orderdet5.Shipment_Count__c = 11;
|
orderdet5.Delivery_List_RMB__c = 2.0;
|
orderdet5.Invoiced_Procount__c = 3;
|
orderdet5.RrturnPro_count__c = 3;
|
orderdet5.Invoiced_Count__c = 3;
|
codList.add(orderdet5);
|
|
Consumable_orderdetails__c orderdet6 = new Consumable_orderdetails__c();
|
orderdet6.Name = 'Test1_001003';
|
orderdet6.Consumable_order__c = testList1.Id;
|
orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet6.Consumable_count__c = 1;
|
orderdet6.Box_Piece__c = '盒';
|
orderdet6.Consumable_product__c = pro1.Id;
|
orderdet6.Invoice_Unit__c = '盒';
|
orderdet6.Shipment_Count__c = 11;
|
orderdet6.Delivery_List_RMB__c = 2.0;
|
orderdet6.Invoiced_Procount__c = 3;
|
orderdet6.RrturnPro_count__c = 3;
|
orderdet6.Invoiced_Count__c = 3;
|
codList.add(orderdet6);
|
|
Consumable_orderdetails__c orderdet7 = new Consumable_orderdetails__c();
|
orderdet7.Name = 'Test1_001004';
|
//orderdet2.Consumable_principal__c = testList2.Id;
|
orderdet7.Consumable_order__c = testList1.Id;
|
orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail1_Invoice;
|
orderdet7.Consumable_count__c = 1;
|
orderdet7.Box_Piece__c = '盒';
|
orderdet7.Consumable_product__c = pro2.Id;
|
orderdet7.Invoice_Unit__c = '个';
|
orderdet7.Shipment_Count__c = 11;
|
orderdet7.Delivery_List_RMB__c = 2.0;
|
orderdet7.Invoiced_Procount__c = 3;
|
orderdet7.Invoiced_Count__c = 3;
|
orderdet7.RrturnPro_count__c = 3;
|
codList.add(orderdet7);
|
insert codList;
|
|
LexConInvoicedetailsController.init(testList1.Id, invoiceorder.Id);
|
//序列化Json
|
|
System.Test.startTest();
|
System.debug('===>数据' + LexConInvoicedetailsController.consumableorderdetails1Records);
|
List<LexConInvoicedetailsController.ConsumableorderdetailsInfo> inList = LexConInvoicedetailsController.consumableorderdetails1Records;
|
LexConInvoicedetailsController.save(
|
JSON.serialize(LexConInvoicedetailsController.consumableorderdetails1Records),
|
invoiceorder.Id,
|
testList1.Id
|
);
|
|
List<LexConInvoicedetailsController.ConsumableorderdetailsInfo> inList1 = new List<LexConInvoicedetailsController.ConsumableorderdetailsInfo>();
|
for (LexConInvoicedetailsController.ConsumableorderdetailsInfo ass : inList) {
|
ass.check = true;
|
ass.invoiceCount = 1;
|
ass.esd.Invoice_Unit__c = '个';
|
inList1.add(ass);
|
}
|
LexConInvoicedetailsController.save(JSON.serialize(inList1), invoiceorder.Id, testList1.Id);
|
System.Test.stopTest();
|
}
|
}
|
}
|