buli
2023-07-14 e6068da47c1bef5517c9e5fdc8c726766867ad4e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
@isTest
public class ArriveGoodsControllerTestV2 {
    @isTest
    static void myUnitTest() {
        // // TO DO: implement unit test
        List<RecordType> 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 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 List<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',
                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 List<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 List<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.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;
 
            //发货明细
            //到货正确信息
            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 List<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();
            Controller.init();
            //排序
            Controller.barcode = '';
            Controller.SearchPro();
            Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123';
            Controller.SearchPro();
 
            // System.assertEquals(3, controller.ConsumableorderdetailsRecordsdummy.size());    //tcm
            Controller.ArriveGoodsConfim();
            System.Test.stopTest();
        }
    }
}