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/OpportunityService.cls | 98 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 82 insertions(+), 16 deletions(-)
diff --git a/force-app/main/default/classes/OpportunityService.cls b/force-app/main/default/classes/OpportunityService.cls
index f8044db..063be70 100644
--- a/force-app/main/default/classes/OpportunityService.cls
+++ b/force-app/main/default/classes/OpportunityService.cls
@@ -1,6 +1,8 @@
public with sharing class OpportunityService{
- private static String opp_search_field = ' Id, Name, Account_Name_F__c, OwnerId, Hospital__c, Opportunity_No__c, Opportunity_stage__c, StageName__c, Bidding_Project_Name_Bid__c, Department_Class__r.RecordTypeId ';
+ public static Decimal selectcancelcount{get;set;}//閫夋嫨鐨勫彇娑堢殑璇环涓暟
+
+ private static String opp_search_field = ' Id, Name, Account_Name_F__c, OwnerId, Hospital__c, Opportunity_No__c, Opportunity_stage__c, StageName__c, stagename, Bidding_Project_Name_Bid__c, Department_Class__r.RecordTypeId ';
// 鏌ヨ宸蹭繚瀛樼殑鏁版嵁
//noStr 璇环鐨処D
@@ -36,10 +38,13 @@
// String paremt2 = '01210000000QekK';
// String paremt3 = '寮曞悎';
// sql += ' and (recordtypeid = :paremt1 or recordtypeid = :paremt2) and stagename = :paremt3 ';
- sql += ' and recordtype.developername in (\'Opportunity\',\'SI_Oppor\') and Hospital__r.Is_Active__c = \'鏈夊姽\' '+
+ sql += ' and recordtype.developername in (\'Opportunity\',\'SI_Oppor\') and Hospital__r.Is_Active__c = \'鏈夊姽\' ';
// 杩欓噷鏈変慨鏀癸紝鍒粰鐩栦簡
+ /**
+ DB202305552102 you 202305230 闄や簡鐩爣鐨勯兘鐪�
' and ( (SAP_Send_OK__c = true and SAP_Send_OK_Date__c = LAST_N_DAYS:183 ) '+
'or( stagename = \'鏁楁垿\' and Final_Contract_Proceeded_Date__c = LAST_N_DAYS:183 ) or stagename = \'寮曞悎\' ) ';
+ **/
// 杩欓噷鏈変慨鏀癸紝鍒粰鐩栦簡
// 20210914 鎴樼暐绉戝淇敼
//if (departments != null && String.isNotBlank(departments)) {
@@ -59,9 +64,15 @@
if(proId.substring(0,15) == p_2M4.substring(0,15)){
sql += ' AND OwnerId =\''+UserInfo.getUserId()+'\'';
}
- System.debug('sql:'+sql);
// 20221014 ljh SWAG-CK28WT add end
- sql += ' limit 50';
+ //DB202305552102 you 202305230 闄や簡鐩爣鐨勯兘鐪�
+ sql += ' and stageName != \'鐩\'';
+ //DB202305552102 you 202305230 闄や簡鐩爣鐨勯兘鐪�
+ //DB202309608863 chenjingwu 2023/10/11 鎷涙爣椤圭洰寰呭叧鑱旇浠蜂腑鎺掗櫎鍙樻洿鐢ㄦ埛璇环
+ sql += ' and If_Account_Change__c = false';
+ //DB202309608863 chenjingwu 2023/10/11 鎷涙爣椤圭洰寰呭叧鑱旇浠蜂腑鎺掗櫎鍙樻洿鐢ㄦ埛璇环
+ sql += ' order by stageName limit 50';
+ System.debug('sql1:'+sql);
List<Opportunity> arrays = Database.query(sql);
return JSON.serialize(arrays);
@@ -73,7 +84,6 @@
@AuraEnabled
public static string GetNormalProductDataNotSave(String IdStr,String[] hospital, String departments) {
- //TODU
// QueryWrapper query = new QueryWrapper(Tender_information__c.SObjectType);
// query.eq('Id',IdStr);
@@ -90,10 +100,12 @@
// String paremt3 = '寮曞悎';
// sql += ' and (recordtypeid = :paremt1 or recordtypeid = :paremt2) and stagename = \'寮曞悎\' ';
// sql += ' and recordtype.developername in (\'Opportunity\',\'SI_Oppor\') and Hospital__r.Is_Active__c = \'鏈夊姽\' '+
- sql += ' where recordtype.developername in (\'Opportunity\',\'SI_Oppor\') and Hospital__r.Is_Active__c = \'鏈夊姽\' '+
+ sql += ' where recordtype.developername in (\'Opportunity\',\'SI_Oppor\') and Hospital__r.Is_Active__c = \'鏈夊姽\' ';
// 杩欓噷鏈変慨鏀癸紝鍒粰鐩栦簡
+ /**DB202305552102 you 202305230 闄や簡鐩爣鐨勯兘鐪�
' and ( (SAP_Send_OK__c = true and SAP_Send_OK_Date__c = LAST_N_DAYS:183 ) '+
'or( stagename = \'鏁楁垿\' and Final_Contract_Proceeded_Date__c = LAST_N_DAYS:183 ) or stagename = \'寮曞悎\' ) ';
+ **/
// 杩欓噷鏈変慨鏀癸紝鍒粰鐩栦簡
// 鍘绘帀宸茬粡鍏宠仈鐨勬嫑鏍�
if(IdStr != null && String.isNotBlank(IdStr)) {
@@ -112,16 +124,23 @@
sql += ' and Hospital__c in :hospital';
}
// 20221014 ljh SWAG-CK28WT add start
+
String proId = UserInfo.getProfileId();
String p_2M4 = System.Label.ProfileId_2M4;
if(proId.substring(0,15) == p_2M4.substring(0,15)){
sql += ' AND OwnerId =\''+UserInfo.getUserId()+'\'';
}
- System.debug('sql:'+sql);
+
// 20221014 ljh SWAG-CK28WT add end
- sql += ' limit 50';
+ //DB202305552102 you 202305230 闄や簡鐩爣鐨勯兘鐪�
+ sql += ' and stageName != \'鐩\'';
+ //DB202305552102 you 202305230 闄や簡鐩爣鐨勯兘鐪�
+ //DB202309608863 chenjingwu 2023/10/11 鎷涙爣椤圭洰寰呭叧鑱旇浠蜂腑鎺掗櫎鍙樻洿鐢ㄦ埛璇环
+ sql += ' and If_Account_Change__c = false';
+ //DB202309608863 chenjingwu 2023/10/11 鎷涙爣椤圭洰寰呭叧鑱旇浠蜂腑鎺掗櫎鍙樻洿鐢ㄦ埛璇环
+ sql += ' order by stageName limit 200';
+ System.debug('sql2:'+sql);
List<Opportunity> arrays = Database.query(sql);
-
// Tender_information__c
return JSON.serialize(arrays);
@@ -167,7 +186,7 @@
// flag 淇敼 鎷涙姇鏍囬」鐩� 鍏宠仈璇环鏃堕棿鐨勪竴涓爣璇�
@AuraEnabled
public static string SaveData(String JsonSelected,String JsonNotSelected,String BiddingId,Boolean flag) {
-
+ selectcancelcount=0;
try{
// 鏂板鎷涙爣-璇环鍏宠仈鍏崇郴琛紝鍘绘帀鏇存柊璇环涓婄殑鏈�鏂版嫑鏍囦俊鎭� 20210813 start
// if(JsonSelected != null && JsonSelected != '' && JsonSelected !='[]')
@@ -234,9 +253,12 @@
sql += 'Hospital2__c, ';
sql += 'Hospital3__c, ';
sql += 'Hospital4__c, ';
+ sql += 'OpportunityNum__c, ';//20230714 you DB202306372336
sql += 'publicDate__c, ';// 20221114 ljh SWAG-CKL5UC
sql += 'Tender_Order__c, '; //20220620 you SWAG-CFD4SU
- sql += 'subInfoType__c '; //20220718 you 鎷涙爣浠诲姟
+ sql += 'subInfoType__c, '; //20220718 you 鎷涙爣浠诲姟
+ sql += 'status__c, ProjectRestartFLG__c,IsTerminate__c,TerminateApprovalStatus__c, ';
+ sql += 'TerminateApprovalTime__c ';//DB202305552102 澧炲姞椤圭洰缁堟鏃堕棿 鍙湁鐢宠椤圭洰缁堟鎵嶅厑璁稿叧鑱斿彇娑堢殑璇环
sql += 'FROM Tender_information__c WHERE Id = :BiddingId order by Tender_Order__c desc,relativeTime_F__c desc'; //20220620 you SWAG-CFD4SU 澧炲姞 order by
List<Tender_information__c> arrays = Database.query(sql);
Tender_information__c tender = arrays[0];
@@ -291,8 +313,37 @@
List<Opportunity> upd_opps = new List<Opportunity>();
List<Opportunity> upd_opps1 = new List<Opportunity>();
List<String> owners = new List<String>();
+ Integer links=0;
// 鎻掑叆link
if (all_selected_list.size() > 0) {
+ //鍙栨秷鐘舵�� 璇环鍒ゆ柇
+ Map<String,String> oppStagename= new Map<String,String>();
+ for (Opportunity opp : all_selected_list) { //褰撳墠閫夋嫨鐨勮浠�
+ if(opp.stagename=='鍓婇櫎'){
+ oppStagename.put(opp.Id,opp.stagename);
+ selectcancelcount +=1;
+ }
+ }
+
+ system.debug(all_selected_list.size()+'==oppStagename=='+oppStagename +'==selectcancelcount=='+selectcancelcount);
+ if(null!= oppStagename && oppStagename.size()>0 && tender.TerminateApprovalTime__c ==null){
+ return '鍙湁鐢宠椤圭洰缁堟鎵嶅厑璁稿叧鑱斿彇娑堢殑璇环';
+ /**
+ List<Tender_Opportunity_Link__c> del_links = [select Id,Opportunity__c,Opportunity__r.Name,Opportunity__r.Opportunity_No__c,Tender_information__r.status__c from Tender_Opportunity_Link__c where Opportunity__c = :oppStagename.keySet() and Tender_information__r.status__c !='09.缁堟'];
+ system.debug('==del_links=='+del_links);
+ Map<String,String> deldate= new Map<String,String>();
+ if(del_links != null && del_links.size() > 0){
+ for(Tender_Opportunity_Link__c ten:del_links){
+ deldate.put(ten.Opportunity__c,ten.Opportunity__r.Name);
+ }
+ }
+ if(null!=deldate&& deldate.size()>0){
+ for (String del : deldate.keySet()) {
+ qxopp+=deldate.get(del)+',';
+ }
+ }
+ **/
+ }
// 璁剧疆鎷涙爣鎵�鏈変汉
// OppOwnerId = all_selected_list[0].ownerId;
// 鍒濆鍖栧弬鏁�
@@ -313,6 +364,7 @@
}
// 鎻掑叆link
if (add_list.size() > 0) {
+ links=add_list.size();
insert add_list;
}
// 鎭㈠trigger鏍囪
@@ -356,7 +408,8 @@
}
opp.Tender_Number__c = returncount;
// 20221114 ljh SWAG-CKL5UC start
- if(opp.LeakageNumber__c != 1 && tender.publicDate__c != null && String.isNotBlank(opp.LeadSource) && opp.LeadSource == '鎷涙爣缃�' && opp.Created_Day__c > tender.publicDate__c){
+ //20230727 lt DB202307367354 銆愭嫑鏍囬」鐩�戞紡鍗曡绠楅�昏緫淇敼 delete && String.isNotBlank(opp.LeadSource) && opp.LeadSource == '鎷涙爣缃�'
+ if(opp.LeakageNumber__c != 1 && tender.publicDate__c != null && opp.Created_Day__c > tender.publicDate__c){
opp.LeakageNumber__c = 1;
}
// 20221114 ljh SWAG-CKL5UC start
@@ -396,7 +449,9 @@
tender.IsReactionOpp__c = true;
// 鏌ヨ鎷涙爣鏁伴噺骞舵洿鏂�
//List<Tender_Opportunity_Link__c> tenderLinks = [SELECT id, Tender_information__c, Opportunity__c, Opportunity__r.Hospital__c FROM Tender_Opportunity_Link__c WHERE Tender_information__c = :tender.Id];
- tender.OpportunityNum__c = tenderLinks != null ? tenderLinks.size() : 0;
+ //tender.OpportunityNum__c = tenderLinks != null ? tenderLinks.size() : 0;
+ //20230714 you DB202306372336 鍘熷洜锛屽綋鍓嶆媴褰撳彧鑳界湅鍒拌嚜宸卞緱鍏宠仈璇环锛岀湅涓嶅埌鍏朵粬浜哄緱锛屾墍浠ヨ浠锋暟閲忎篃鍙兘绱鑷繁鐨�
+ tender.OpportunityNum__c = tender.OpportunityNum__c != null ? tender.OpportunityNum__c + links :links ;
// 鍏宠仈璇环鏃堕棿鍜屾槸鍚︾浉鍏崇姸鎬�
if (tender.IsRelateProject__c != '鏄�') {
tender.IsRelateProject__c = '鏄�';
@@ -446,11 +501,22 @@
tender.Hospital3__c = fiveHospitalMap.get('Hospital3__c');
tender.Hospital4__c = fiveHospitalMap.get('Hospital4__c');
}
+ //鐘舵�佷负缁堟 && 鍏ㄩ儴閫夋嫨鐨勬槸鍙栨秷鏃讹紝涓嶈繘琛岄」鐩噸鍚�
+ if(tender.status__c == '09.缁堟' && selectcancelcount !=0 && selectcancelcount != all_selected_list.size()){
+ tender.ProjectRestartFLG__c = true;
+ tender.IsTerminate__c = null;
+ tender.TerminateApprovalTime__c = null;
+ tender.TerminateApprovalStatus__c = null;
+ }
update tender;
// 鎷涙爣-璇环鍏宠仈淇敼 20210813 end
- return '鎴愬姛';
- }catch (Exception ex) {
- return ex.getMessage();
+ return '鎴愬姛';
+ }catch (Exception e) {
+ // String eMsg = e.getMessage();
+ // Integer left = eMsg.indexOf('锛�')+1;
+ // Integer right = eMsg.indexOf('锛�');
+ // return eMsg.substring(left,right);
+ return e.getMessage();
}
}
--
Gitblit v1.9.1