From 45e4876c811c861adc5744d06b5bba840fae397a Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期四, 29 六月 2023 17:59:09 +0800
Subject: [PATCH] 优化失单画面以及修改按钮

---
 force-app/main/default/classes/OpportunityLightingButtonController.cls |  108 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 106 insertions(+), 2 deletions(-)

diff --git a/force-app/main/default/classes/OpportunityLightingButtonController.cls b/force-app/main/default/classes/OpportunityLightingButtonController.cls
index 55cccf5..c6848a8 100644
--- a/force-app/main/default/classes/OpportunityLightingButtonController.cls
+++ b/force-app/main/default/classes/OpportunityLightingButtonController.cls
@@ -4,7 +4,7 @@
  * @Author: chen jing wu
  * @Date: 2023-04-12 11:16:07
  * @LastEditors: chen jing wu
- * @LastEditTime: 2023-05-15 13:40:51
+ * @LastEditTime: 2023-06-29 16:53:17
  */
 public with sharing class OpportunityLightingButtonController {
     @AuraEnabled
@@ -184,6 +184,7 @@
             res.systemProfileId = getProfileIdByName(lexLightingButtonConstant.SYSTEM_PROFILE_NAME);
             res.s1ProfileId = getProfileIdByName(lexLightingButtonConstant.S1_PROFILE_NAME);
             res.s4ProfileId = getProfileIdByName(lexLightingButtonConstant.S4_PROFILE_NAME);
+            res.recordTypeId = Schema.SObjectType.Request_tedner_doc__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_AUTHORIZATION_REQUEST).getRecordTypeId();
         } catch (Exception e) {
             System.debug('e:****' + e);
         }
@@ -223,6 +224,7 @@
         res.salesManagerDepartmentID = opportunity.Sales_manager_departmentID__c;
         res.salesOwnerBuchang = opportunity.Sales_owner_buchang__c;
         res.salesOwnerBuchangID = opportunity.Sales_owner_buchangID__c;
+        res.recordTypeId = Schema.SObjectType.Lost_cancel_report__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_OPPO_CANCEL_REPORT).getRecordTypeId();
         } catch (Exception e) {
             throw new AuraHandledException(e.getMessage());
         }
@@ -304,7 +306,11 @@
                 CurrencyIsoCode
                 from Opportunity where Id =: recordId
             ];
+            Report cnyReport = [SELECT Id FROM Report WHERE Name = :lexLightingButtonConstant.REPORT_NAME_FOR_CNY limit 1];
+            Report usdReport = [SELECT Id FROM Report WHERE Name = :lexLightingButtonConstant.REPORT_NAME_FOR_USD limit 1];
             res.currencyIsoCode = opportunity.CurrencyIsoCode;
+            res.reportForCNYId = cnyReport.Id;
+            res.reportForUSDId = usdReport.Id;
         } catch (Exception e) {
             throw new AuraHandledException(e.getMessage());
         }
@@ -425,6 +431,7 @@
             res.accountId = opp.AccountId;
             res.accountName = acc.Name;
             res.name = opp.Name;
+            res.recordTypeId = Schema.SObjectType.Task.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_INQUIRY_FOLLOW_UP).getRecordTypeId();
         } catch (Exception e) {
             throw new AuraHandledException(e.getMessage());
         }
@@ -446,6 +453,57 @@
             res.estimationDecision = opp.Estimation_Decision__c;
             res.sapSendOK = opp.SAP_Send_OK__c;
             res.ifAuthorizingLock = opp.If_Authorizing_Lock__c;
+        } catch (Exception e) {
+            throw new AuraHandledException(e.getMessage());
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public static InitData initForSpecilaApplyCreateButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity opp = [
+                select
+                Forecast_this_month__c
+                from Opportunity where Id =: recordId
+            ];
+            res.oppForecastStatus = opp.Forecast_this_month__c;
+            res.recordTypeId = Schema.SObjectType.OpportunitySpecialApply__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_SPECIL_APPLY_CREATE).getRecordTypeId();
+        } catch (Exception e) {
+            throw new AuraHandledException(e.getMessage());
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static InitData initForSpecilaApplyCreateAchButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Statu_Achievements__c ach = [
+                select
+                Id,
+                Monthly_forecast_shipping__c,
+                Opportunity__c
+                from Statu_Achievements__c where Id =: recordId
+            ];
+            res.oppId = ach.Opportunity__c;
+            res.oppForecastStatus = ach.Monthly_forecast_shipping__c;
+            res.recordTypeId = Schema.SObjectType.OpportunitySpecialApply__c.getRecordTypeInfosByName().get(lexLightingButtonConstant.RECORD_TYPE_NAME_BY_SPECIL_APPLY_CREATE_ACH).getRecordTypeId();
+        } catch (Exception e) {
+            throw new AuraHandledException(e.getMessage());
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static InitData initForNewOpportunityFileButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity opp = [
+                select
+                Stock_apply_status__c
+                from Opportunity where Id =: recordId
+            ];
+            res.stockApplyStatus = opp.Stock_apply_status__c;
         } catch (Exception e) {
             throw new AuraHandledException(e.getMessage());
         }
@@ -568,7 +626,7 @@
                 select id,
                 Tender_information__r.subInfoType__c
                 from Tender_Opportunity_Link__c 
-                where (Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_SCRAPPED_LABEL OR Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_FLOW_LABEL) and Opportunity__c =: recordId
+                where (Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_SCRAPPED_LABEL OR Tender_information__r.subInfoType__c =:lexLightingButtonConstant.SUB_INFO_TYPE_FLOW_LABEL OR Tender_information__r.TerminateApprovalStatus__c= :lexLightingButtonConstant.SUB_INFO_TYPE_APPROVE) and Opportunity__c =: recordId
             ];
         } catch (Exception e) {
             System.debug('e:****' + e);
@@ -678,6 +736,42 @@
             return pro.Id;
         } catch (Exception e) {
             throw new AuraHandledException(e.getMessage());
+        }
+    }
+    @AuraEnabled
+    public static String changeTrade(String oppId){
+
+        List<Quote> quoList = [select id from Quote where OpportunityId = :oppId];
+        List<OpportunityLineItem> oppLI = [select id from OpportunityLineItem where Opportunity.id = :oppId];
+
+        Opportunity opp = new Opportunity();
+        opp.id = oppId;
+        opp.Estimation_Decision__c = false;
+        opp.Estimation_Id__c = null;
+        opp.Quote_Update_Sum__c = null;
+        opp.Estimation_No__c = null;
+        opp.Estimation_Proposal_Date__c = null;
+        opp.Estimation_Name__c = null;
+        // LHJ SWAG-C9QAAJ 鍘绘帀 Start
+        // opp.Authorized_Finish_Sales__c = null;
+        // opp.Authorized_DB_No__c = null;
+        // opp.Authorized_Date__c = null;
+        // opp.Autholization_Activated_Date__c = null;
+        // opp.Bidding_Content__c = null;
+        // opp.Bid_Date__c = null;
+        // opp.Bidding_No__c = null;
+        // opp.Bidding_Project_Name__c = null;
+        // LHJ End
+
+        Savepoint sp = Database.setSavepoint();
+        try {
+            delete quoList;
+            delete oppLI;
+            update opp;
+            return '1';     
+        } catch (Exception ex) {
+            Database.rollback(sp);
+            return  ex.getMessage() + ' | Line:' + ex.getLineNumber();
         }
     }
     public class InitData{
@@ -797,5 +891,15 @@
         public String s1ProfileId;
         @AuraEnabled
         public String accountName;
+        @AuraEnabled
+        public String recordTypeId;
+        @AuraEnabled
+        public String reportForCNYId;
+        @AuraEnabled
+        public String reportForUSDId;
+        @AuraEnabled
+        public String oppForecastStatus;
+        @AuraEnabled
+        public String oppId;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1