From 7c7cb195462c2ded7bfe4105959ea36d1dd68ded Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期三, 11 十月 2023 19:26:36 +0800
Subject: [PATCH] 近期修改

---
 force-app/main/default/classes/OpportunityLightingButtonController.cls |  573 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 523 insertions(+), 50 deletions(-)

diff --git a/force-app/main/default/classes/OpportunityLightingButtonController.cls b/force-app/main/default/classes/OpportunityLightingButtonController.cls
index f3274d0..03f0d91 100644
--- a/force-app/main/default/classes/OpportunityLightingButtonController.cls
+++ b/force-app/main/default/classes/OpportunityLightingButtonController.cls
@@ -4,9 +4,37 @@
  * @Author: chen jing wu
  * @Date: 2023-04-12 11:16:07
  * @LastEditors: chen jing wu
- * @LastEditTime: 2023-04-21 17:39:35
+ * @LastEditTime: 2023-10-10 17:08:13
  */
 public with sharing class OpportunityLightingButtonController {
+    @AuraEnabled
+    public static Map<String,Object> queryForEditLostButton(String recordId){
+        Map<String,Object> objs = new Map<String,Object>();
+        Report1 rep = new Report1();
+        try {
+            List<Lost_cancel_report__c> re = [
+                select id,
+                Report_Status__c,
+                RecordTypeId 
+                from Lost_cancel_report__c where RecordTypeId != '01210000000R4hHAAS' and Opportunity__c =: recordId];
+            rep.lostReport = re;
+            objs.put('report',rep);
+            Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe();
+			if( !s.isCreateable()) {
+				objs.put('error',true);
+			}else{
+                objs.put('error',false);
+            }
+        } catch (Exception e) {
+            objs.put('error',e.getMessage());
+            return objs;
+        }
+        return objs;
+    }
+    public class Report1{
+        @AuraEnabled
+        public List<Lost_cancel_report__c> lostReport;
+    }
     @AuraEnabled
     public static InitData initForPredictedDateChangeButton(String recordId){
         InitData res = new InitData();
@@ -19,7 +47,7 @@
             res.createdDay = opportunity.Created_Day__c;
             res.directLossFLG = opportunity.DirectLossFLG__c;
         } catch (Exception e) {
-            System.debug('e:****' + e);
+           
         }
         return res;
     }
@@ -45,9 +73,21 @@
                 IF_Submit__c ,
                 Trade__c,
                 Is_Corrosion__c,
-                If_Authorizing_Lock__c 
+                If_Authorizing_Lock__c,
+                AccDealerBlacklist__c,
+                Agency1__c,
+                Agency2__c,
+                Hospital__c,
+                OwnerId,
+                Sales_assistant_name_text__c
                 from Opportunity where Id =: recordId 
             ];
+            res.AccDealerBlacklist = opportunity.AccDealerBlacklist__c;
+            res.angency1 = opportunity.Agency1__c;
+            res.angency2 = opportunity.Agency2__c;
+            res.accname = opportunity.Hospital__c;
+            res.ownerids = opportunity.OwnerId;
+            res.ddid = opportunity.Sales_assistant_name_text__c;
             res.agency1Id = opportunity.Agency1_ID_18__c;
             res.stageName = opportunity.StageName;
             res.sapSendOK = opportunity.SAP_Send_OK__c;
@@ -65,10 +105,14 @@
             res.trade = opportunity.Trade__c;
             res.isCorrosion = opportunity.Is_Corrosion__c;
             res.ifAuthorizingLock = opportunity.If_Authorizing_Lock__c;
-            String profile18 = UserInfo.getProfileId();
-            res.profileId = profile18.substring(0,profile18.length() - 3);
+            res.profileId = UserInfo.getProfileId();
+            res.systemProfileId = getProfileIdByName(lexLightingButtonConstant.SYSTEM_PROFILE_NAME);
+            res.j3ProfileId = getProfileIdByName(lexLightingButtonConstant.J3_PROFILE_NAME);
+            res.s61ProfileId = getProfileIdByName(lexLightingButtonConstant.S61_PROFILE_NAME);
+            res.s62ProfileId = getProfileIdByName(lexLightingButtonConstant.S62_PROFILE_NAME);
+            res.m4ProfileId = getProfileIdByName(lexLightingButtonConstant.M4_PROFILE_NAME);
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return res;
     }
@@ -83,7 +127,7 @@
             ];
             res.ifOpenBid = opportunity.ifOpenBid__c;
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return res;
     }
@@ -98,7 +142,7 @@
             ];
             res.ifOpenBid = opportunity.ifOpenBid__c;
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return res;
     }
@@ -112,12 +156,12 @@
                 from Opportunity where Id =: recordId];
             res.accountId = opportunity.AccountId;
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return res;
     }
     @AuraEnabled
-    public static InitData initFoBeforeOPDPDFBtnButton(String recordId){
+    public static InitData initForBeforeOPDPDFBtnButton(String recordId){
         InitData res = new InitData();
         try {
             Opportunity opportunity = [
@@ -128,7 +172,7 @@
             res.accountId = opportunity.AccountId;
             res.userId = UserInfo.getUserId();
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return res;
     }
@@ -144,7 +188,7 @@
             res.accountId = opportunity.AccountId;
             res.userId = UserInfo.getUserId();
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return res;
     }
@@ -176,10 +220,13 @@
             res.bidPlannedDate = opportunity.Bid_Planned_Date__c;
             res.salesAssistantName = opportunity.Sales_assistant_name__c;
             res.salesAssistantID = opportunity.Sales_assistant_ID__c;
-            String profileId18 = UserInfo.getProfileId();
-            res.profileId = profileId18.substring(0, profileId18.length() - 3);
+            res.profileId = UserInfo.getProfileId();
+            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);
+            
         }
         return res;
     }
@@ -217,8 +264,9 @@
         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());
+            
         }
         return res;
     }
@@ -230,6 +278,7 @@
                 select
                 StageName,
                 SAP_Send_OK__c,
+                Cnt_Lost_cancel_Draft__c,
                 Cnt_Lost_cancel_report__c,
                 Name,
                 Sales_assistant_name__c,
@@ -250,11 +299,48 @@
             res.salesManagerDepartmentID = opportunity.Sales_manager_departmentID__c;
             res.salesOwnerBuchang = opportunity.Sales_owner_buchang__c;
             res.salesOwnerBuchangID = opportunity.Sales_owner_buchangID__c;
+            res.cntLostCancelDraft = opportunity.Cnt_Lost_cancel_Draft__c;
+            Schema.DescribeSObjectResult s = Lost_cancel_report__c.sObjectType.getDescribe();
+			if( !s.isCreateable()) {
+				res.isHavePower = false;
+			}else{
+                res.isHavePower = true;
+            }
         } catch (Exception e) {
-            throw new AuraHandledException(e.getMessage());
+            
         }
         return res;
     }
+    @AuraEnabled
+    public static InitData initForLexQuoteEntryNewbotton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity opportunity = [
+                select
+                Agency_Is_Delete__c,
+                Account_Is_Active__c,
+                Hospital_Is_Active__c,
+                RecordTypeId,
+                Estimation_Decision__c
+                from Opportunity where Id =: recordId
+            ];
+            res.agencyIsDeletec = opportunity.Agency_Is_Delete__c;
+            res.accountIsActivec = opportunity.Account_Is_Active__c;
+            res.hospitalIsActivec = opportunity.Hospital_Is_Active__c;
+            res.recordTypeId = opportunity.RecordTypeId;
+            res.estimationDecisionc = opportunity.Estimation_Decision__c;
+        } catch (Exception e) {
+            
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static Boolean describeSObjectCommon (String objname)
+    {
+        Schema.DescribeSobjectResult schemaMap = Schema.describeSObjects(new String[]{objname})[0];
+        return schemaMap.isCreateable();
+    }
+	
     @AuraEnabled
     public static InitData initForQuotationRequestButton(String recordId){
         InitData res = new InitData();
@@ -268,7 +354,7 @@
             res.biddingProjectNameBidId = opportunity.Bidding_Project_Name_Bid__r.Id;
             res.estimationId = opportunity.Estimation_Id__c;
         } catch (Exception e) {
-            throw new AuraHandledException(e.getMessage());
+            
         }
         return res;
     }
@@ -285,7 +371,7 @@
             res.stockApplyStatus = opportunity.Stock_apply_status__c;
             res.lastOpportunityFileId = opportunity.Last_opportunity_file__r.Id;
         } catch (Exception e) {
-            throw new AuraHandledException(e.getMessage());
+            
         }
         return res;
     }
@@ -298,9 +384,13 @@
                 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());
+            
         }
         return res;
     }
@@ -319,7 +409,7 @@
             res.sapSendOK = oppo.SAP_Send_OK__c;
             res.isAuthorized = oppo.IsAuthorized__c;
         } catch (Exception e) {
-            throw new AuraHandledException(e.getMessage());
+            
         }
         return res;
     }
@@ -357,7 +447,143 @@
             res.opportunityCategory = opp.Opportunity_Category__c;
             res.agency1Name = opp.Agency1__r.Name;
         } catch (Exception e) {
-            throw new AuraHandledException(e.getMessage());
+            
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static InitData initForOpporSpliteButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity oppo = [
+                select
+                Authorized_DB_No__c,
+                Estimation_Decision__c,
+                SI_Decide_ID__c,
+                Name,
+                Opportunity_No__c,
+                IsAuthorized__c
+                from Opportunity where Id =: recordId
+            ];
+            res.authorizedDBNo = oppo.Authorized_DB_No__c;
+            res.estimationDecision = oppo.Estimation_Decision__c;
+            res.siDecideID = oppo.SI_Decide_ID__c;
+            res.name = oppo.Name;
+            res.opportunityNo = oppo.Opportunity_No__c;
+            res.isAuthorized = oppo.IsAuthorized__c;
+        } catch (Exception e) {
+            
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static InitData initForCreateActivityButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity opp = [
+                select
+                AccountId
+                from Opportunity where Id =: recordId
+            ];
+            res.accountId = opp.AccountId;
+        } catch (Exception e) {
+           
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static InitData initForAssignTaskButtonButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity opp = [
+                select
+                AccountId,
+                Name
+                from Opportunity where Id =: recordId
+            ];
+            Account acc = [
+                select
+                Name
+                from Account where Id =:opp.AccountId
+            ];
+            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) {
+            
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static InitData initForChangeContractTypeButton(String recordId){
+        InitData res = new InitData();
+        try {
+            Opportunity opp = [
+                select
+                StageName,
+                Estimation_Decision__c,
+                SAP_Send_OK__c,
+                If_Authorizing_Lock__c
+                from Opportunity where Id =: recordId
+            ];
+            res.stageName = opp.StageName;
+            res.estimationDecision = opp.Estimation_Decision__c;
+            res.sapSendOK = opp.SAP_Send_OK__c;
+            res.ifAuthorizingLock = opp.If_Authorizing_Lock__c;
+        } catch (Exception e) {
+            
+        }
+        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) {
+            
+        }
+        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) {
+           
+        }
+        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) {
+            
         }
         return res;
     }
@@ -372,10 +598,7 @@
             update opp;
             return null;
         } catch (Exception e) {
-            String eMessage = e.getMessage();
-            Integer left  = eMessage.indexOf(',') + 1;
-            Integer right = eMessage.length();
-            return eMessage.substring(left,right);
+            return errorMessage(e);
         }
     }
     @AuraEnabled
@@ -387,10 +610,7 @@
             update opp;
             return null;
         } catch (Exception e) {
-            String eMessage = e.getMessage();
-            Integer left = eMessage.indexOf(',') + 1;
-            Integer right = eMessage.length();
-            return eMessage.substring(left,right);
+            return errorMessage(e);
         }
     }
     @AuraEnabled
@@ -404,10 +624,7 @@
             update opp;
             return null;
         } catch (Exception e) {
-            String eMessage = e.getMessage();
-            Integer left = eMessage.indexOf(',') + 1;
-            Integer right = eMessage.length();
-            return eMessage.substring(left,right);
+            return errorMessage(e);
         }
     }
     @AuraEnabled
@@ -416,17 +633,14 @@
             Opportunity opp = new Opportunity();
             opp.Id = recordId;
             if(flag){
-                opp.Stock_apply_status__c  = '濉啓瀹屾瘯';
+                opp.Stock_apply_status__c  = lexLightingButtonConstant.STOCK_APPLY_STATUS_WRITE_OVER;
             }else {
-                opp.Stock_apply_status__c = '鑽夋涓�';
+                opp.Stock_apply_status__c = lexLightingButtonConstant.STOCK_APPLY_STATUS_DRAFT;
             }
             update opp;
             return null;
         } catch (Exception e) {
-            String eMessage = e.getMessage();
-            Integer left = eMessage.indexOf(',') + 1;
-            Integer right = eMessage.length();
-            return eMessage.substring(left,right);
+            return errorMessage(e);
         }
     }
     @AuraEnabled
@@ -438,7 +652,7 @@
                 id 
                 from InquiryPredictsDateChange__c where Predicted_Date_Status__c = :LightingButtonConstant.PREDICTED_DATE_STATUS and Opportunity__c =:recordId];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+           
         }
         return rac;
     }
@@ -452,7 +666,7 @@
                 taskStatus__c
                 from task__c where OpportunityId__c =: recordId and name like :obscureName];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return tasks;
     }
@@ -466,7 +680,7 @@
                 taskStatus__c
                 from task__c where OpportunityId__c =: recordId and name like :obscureName];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+           
         }
         return tasks;
     }
@@ -478,10 +692,10 @@
                 select id,
                 Tender_information__r.subInfoType__c
                 from Tender_Opportunity_Link__c 
-                where (Tender_information__r.subInfoType__c = '3-1锛氬簾鏍囧叕鍛�' OR Tender_information__r.subInfoType__c ='3-2锛氭祦鏍囧叕鍛�') 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);
+            
         }
         return links;
     }
@@ -493,10 +707,10 @@
             quotes = [
                 select 
                 id 
-                from QuoteIrai__c where Note__c like :opportunityId and QuoteIrai_Status__c = '鑽夋涓�'
+                from QuoteIrai__c where Note__c like :opportunityId and QuoteIrai_Status__c =:lexLightingButtonConstant.QUOTEIRAI_STATUS_DRAFT
             ];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return quotes;
     }
@@ -512,7 +726,7 @@
                 FROM Agency_Hospital_Link__c WHERE Agency__c =: agency1Id AND Hospital__c =: hospitalId
             ];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+           
         }
         return links;
     }
@@ -527,7 +741,7 @@
                 Name FROM RecordType WHERE SobjectType =: sobjectType And developerName=: developerName And IsActive =: isActive 
             ];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+            
         }
         return types;
     }
@@ -543,9 +757,210 @@
                 DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName =: qualifiedApiName
             ];
         } catch (Exception e) {
-            System.debug('e:****' + e);
+           
         }
         return fields;
+    }
+    @AuraEnabled
+    public static Object submitProcess(String opportunityId) {
+        try {
+            Approval.ProcessSubmitRequest request = new Approval.ProcessSubmitRequest();
+            request.setObjectId(opportunityId);
+            Approval.ProcessResult[] processResults = new Approval.ProcessResult[] {};
+            processResults.add(Approval.process(request));
+            return processResults[0].errors;
+        } catch (Exception e) {
+            return errorMessage(e);
+        }
+    }
+    @AuraEnabled
+    public static string getUserIdByName(String userName){
+        User user = null;
+        try {
+            user = [
+                select
+                Id
+                from User where Name =: userName
+            ];
+            return user.Id;
+        } catch (Exception e) {
+            return errorMessage(e);
+        }
+    }
+    @AuraEnabled
+    public static string getProfileIdByName(String profileName){
+        Profile pro = null;
+        try {
+            pro = [
+                select
+                Id
+                from Profile where Name =: profileName
+            ];
+            return pro.Id;
+        } catch (Exception e) {
+            return errorMessage(e);
+        }
+    }
+    @AuraEnabled
+    public static string queryForProfileId(){
+        return UserInfo.getProfileId();
+    }
+    @AuraEnabled
+    public static Boolean queryQuote(String estimationId){
+        Boolean bo;
+        try {
+            Quote qu = [select Have_Virtual__c from Quote where Id =: estimationId];
+            bo = qu.Have_Virtual__c;
+        } catch (Exception e) {
+            
+        }
+        return bo;
+    }
+
+    @AuraEnabled
+    public static String initCopy(String recordId){
+        String s='';
+        try {
+            String objectName = 'Opportunity'; // 瑕佽幏鍙栧瓧娈电殑瀵硅薄鍚�
+            Map<String, Schema.SObjectType> globalDescribe = Schema.getGlobalDescribe();
+            Schema.SObjectType objType = globalDescribe.get(objectName);
+            if (objType != null) {
+                Schema.DescribeSObjectResult objDescribe = objType.getDescribe();
+                Map<String, Schema.SObjectField> fieldMap = objDescribe.fields.getMap();
+                s+='SELECT ';
+                // 鐜板湪锛宖ieldMap涓寘鍚簡瀵硅薄鐨勬墍鏈夊瓧娈典俊鎭�
+                for (String fieldName : fieldMap.keySet()) {
+                    if(!fieldName.equals('id')
+                        &&!fieldName.equals('Id') &&!fieldName.equals('Opportunity_No__c'))
+                        s+=fieldName+',';
+                }
+
+                s=s.removeEnd(',');
+                s+=' FROM Opportunity where id=\''+recordId+'\'';
+                system.debug('SQL:'+s);
+                List<Opportunity> opportunitys = Database.query(s);
+                s='';
+                if(opportunitys.size()>0){
+                    system.debug('in!');
+                    for (String fieldName : fieldMap.keySet()) {
+                        String formaF=fieldMap.get(fieldName).getDescribe().getName();
+                        if(opportunitys.get(0).get(fieldName)!=null&&!opportunitys.get(0).get(fieldName).equals('null')){
+                            if(formaF.equals('Id')
+                                ||formaF.equals('OwnerId')
+                                ||formaF.equals('CreatedDate')
+                                ||formaF.equals('CreatedById')
+                                )
+                            {
+                                continue;
+                            }
+                            Object val=opportunitys.get(0).get(fieldName);
+                            if(val instanceof Date ){
+                                String str=String.valueOf(val);
+                                str=str.replace(' ','T');
+                                str+='.000Z';
+                                s+=formaF+'='+str+',';
+                            }else if (val instanceof DateTime){
+                                String str=String.valueOf(val);
+                                str=str.replace(' ','T');
+                                str+='.000Z';
+                                s+=formaF+'='+str+',';
+                            }else{
+                                s+=formaF+'='+opportunitys.get(0).get(fieldName)+',';
+                            }
+                            
+                        }
+                    }
+                    s=s.removeEnd(',');
+                    return s;
+                }
+            }
+			return s;
+        } catch (Exception e) {
+            
+        }
+        return s;
+    }
+
+    public static String forma(String str){
+        String res='';
+        String stra='a';
+        Integer a=stra.charAt(0);
+        String strz='z';
+        Integer z=strz.charAt(0);
+        String strAa='A';
+        Integer bA=strAa.charAt(0);
+        String strZz='Z';
+        Integer bZ=strZz.charAt(0);
+        String strx='_';
+        Integer x=strx.charAt(0);
+        List<Integer> charArr = new List<Integer>();
+        Integer change=bA-a;
+        Integer st=(str.charAt(0)+change);
+        charArr.add(st);
+        for(Integer i=0;i<str.length()-2;i++){
+            Integer c=str.charAt(i);
+            Integer nextC=str.charAt(i+1);
+            if(c==x&&nextC>=a&&nextC<z&&i!=str.length()-2){
+                nextC+=change;
+            }
+            charArr.add(nextC);
+        }
+        res=String.fromCharArray(charArr);
+        res+=str.substring(str.length()-1,str.length());
+
+        return res;
+    }
+    @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 errorMessage(ex);
+        }
+    }
+
+    public static string errorMessage(Exception e){
+        if (e.getMessage().contains(',')) {
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            String exc = '' + e.getMessage();
+            Integer left = exc.indexOf(':') + 1;
+            Integer right = exc.lastIndexOf(':');
+            String str = exc.substring(left,right);
+            left = str.indexOf(',') +  1;
+            String newStr = str.substring(left);
+            return newStr;
+        }else {
+            return e.getMessage();   
+        }
+
     }
     public class InitData{
         @AuraEnabled
@@ -642,5 +1057,63 @@
         public String opportunityCategory;
         @AuraEnabled
         public String agency1Name;
+        @AuraEnabled
+        public String authorizedDBNo;
+        @AuraEnabled
+        public String siDecideID;
+        @AuraEnabled
+        public String opportunityNo;
+        @AuraEnabled
+        public String systemProfileId;
+        @AuraEnabled
+        public String j3ProfileId;
+        @AuraEnabled
+        public String s62ProfileId;
+        @AuraEnabled
+        public String s61ProfileId;
+        @AuraEnabled
+        public String m4ProfileId;
+        @AuraEnabled
+        public String s4ProfileId;
+        @AuraEnabled
+        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;
+        @AuraEnabled
+        public String AccDealerBlacklist;
+        @AuraEnabled
+        public String angency1;
+        @AuraEnabled
+        public String angency2;
+        @AuraEnabled
+        public String accname;
+        @AuraEnabled
+        public String ownerids;
+        @AuraEnabled
+        public String ddid;
+        @AuraEnabled
+        public String agencyIsDeletec;
+        @AuraEnabled
+        public String accountIsActivec;
+        @AuraEnabled
+        public String hospitalIsActivec;
+        @AuraEnabled
+        public Boolean estimationDecisionc;
+        @AuraEnabled
+        public String reportStatus;
+        @AuraEnabled
+        public String reportId;
+        @AuraEnabled
+        public Boolean isHavePower; 
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1