buli
2023-07-14 36d15f189de2e83ce2576715dac30c3c260388dd
force-app/main/default/classes/LexConInvoicedetailsControllerTest.cls
@@ -1,6 +1,166 @@
@isTest
private class LexConInvoicedetailsControllerTest {
    @isTest
<<<<<<< HEAD
    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 };
=======
   static void all() {
        User myUser_test;
        Account myAccount1;
@@ -63,6 +223,7 @@
            TestList1.Order_date__c = Date.today();
            TestList2.Deliver_date__c=Date.today();
            insert new Consumable_order__c[]{testList1,testList2};
>>>>>>> LEXCommunityLiJun
            List<Consumable_Orderdetails__c> invoiceList = new List<Consumable_Orderdetails__c>();
            //发票明细1
@@ -77,10 +238,17 @@
            invoicedet1.Shipment_Count__c = 1;
            invoicedet1.Invoice_Unitprice__c = 1;
            invoicedet1.Delivery_List_RMB__c = 1;
<<<<<<< HEAD
            invoicedet1.InvoicedProCost_RMB__c = 1;
            invoicedet1.Invoice_Unit__c = '个';
            invoicedet1.Invoiced_Procount__c = 3;
            invoicedet1.RrturnPro_count__c = 3;
=======
            invoicedet1.InvoicedProCost_RMB__c =1;
            invoicedet1.Invoice_Unit__c = '个';
            invoicedet1.Invoiced_Procount__c  = 3;
            invoicedet1.RrturnPro_count__c =3;
>>>>>>> LEXCommunityLiJun
            invoiceList.add(invoicedet1);
            Consumable_orderdetails__c invoicedet2 = new Consumable_orderdetails__c();
@@ -94,10 +262,17 @@
            invoicedet2.Shipment_Count__c = 1;
            invoicedet2.Invoice_Unitprice__c = 1;
            invoicedet2.Delivery_List_RMB__c = 1;
<<<<<<< HEAD
            invoicedet2.InvoicedProCost_RMB__c = 1;
            invoicedet2.Invoice_Unit__c = '个';
            invoicedet2.Invoiced_Procount__c = 3;
            invoicedet2.RrturnPro_count__c = 3;
=======
            invoicedet2.InvoicedProCost_RMB__c =1;
            invoicedet2.Invoice_Unit__c = '个';
            invoicedet2.Invoiced_Procount__c  = 3;
            invoicedet2.RrturnPro_count__c =3;
>>>>>>> LEXCommunityLiJun
            invoiceList.add(invoicedet2);
            Consumable_orderdetails__c invoicedet3 = new Consumable_orderdetails__c();
@@ -113,8 +288,13 @@
            invoicedet3.Delivery_List_RMB__c = 2.0;
            invoicedet3.Invoice_Unitprice__c = 1;
            invoicedet3.InvoicedProCost_RMB__c = 1;
<<<<<<< HEAD
            invoicedet3.Invoiced_Procount__c = 3;
            invoicedet3.RrturnPro_count__c = 3;
=======
            invoicedet3.Invoiced_Procount__c  = 3;
            invoicedet3.RrturnPro_count__c =3;
>>>>>>> LEXCommunityLiJun
            invoiceList.add(invoicedet3);
            insert invoiceList;
@@ -132,8 +312,13 @@
            orderdet1.Delivery_List_RMB__c = 2.0;
            orderdet1.Invoice_Unitprice__c = 1;
            orderdet1.InvoicedProCost_RMB__c = 1;
<<<<<<< HEAD
            orderdet1.Invoiced_Procount__c = 3;
            orderdet1.RrturnPro_count__c = 3;
=======
            orderdet1.Invoiced_Procount__c  = 3;
            orderdet1.RrturnPro_count__c =3;
>>>>>>> LEXCommunityLiJun
            orderdet1.Invoice_Unit__c = '个';
            codList.add(orderdet1);
@@ -148,8 +333,13 @@
            orderdet2.Delivery_List_RMB__c = 2.0;
            orderdet2.Invoice_Unitprice__c = 1;
            orderdet2.InvoicedProCost_RMB__c = 1;
<<<<<<< HEAD
            orderdet2.Invoiced_Procount__c = 3;
            orderdet2.RrturnPro_count__c = 3;
=======
            orderdet2.Invoiced_Procount__c  = 3;
            orderdet2.RrturnPro_count__c =3;
>>>>>>> LEXCommunityLiJun
            orderdet2.Invoice_Unit__c = '盒';
            codList.add(orderdet2);
@@ -164,6 +354,14 @@
            orderdet3.Delivery_List_RMB__c = 2.0;
            orderdet3.Invoice_Unitprice__c = 1;
            orderdet3.InvoicedProCost_RMB__c = 1;
<<<<<<< HEAD
            orderdet3.Invoiced_Procount__c = 3;
            orderdet3.RrturnPro_count__c = 3;
            orderdet3.Invoice_Unit__c = '个';
            orderdet3.Invoiced_Count__c = 3;
            codList.add(orderdet3);
=======
            orderdet3.Invoiced_Procount__c  = 3;
            orderdet3.RrturnPro_count__c =3;
            orderdet3.Invoice_Unit__c = '个';
@@ -171,6 +369,7 @@
            codList.add(orderdet3);
>>>>>>> LEXCommunityLiJun
            Consumable_orderdetails__c orderdet4 = new Consumable_orderdetails__c();
            orderdet4.Name = 'Test1_0010031';
            orderdet4.Consumable_order__c = testList1.Id;
@@ -182,10 +381,17 @@
            orderdet4.Delivery_List_RMB__c = 2.0;
            orderdet4.Invoice_Unitprice__c = 1;
            orderdet4.InvoicedProCost_RMB__c = 1;
<<<<<<< HEAD
            orderdet4.Invoiced_Procount__c = 3;
            orderdet4.RrturnPro_count__c = 3;
            orderdet4.Invoice_Unit__c = '盒';
            orderdet4.Invoiced_Count__c = 3;
=======
            orderdet4.Invoiced_Procount__c  = 3;
            orderdet4.RrturnPro_count__c =3;
            orderdet4.Invoice_Unit__c = '盒';
            orderdet4.Invoiced_Count__c= 3;
>>>>>>> LEXCommunityLiJun
            codList.add(orderdet4);
            Consumable_orderdetails__c orderdet5 = new Consumable_orderdetails__c();
@@ -198,9 +404,15 @@
            orderdet5.Invoice_Unit__c = '个';
            orderdet5.Shipment_Count__c = 11;
            orderdet5.Delivery_List_RMB__c = 2.0;
<<<<<<< HEAD
            orderdet5.Invoiced_Procount__c = 3;
            orderdet5.RrturnPro_count__c = 3;
            orderdet5.Invoiced_Count__c = 3;
=======
            orderdet5.Invoiced_Procount__c  = 3;
            orderdet5.RrturnPro_count__c =3;
            orderdet5.Invoiced_Count__c= 3;
>>>>>>> LEXCommunityLiJun
            codList.add(orderdet5);
            Consumable_orderdetails__c orderdet6 = new Consumable_orderdetails__c();
@@ -213,9 +425,15 @@
            orderdet6.Invoice_Unit__c = '盒';
            orderdet6.Shipment_Count__c = 11;
            orderdet6.Delivery_List_RMB__c = 2.0;
<<<<<<< HEAD
            orderdet6.Invoiced_Procount__c = 3;
            orderdet6.RrturnPro_count__c = 3;
            orderdet6.Invoiced_Count__c = 3;
=======
            orderdet6.Invoiced_Procount__c  = 3;
            orderdet6.RrturnPro_count__c =3;
            orderdet6.Invoiced_Count__c= 3;
>>>>>>> LEXCommunityLiJun
            codList.add(orderdet6);
            Consumable_orderdetails__c orderdet7 = new Consumable_orderdetails__c();
@@ -229,6 +447,38 @@
            orderdet7.Invoice_Unit__c = '个';
            orderdet7.Shipment_Count__c = 11;
            orderdet7.Delivery_List_RMB__c = 2.0;
<<<<<<< HEAD
            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();
        }
    }
}
=======
            orderdet7.Invoiced_Procount__c  = 3;
            orderdet7.Invoiced_Count__c= 3;
            orderdet7.RrturnPro_count__c =3;
@@ -256,4 +506,5 @@
        }
    }
}
}
>>>>>>> LEXCommunityLiJun