From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新
---
force-app/main/default/classes/StartTradingController.cls | 228 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 172 insertions(+), 56 deletions(-)
diff --git a/force-app/main/default/classes/StartTradingController.cls b/force-app/main/default/classes/StartTradingController.cls
index fc903e1..e1f46d5 100644
--- a/force-app/main/default/classes/StartTradingController.cls
+++ b/force-app/main/default/classes/StartTradingController.cls
@@ -73,15 +73,18 @@
/** 鍒濇湡鍑︾悊 */
- public void init(){
+ public PageReference init(){
// 銉兗銉夋儏鍫便倰鍙栧緱
this.lead = [select id,SI_OppoLeadSec__c,owner_not_automatically_update__c, Hospital_Name__c, Contact_Name__c, Contact_Name__r.Name,
Opportunity_stage__c,Hospital_Name__r.RecordType.DeveloperName, Hospital_Name__r.Parent.RecordType.DeveloperName,
LastName, FirstName, LeadSource, Other_Society__c, Opp_Name__c, Purchase_Reason__c, Trade__c, Sales_Root__c, Campaign__c,
Close_Forecasted_Date__c, Competitor__c, Hospital_Budget__c, Promise_Class__c, Dicision_Maker__c, Purchase_Type__c,
- Sales_Method__c, Fund_Basis__c, OwnerId, Wholesale_Price__c, Lead_No__c,Inquiry_Num__c,CreatedDate,CreatedById
+ Sales_Method__c, Fund_Basis__c, OwnerId, Wholesale_Price__c, Lead_No__c,Inquiry_Num__c,CreatedDate,CreatedById,
+ Tender_information__c, Agency_Opportunity__c, SI_PromoteInquiry__c
+ , Contact_Name__r.AccountId //2022-6-20 yjk 澧炲姞鑱旂郴浜虹殑绉戝鏌ヨ
+ ,ET_Check__c //SWAG-CKDATG fy 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1
from Lead where id =: this.leadId];
-
+ this.SI_Flg = this.lead.SI_PromoteInquiry__c;
// 瑷虹檪绉戦伕鎶炪儶銈广儓銇彇寰楋紙鏉′欢锛氱梾闄�=銉兗銉夋儏鍫便伄鐥呴櫌鍚嶇О锛�
List<Account> departmentList = new List<Account>();
if (this.lead.Hospital_Name__r.RecordType.DeveloperName == 'HP') {
@@ -118,7 +121,7 @@
}
// 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� start
// this.sltDep = NONE;
- this.sltDep = this.lead.Hospital_Name__c;
+ this.sltDep = this.lead.Contact_Name__r.AccountId; // 2022-6-20 yjk 鏀逛负浠庤仈绯讳汉鐨勭瀹よ祴鍊� 鍘熼�昏緫锛歵his.lead.Hospital_Name__c;
this.sltCon = this.lead.Contact_Name__c;
// 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� end
@@ -127,34 +130,39 @@
List<SelectOption> sltOptNasi = new List<SelectOption>();
// 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� start
// sltOptNasi.add(new SelectOption(NONE, NONE));
- sltOptNasi.add(new SelectOption(this.lead.Contact_Name__c, this.lead.Contact_Name__r.Name));
+ //sltOptNasi.add(new SelectOption(this.lead.Contact_Name__c, this.lead.Contact_Name__r.Name));//SWAG-CEY8GZ 20220620 lt update
+ //sltOptNasi.add(new SelectOption(String.isNotBlank(this.lead.Contact_Name__c) ? this.lead.Contact_Name__c : NONE, String.isNotBlank(this.lead.Contact_Name__c) ? this.lead.Contact_Name__r.Name : NONE));//SWAG-CEY8GZ 20220620 lt update
// this.conMap.put(NONE, sltOptNasi);
// 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� end
- this.conList = sltOptNasi;
+ // this.conList = sltOptNasi; //SWAG-CEY8GZ 20220620 lt update
// 鎷呭綋鑰呫儶銈广儓銇彇寰�
- List<Contact> contactList = [select id, name, AccountId from Contact where AccountId =: depIdList];
- for(Contact c : contactList){
- // 瑷虹檪绉戙仈銇ㄣ伀銆孨ONE銆嶉伕鎶炪儶銈广儓銈掕ō瀹�
- List<SelectOption> sltOptInit = new List<SelectOption>();
- // 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� start
- // sltOptInit.add(new SelectOption(NONE, NONE));
- // 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� end
- this.conMap.put(c.AccountId,sltOptInit);
- }
+ //SWAG-CEY8GZ 20220620 lt update
+ // List<Contact> contactList = [select id, name, AccountId from Contact where AccountId =: depIdList];
+ // for(Contact c : contactList){
+ // // 瑷虹檪绉戙仈銇ㄣ伀銆孨ONE銆嶉伕鎶炪儶銈广儓銈掕ō瀹�
+ // List<SelectOption> sltOptInit = new List<SelectOption>();
+ // // 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� start
+ // // sltOptInit.add(new SelectOption(NONE, NONE));
+ // // 2022-04-13 ssm 绱ф�ュ簲瀵� 绉戝鍜屽鎴蜂汉鍛樺繀濉� end
+ // this.conMap.put(c.AccountId,sltOptInit);
+ // }
- List<SelectOption> conSltList = new List<SelectOption>();
- for(Contact c : contactList){
- // 瑷虹檪绉戙仈銇ㄣ伀閬告姙銉偣銉堛倰鍐嶈ō瀹�
- conSltList = this.conMap.get(c.AccountId);
- conSltList.add(new SelectOption(c.id, c.name));
- this.conMap.put(c.AccountId, conSltList);
- }
+ // List<SelectOption> conSltList = new List<SelectOption>();
+ // for(Contact c : contactList){
+ // // 瑷虹檪绉戙仈銇ㄣ伀閬告姙銉偣銉堛倰鍐嶈ō瀹�
+ // conSltList = this.conMap.get(c.AccountId);
+ // conSltList.add(new SelectOption(c.id, c.name));
+ // this.conMap.put(c.AccountId, conSltList);
+ // }
+ //SWAG-CEY8GZ 20220620 lt update
// 銉兗銉夋墍鏈夎�呫伄鍙栧緱
this.leadOnwer = [select Province_Text__c from User where Id = :this.lead.OwnerId];
this.oppID = null;
+ return start();
+ // return null;
}
/** 瑷虹檪绉戦伕鎶炪儶銈广儓澶夋洿銈ゃ儥銉炽儓 */
@@ -173,37 +181,43 @@
system.debug('杩涘叆start()');
// LHJ 20181012 CHAN-B5G6EZ 璐拱鎰忓悜杞浠锋姤閿� Start
- try {
+ // try {
// LHJ 20181012 CHAN-B5G6EZ 璐拱鎰忓悜杞浠锋姤閿� End
// 鍟嗚珖浣滄垚妯╅檺銇儊銈с儍銈�
- if(!Schema.Sobjecttype.Opportunity.isCreateable()){
- ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR, ERROR_MSG_NONE_AUTHORITY));
- return null;
- }
- if(this.lead!=null){
- if(SI_Flg && this.lead.SI_OppoLeadSec__c==null){
- ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '杞琒I璇环闇�瑕佸~鍐欒浠峰壇鎷呭綋'));
- return null;
- }
- }
+ // if(!Schema.Sobjecttype.Opportunity.isCreateable()){
+ // ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.ERROR, ERROR_MSG_NONE_AUTHORITY));
+ // return null;
+ // }
+ // if(this.lead!=null){
+ // if(SI_Flg && this.lead.SI_OppoLeadSec__c==null){
+ // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '杞琒I璇环闇�瑕佸~鍐欒浠峰壇鎷呭綋'));
+ // return null;
+ // }
+ // }
// 瑷虹檪绉戞湭閬告姙銇牬鍚堛�佸嚘鐞嗐仾銇�
if (sltDep == NONE) {
return null;
}
// 閬告姙銇椼仧瑷虹檪绉戙倰鍙栧緱
- Account dept = this.getDepartment();
+ Account dept = null;
// 鎷呭綋鑰呮湭閬告姙銇牬鍚堛�併儶銉笺儔鎷呭綋鑰呫倰鐧婚尣
// if (sltCon == NONE) {
// this.addContact(dept);
// }
- Database.LeadConvertResult result = this.convertLead();
- this.oppID = result.getOpportunityId();
- ID conID = result.getContactId();
+
+ //SWAG-CEY8GZ 20220620 lt update
+ // Database.LeadConvertResult result = this.convertLead();
+ // this.oppID = result.getOpportunityId();
+ // ID conID = result.getContactId();
- this.updateContact(conID, dept);
- this.updateOpportunity(dept);
+ if(String.isNotBlank(this.lead.Contact_Name__c)){
+ dept = this.getDepartment(this.lead.Contact_Name__r.AccountId);
+ this.updateContact(this.lead.Contact_Name__c, dept);
+ }
+ this.updateOpportunity(this.getDepartment(this.lead.Hospital_Name__c));
+ //SWAG-CEY8GZ 20220620 lt update
// 寮曞悎銇法闆嗙敾闈€伄鍒濇湡鍊よō瀹�
//String uri = this.getUriOpportunity(dept);
@@ -213,10 +227,10 @@
//return new Pagereference(URL.getSalesforceBaseUrl().toExternalForm() + '/006/e?' + uri);
return new Pagereference(URL.getSalesforceBaseUrl().toExternalForm() + '/' + this.oppID + '/e?' + uri);
// LHJ 20181012 CHAN-B5G6EZ 璐拱鎰忓悜杞浠锋姤閿� Start
- } catch (Exception ex) {
- ApexPages.addMessages(ex);
- return null;
- }
+ // } catch (Exception ex) {
+ // ApexPages.addMessages(ex);
+ // return null;
+ // }
// LHJ 20181012 CHAN-B5G6EZ 璐拱鎰忓悜杞浠锋姤閿� End
}
@@ -258,16 +272,27 @@
* @param dept 瑷虹檪绉�
*/
public String updateOpportunity(Account dept){
- System.debug('dept'+dept.Id);
- Opportunity opp = [select ID, AccountId, Account.Department_Class_Wd__c, Opportunity_No__c, SAP_Province_CD__c, Opp_Number__c, Opp_Code__c from Opportunity where Id=:this.oppID];
-system.debug('cccccccccccccccccccc:'+opp.SAP_Province_CD__c);
-system.debug('cccccccccccccccccccc:'+opp.Opp_Number__c);
-system.debug('cccccccccccccccccccc:'+opp.Opp_Code__c);
-system.debug('cccccccccccccccccccc:'+opp.Opportunity_No__c);
+ System.debug('dept:'+dept.Id + '|' + dept.Department_Class_Wd__c);
+ //SWAG-CEY8GZ 20220620 lt update
+ //Opportunity opp = [select ID, AccountId, Account.Department_Class_Wd__c, Opportunity_No__c, SAP_Province_CD__c, Opp_Number__c, Opp_Code__c from Opportunity where Id=:this.oppID];
+ Opportunity opp = new Opportunity();
+ opp.LeadSource = this.lead.LeadSource;
+ opp.AccountId = dept.Id;
+
+ //SWAG-CEY8GZ 20220620 lt update
+ system.debug('cccccccccccccccccccc:'+opp.SAP_Province_CD__c);
+ system.debug('cccccccccccccccccccc:'+opp.Opp_Number__c);
+ system.debug('cccccccccccccccccccc:'+opp.Opp_Code__c);
+ system.debug('cccccccccccccccccccc:'+opp.Opportunity_No__c);
Opptype = SI_Flg==true?'SI璇环':RC_OPP;
RecordType rect = [select id from RecordType where IsActive = true and SobjectType = 'Opportunity' and Name =: Opptype limit 1];
opp.RecordTypeId = rect.id;
- opp.Opportunity_Category__c = opp.Account.Department_Class_Wd__c;
+ // opp.Opportunity_Category__c = opp.Account.Department_Class_Wd__c;
+ //SWAG-CKDATG fy 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 start
+ // opp.Opportunity_Category__c = dept.Department_Class_Wd__c;
+ opp.Opportunity_Category__c = this.lead.ET_Check__c ? 'ET' : dept.Department_Class_Wd__c;
+ opp.Opp_order_Type__c = this.lead.ET_Check__c ? 'ET' : null;
+ //SWAG-CKDATG fy 銆愬鎵樸�戙�怬BSAP-鎶ヤ环濮旀墭銆戞姤浠峰鎵橀」鐩敼鍠�1 end
System.debug('this.lead.Hospital_Name__c:'+this.lead.Hospital_Name__c);
System.debug('this.lead.LeadSource:'+this.lead.LeadSource);
System.debug('this.lead.Other_Society__c:'+this.lead.Other_Society__c);
@@ -334,7 +359,8 @@
opp.Other_Society__c = this.lead.Other_Society__c;
opp.Purchase_Reason__c = this.lead.Purchase_Reason__c;
opp.Trade__c = (String.isBlank(this.lead.Trade__c)) ? '鍐呰部' : this.lead.Trade__c;
- opp.Sales_Root__c = this.lead.Sales_Root__c;
+ // 澧炲姞榛樿鍊�
+ opp.Sales_Root__c = String.isNotBlank(this.lead.Sales_Root__c) ? this.lead.Sales_Root__c : '璨╁2搴�';
if (this.lead.Competitor__c != null && this.lead.Competitor__c != '') {
opp.Competitor__c = this.lead.Competitor__c;
}
@@ -342,11 +368,36 @@
opp.Opportunity_stage__c = this.lead.Opportunity_stage__c;
}
opp.Hospital_Budget__c = this.lead.Hospital_Budget__c;
- opp.Promise_Class__c = this.lead.Promise_Class__c;
+ // 澧炲姞榛樿鍊�
+ opp.Promise_Class__c = String.isNotBlank(this.lead.Promise_Class__c) ? this.lead.Promise_Class__c : '鍐呰部';
opp.Dicision_Maker__c = this.lead.Dicision_Maker__c;
//**********************************************************************************
opp.Purchase_Type__c = SI_Flg==true?'SI锛堟墜琛撳妗堜欢锛�':this.lead.Purchase_Type__c;
-
+ // 鍓媴褰撹嚜鍔ㄨ缃�
+ // User ownerUser = [select Id, ProfileId, State_Hospital__c, Salesdepartment_text__c from User where Id = :this.lead.OwnerId];
+ // switch on ownerUser.Salesdepartment_text__c {
+ // when '1.鍗庡寳' {
+ // opp.Opportunity_sub_owner__c = '00510000001QAcO';
+ // }
+ // when '2.涓滃寳' {
+ // opp.Opportunity_sub_owner__c = '00510000007hBuy';
+ // }
+ // when '3.瑗垮寳' {
+ // opp.Opportunity_sub_owner__c = '00510000005V2cA';
+ // }
+ // when '4.瑗垮崡' {
+ // opp.Opportunity_sub_owner__c = '00510000007hBuy';
+ // }
+ // when '5.鍗庝笢' {
+ // opp.Opportunity_sub_owner__c = '00510000001QRls';
+ // }
+ // when '6.鍗庡崡' {
+ // opp.Opportunity_sub_owner__c = '00510000001OOQW';
+ // }
+ // when else {
+ // opp.Opportunity_sub_owner__c = this.lead.SI_OppoLeadSec__c;
+ // }
+ // }
opp.Opportunity_sub_owner__c = this.lead.SI_OppoLeadSec__c;
//**********************************************************************************
opp.Sales_Method__c = this.lead.Sales_Method__c;
@@ -366,6 +417,7 @@
}
}
System.debug('opp.Hospital_Name__c:'+opp.Hospital__c);
+ System.debug('dept12345:'+dept.Hospital__c);
System.debug('opp.LeadSource:'+opp.LeadSource);
System.debug('opp.Other_Society__c:'+opp.Other_Society__c);
System.debug('opp.Purchase_Reason__c:'+opp.Purchase_Reason__c);
@@ -384,8 +436,71 @@
// 2022-04-15 OBSAP鏂板淇敼 start
opp.CampaignId = this.lead.Campaign__c;
System.debug('opp.CampaignId:'+opp.CampaignId);
+ // 鎷涙爣椤圭洰
+ if (String.isNotBlank(this.lead.Tender_information__c)) {
+ opp.Bidding_Project_Name_Bid__c = this.lead.Tender_information__c;
+ //SWAG-CEY8GZ 20220620 lt update
+ // 鏂板缓link
+ // Tender_Opportunity_Link__c link = new Tender_Opportunity_Link__c();
+ // link.Tender_information__c = this.lead.Tender_information__c;
+ // link.Opportunity__c = opp.Id;
+ // link.Tender_Opportunity_Uniq__c = String.valueOf(this.lead.Tender_information__c) + String.valueOf(opp.Id);
+
+ // insert link;
+ //SWAG-CEY8GZ 20220620 lt update
+ }
+ // 缁忛攢鍟嗚浠�
+ // 2022-05-20 璋冩暣缁忛攢鍟嗚浠风殑鏇存柊椤哄簭 ssm start
+ //SWAG-CEY8GZ 20220620 lt update
+ // Agency_Opportunity__c ao = null;
+ if (String.isNotBlank(this.lead.Agency_Opportunity__c)) {
+ opp.Agency_Opportunity__c = this.lead.Agency_Opportunity__c;
+ // 缁忛攢鍟嗚浠风粦瀹氳浠�
+ // ao = [select Id, Change_To_Opportunity__c from Agency_Opportunity__c where Id = :this.lead.Agency_Opportunity__c];
+ // ao.Change_To_Opportunity__c = opp.Id;
+ }
+
// 2022-04-15 OBSAP鏂板淇敼 end
- update opp;
+ //update opp;
+ insert opp;
+ this.oppId = opp.ID;
+ this.lead.Status = System.Label.StateChanges;
+ this.lead.begin_opp_name__c = opp.Id;
+ this.lead.begin_opp_date__c = Date.today();
+ update this.lead;
+ // if (String.isNotBlank(this.lead.Tender_information__c)) {
+ // // 鏂板缓link
+ // Tender_Opportunity_Link__c link = new Tender_Opportunity_Link__c();
+ // link.Tender_information__c = this.lead.Tender_information__c;
+ // link.Opportunity__c = opp.Id;
+ // link.Tender_Opportunity_Uniq__c = String.valueOf(this.lead.Tender_information__c) + String.valueOf(opp.Id);
+
+ // insert link;
+ // }
+
+ // if (ao != null && ao.Id != null) {
+ // update ao;
+ // }
+ //SWAG-CEY8GZ 20220620 lt update
+ // 2022-05-20 璋冩暣缁忛攢鍟嗚浠风殑鏇存柊椤哄簭 ssm end
+ // //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy start
+ List<QuoteIrai__c> quoteir=[select id,Opportunity__c,Lead__c from QuoteIrai__c where Lead__c =:leadId];
+ List<QuoteIrai__c> quoteirupdate = new List<QuoteIrai__c>();
+ if(quoteir.size()>0){
+ for(QuoteIrai__c quo : quoteir){
+ if(quo.Opportunity__c==null||quo.Opportunity__c==''){
+ quo.Opportunity__c=opp.Id;
+ quoteirupdate.add(quo);
+ }
+ }
+ }
+ System.debug('leadId++'+leadId);
+ System.debug('quoteir++'+quoteir);
+ System.debug('quoteirupdate++'+quoteirupdate);
+ if(quoteirupdate.size()>0){
+ update quoteirupdate;
+ }
+ // //SWAG-CF589P銆愬鎵樸�戙�怭:OBSAP銆戞姤浠峰鎵樼浉鍏虫柊闇�姹傝瘎浼� fy end
return null;
}
@@ -405,8 +520,9 @@
/**
* 閬告姙銇椼仧瑷虹檪绉戙倰鍙栧緱
*/
- public Account getDepartment(){
- List<Account> deptList = [select Id, Hospital__c, Department_Class__c from Account where id =: this.sltDep];
+ public Account getDepartment(String depId){
+ List<Account> deptList = [select Id, Hospital__c, Department_Class__c, Department_Class_Wd__c from Account where id =: depId];
+ // List<Account> deptList = [select Id, Hospital__c, Department_Class__c from Account where id =: this.sltDep];
Account dept = deptList[0];
return dept;
}
--
Gitblit v1.9.1