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
public with sharing class lexMaintenanceContractUrlController {
    
    @AuraEnabled
    public static ReturnData initOne(String recordId){
        ReturnData returnData = new ReturnData();
        String reportId = '';
        List<Report> reportList= [select Id from Report where DeveloperName ='Repair_maitenance_list_bottun' limit 1];
        if(reportList.size()>0) {
            reportId = reportList[0].Id;
        }
        returnData.reportId = reportId;
 
        String mCEName = [select id from Maintenance_Contract__c where Id = :recordId].id;
        returnData.mCEName = mCEName;
 
        return returnData;
        
    }
    @AuraEnabled
    public static ReturnData initTwo(String recordId){
        ReturnData returnData = new ReturnData();
         String reportId = '';
        // List<Report> reportList= [select Id from Report where DeveloperName ='Service_contract_bottun_New' limit 1];
        List<Report> reportList= [select Id from Report where DeveloperName ='NewConRate0607' limit 1];
        if(reportList.size()>0) {
            reportId = reportList[0].Id;
        }
        returnData.reportId = reportId;
 
        String mCEName = [select id from Maintenance_Contract__c where Id = :recordId].id;
        returnData.mCEName = mCEName;
 
        return returnData;
        
    }
    @AuraEnabled
    public static ReturnData initThree(String recordId){
        ReturnData returnData = new ReturnData();
         String reportId = '';
        List<Report> reportList= [select Id from Report where DeveloperName ='fault' limit 1];
        if(reportList.size()>0) {
            reportId = reportList[0].Id;
        }
        returnData.reportId = reportId;
 
        String mCEName = [select id from Repair__c where Id = :recordId].id;
        returnData.mCEName = mCEName;
 
        return returnData;
        
    }
    @AuraEnabled
    public static ReturnData initFour(String recordId){
        ReturnData returnData = new ReturnData();
         String reportId = '';
        List<Report> reportList= [select Id from Report where DeveloperName ='Loaner_request_history' limit 1];
        if(reportList.size()>0) {
            reportId = reportList[0].Id;
        }
        returnData.reportId = reportId;
 
        String mCEName = [select id,Hospital_ID__c from Rental_Apply__c where Id = :recordId].Hospital_ID__c;
        returnData.mCEName = mCEName;
 
        return returnData;
        
    }
    @AuraEnabled
    public static ReturnData lexCustomNewContract(String recordId){
        ReturnData returnData = new ReturnData();
        RecordType re = [select id  from RecordType where name = '服务合同'];
        Maintenance_Contract__c mc = [select id ,name ,Hospital__c,Department_Class__c,Department__c,Service_Contract_Staff__c
                                            ,Estimate_Target__c,Dealer__c,AccDealerBlacklist__c,
                                            //贸易合规二期 add sx start
                                            Hospital__r.TradeComplianceStatus__c, Dealer__r.TradeComplianceStatus__c
                                            //贸易合规二期 add sx end
                                             from Maintenance_Contract__c where id = :recordId];
        returnData.recordtypeId  = re.id;                                     
        returnData.name  = mc.name;
        returnData.hospital  = mc.Hospital__c;
        returnData.department_Class  = mc.Department_Class__c;
        returnData.department  = mc.Department__c;
        returnData.service_Contract_Staff  = mc.Service_Contract_Staff__c;
        returnData.estimate_Target  = mc.Estimate_Target__c;
        returnData.dealer  = mc.Dealer__c;
        returnData.accDealerBlacklist = mc.AccDealerBlacklist__c;
        //2023/11/20  sx  贸易合规 add start
        List<Maintenance_Contract_Asset__c> mcaListtemp = [SELECT Id, Asset__r.product2.CountryOfOrigin__c, Asset__r.product2.USRatio_US__c, Asset__r.product2.ProTradeComplianceStatus__c,Asset__r.product2.Asset_Model_No__c FROM Maintenance_Contract_Asset__c WHERE Maintenance_Contract__c = :recordId];
        String violationName = '';
        if(mcaListtemp.size()>0){
            for(Maintenance_Contract_Asset__c mac : mcaListtemp){
                if(mac.Asset__r.product2.ProTradeComplianceStatus__c == '0'){
                    returnData.proTradeComplianceStatus = '0';
                    violationName += mac.Asset__r.product2.Asset_Model_No__c+',';
                }  
            }
        }else{
            returnData.proTradeComplianceStatus = '1';
        }
        returnData.violationName = violationName;
        //2023/11/20  sx  贸易合规 add end
        return returnData;
        
    }
    public class ReturnData{
        @AuraEnabled
        public String reportId; 
        @AuraEnabled
        public String mCEName; 
        @AuraEnabled
        public String name; 
        @AuraEnabled
        public Id hospital; 
        @AuraEnabled
        public Id department_Class; 
        @AuraEnabled
        public Id department; 
        @AuraEnabled
        public Id service_Contract_Staff; 
        @AuraEnabled
        public String estimate_Target; 
        @AuraEnabled
        public Id dealer; 
        @AuraEnabled
        public Id recordtypeId; 
        @AuraEnabled
        public String accDealerBlacklist; 
        //贸易合规二期 add sx
        @AuraEnabled
        public String proTradeComplianceStatus;
        @AuraEnabled
        public String violationName;
        //贸易合规二期 add sx
    }
}