高章伟
2022-02-18 8b5f4c6c281cfa548f92de52c8021e37aa81901e
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
@isTest
private class SSdetails2BatchTest {
    static testMethod void myUnitTest() {
        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)'];
 
        Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
        insert myAccount1;
 
        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');
        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);
        Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
        insert new Product2[]{prod01,prod02};
        Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
        Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
        insert new Product2__c[] {pro1, pro2};
        //订单
        Consumable_order__c Order1 = new Consumable_order__c();
        Order1.Name = 'OCM_01_001';
        Order1.Order_status__c = '批准';
        Order1.Order_type__c = '订单';
        Order1.Dealer_Info__c = myAccount2.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;
 
        //发货明细
        //到货正确信息
        Date today = Date.today();
        Date tempDay = Date.newInstance(today.year(), today.month(), 1);
 
        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.Deliver_date__c = tempDay.addDays(-1);
 
        //取消产品
        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.Deliver_date__c = tempDay.addDays(-1);
 
        //销售产品
        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.Deliver_date__c = tempDay.addDays(-1);
       
        //出库产品
        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.Deliver_date__c = tempDay.addDays(-1);
 
        //已到货产品
        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.Deliver_date__c = tempDay.addDays(-1);
 
        //发货明细
        //管理编码包含数字
        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.Deliver_date__c = tempDay.addDays(-1);
 
        //发错库 未到货
        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.Deliver_date__c = tempDay.addDays(-1);
 
        insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
 
        SS_Batch_Column_Mapping__c oppMapping = new SS_Batch_Column_Mapping__c(Name = 'Consumable_order_details2__c', SS_TableName__c = 'SSConsumable_order_details2__c');
        oppMapping.From_Column_001__c = 'Name';
        oppMapping.SS_Column_001__c = 'Name__c';
        insert oppMapping;
 
        System.Test.startTest();
            Database.executeBatch(new SSdetails2Batch());
        System.Test.stopTest();
          }
   }
 
}