liuyn
2024-03-11 a87f1c3df03078814ee97ad0c8ac200a232419e9
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
/**
 * *
    ODescription:
    GAuthor: sun xia
    @Date: 2023-07-11 15:31:56
    GIastEditors: sun xia
    @IastEditTime: 2023-07-11 15:31:56
 * */
public with sharing class LexAddSubmitApprovalProcessController {
     @AuraEnabled
    public static InitData init(String recordId){
        InitData res = new InitData();
 
        try {
            Rental_Apply__c ra = [SELECT Id, Request_shipping_day__c, Add_Approval_Status__c, Repair__c, 
                        Demo_purpose1__c, demo_purpose2__c, Repair__r.Repair_Estimated_date_formula__c,
                        Repair__r.Agreed_Date__c, Repair__r.NewProductGuaranteeObject__c,
                        Repair__r.Repair_Final_Inspection_Date__c, Repair__r.Repair_Shipped_Date__c,
                        Repair__r.Status1__c, Repair__r.ReRepairObject_F__c, Repair__r.Number_of_EffectiveContract__c,
                        Repair__r.Delivered_Product__r.Product2.Asset_Model_No__c, Campaign__c,
                        Campaign__r.Status, Campaign__r.Rental_Apply_Flag__c, QIS_number__c, QIS_number__r.next_action__c,
                        applyUser__r.Id, Owner.Id, Status__c,RecordTypeId from Rental_Apply__c WHERE Id = :recordId];
            
            if(ra==null){
                return null;
            }
 
            System.debug(LoggingLevel.INFO, '****LexAddSubmitApprovalProcessController****' + ra); 
            res.rentalApplyId = ra.Id;
            res.recordTypeId = ra.RecordTypeId;
            res.addApprovalStatus = ra.Add_Approval_Status__c;
            res.requestShippingDay = ra.Request_shipping_day__c;
            res.repairId = ra.Repair__c;
            res.demoPurpose1 = ra.Demo_purpose1__c;
            res.demoPurpose2 = ra.demo_purpose2__c;
            res.repairEstimatedDateFormula = ra.Repair__r.Repair_Estimated_date_formula__c;
            res.agreedDate = ra.Repair__r.Agreed_Date__c;
            res.newProductGuaranteeObject = ra.Repair__r.NewProductGuaranteeObject__c;
            res.repairFinalInspectionDate = ra.Repair__r.Repair_Final_Inspection_Date__c;
            res.repairShippedDate = ra.Repair__r.Repair_Shipped_Date__c;
            res.status1 = ra.Repair__r.Status1__c;
            res.reRepairObjectF = ra.Repair__r.ReRepairObject_F__c;
            res.numberOfEffectiveContract = ra.Repair__r.Number_of_EffectiveContract__c;
            res.assetModelNo = ra.Repair__r.Delivered_Product__r.Product2.Asset_Model_No__c;
            res.campaignId = ra.Campaign__c;
            res.campaignStatus = ra.Campaign__r.Status;
            res.rentalApplyFlag = Integer.valueOf(ra.Campaign__r.Rental_Apply_Flag__c);
            res.qISNumber = ra.QIS_number__c;
            res.nextAction = ra.QIS_number__r.next_action__c;
            res.applyUserId = ra.applyUser__r.Id;
            res.ownerId = ra.OwnerId;
            res.rentalApplyStatus = ra.Status__c;
            res.demoRequestPastDataId = Schema.SObjectType.Rental_Apply__c.getRecordTypeInfosByDeveloperName().get('Demo_request_past_data').getRecordTypeId();
            res.profileId = UserInfo.getProfileId();
 
            List<Rental_Apply_Equipment_Set_Detail__c> raeSet = [SELECT Id from Rental_Apply_Equipment_Set_Detail__c WHERE Rental_Apply__c = :recordId AND Draft_Appended__c=1];
            res.detailSize = raeSet.size();
        }
        catch (Exception e) {
            System.debug(LoggingLevel.INFO, '****e:' + e); 
        }   
        return res;
    }
 
 
    //提交审批
    @AuraEnabled
    public static String submitApproval(String recordId){
        Savepoint sp = Database.setSavepoint();
        try {
            Approval.ProcessSubmitRequest req1 = new Approval.ProcessSubmitRequest();
            req1.setObjectId(recordId);
            Approval.ProcessResult submitResult = Approval.process(req1);
            return 'OK';
        }
        catch (Exception e) {
            Database.rollback(sp);
            return e.getMessage();
        }
    }
 
 
    //更新备品借出申请的提交追加待审批状态
    @AuraEnabled
    public static String changeAddApprovalStatus(String recordId, String status){
        Savepoint sp = Database.setSavepoint();
        try {
            Rental_Apply__c ra = new Rental_Apply__c();
            ra.Id = recordId;
            ra.Add_Approval_Status__c = status;
            Update ra;
            return '更新成功';
        }
        catch (Exception e) {
            Database.rollback(sp);
            return e.getMessage();
        }
        
    }
 
 
    public  class InitData{
        @AuraEnabled
        public String rentalApplyId;        //备品借出申请Id
        @AuraEnabled
        public String recordTypeId;     
        @AuraEnabled
        public String addApprovalStatus;    //备品借出申请.追加备品审批状态
        @AuraEnabled
        public Integer detailSize;          //明细Size
        @AuraEnabled
        public Date requestShippingDay;     //备品借出申请.希望到货日
        @AuraEnabled
        public String repairId;             //修理Id
        @AuraEnabled
        public String demoPurpose1;         //备品借出申请.使用目的1
        @AuraEnabled
        public String demoPurpose2;         //备品借出申请.使用目的2
        @AuraEnabled
        public Date repairEstimatedDateFormula; //修理.6.报价日
        @AuraEnabled
        public Date agreedDate;             //修理.7.用户同意日
        @AuraEnabled
        public String newProductGuaranteeObject;    //修理.无偿区别标志
        @AuraEnabled
        public Date repairFinalInspectionDate;      //修理.10.最终检测日
        @AuraEnabled
        public Date repairShippedDate;          //修理.11.RC修理品返送日
        @AuraEnabled
        public String status1;                  //修理.状态1
        @AuraEnabled
        public Boolean reRepairObjectF;         //修理.再受理对象品参考
        @AuraEnabled
        public String numberOfEffectiveContract;    //修理.有无维修合同对象(SFDC)
        @AuraEnabled
        public String assetModelNo;                 //修理.资产.产品.产品型号(MDM)
        @AuraEnabled
        public String campaignId;                   //备品借出申请.学会
        @AuraEnabled
        public String campaignStatus;               //学会.状态
        @AuraEnabled
        public Integer rentalApplyFlag;              //学会.提交申请FLG
        @AuraEnabled
        public String qISNumber;                    //备品借出申请.QIS
        @AuraEnabled
        public String nextAction;                   //QIS.对应方法
        @AuraEnabled
        public String applyUserId;                  //备品借出申请.操作者Id
        @AuraEnabled
        public String ownerId;                      //备品借出申请.所有人Id
        @AuraEnabled
        public String rentalApplyStatus;            //备品借出申请.状态
        @AuraEnabled
        public String demoRequestPastDataId;        //备品申请 过去历史转移Id
        @AuraEnabled
        public String profileId;                    //简档Id
    }
}