From 962519811b7c4be07f30d09e791798b0ea79d3ae Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 08 三月 2023 09:54:02 +0800
Subject: [PATCH] 同步代码
---
force-app/main/default/classes/RepairBeforeInsertHandler.cls | 204 ++++++++++++++++++++++++++++++++++++--------------
1 files changed, 145 insertions(+), 59 deletions(-)
diff --git a/force-app/main/default/classes/RepairBeforeInsertHandler.cls b/force-app/main/default/classes/RepairBeforeInsertHandler.cls
index fd195e6..c0b6bb2 100644
--- a/force-app/main/default/classes/RepairBeforeInsertHandler.cls
+++ b/force-app/main/default/classes/RepairBeforeInsertHandler.cls
@@ -56,12 +56,20 @@
List<String> HospitalId = new List<String>();
List<String> provinceList = new List<String>();//鐪�
List<String> cityList = new List<String>();//甯�
+ List<String> inchargeStaff = new List<String>();//甯�
for (Repair__c nObj : newList) {
//鍖婚櫌鐨凜SM绠$悊鐪�(鏂囨湰) 鍊间笉涓虹┖锛屽苟涓旀敹璐у湴鍧�涓嶄负绌�
if(nObj.Hospital__c != null && nObj.address_Contacts__c == null && nObj.address_Telephone__c == null && nObj.address_Contacts_Name__c == null && nObj.address_City__c == null && nObj.Detailed_Address__c == null){
HospitalId.add(nObj.Hospital__C);
}
+ inchargeStaff.add(nObj.Incharge_Staff__c);
}
+ // gzw DB202212270703 20230301 澶囧搧鍦板潃瀵煎叆鏀归�� start
+ Map<String,user> profileAndRoleMap = new Map<String,user>();
+ for(user re :[select id,Profile.name,Branch__c,UserRole.name from user where id in :inchargeStaff]){
+ profileAndRoleMap.put(re.id, re);
+ }
+ // gzw DB202212270703 20230301 澶囧搧鍦板潃瀵煎叆鏀归�� start
if(HospitalId != null && HospitalId.size() > 0){
String HospitalSQl = 'SELECT id,OCM_man_province_txt__c,FieldCity_Master_Name__c from Account where id in :HospitalId';
List<Account> accountList = Database.query(HospitalSQl);
@@ -93,79 +101,157 @@
system.debug('cityList='+cityList);
system.debug('provinceList='+provinceList);
if(falg && provinceList != null && cityList != null && provinceList.size() > 0 && cityList.size() > 0){
- String addressSQl = 'SELECT ID,Customer__c,Customer_Name__c,Contacts__c,Contacts_Name__c,Telephone__c,Province__c,Province_Name__c,City__c,City_Name__c,Detailed_Address__c,ZipCode__c'
- //+ ',Contacts__r.LastName_Encrypted__c,ZipCode_Encrypted__c,Detailed_Address_Encrypted__c,Telephone_Encrypted__c' // PI鏀归�� By Bright 20220407 zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ // gzw DB202212270703 20230301 澶囧搧鍦板潃瀵煎叆鏀归�� start
+ // String addressSQl = 'SELECT ID,Customer__c,Customer_Name__c,Contacts__c,Contacts_Name__c,Telephone__c,Province__c,Province_Name__c,City__c,City_Name__c,Detailed_Address__c,ZipCode__c'
+ // //+ ',Contacts__r.LastName_Encrypted__c,ZipCode_Encrypted__c,Detailed_Address_Encrypted__c,Telephone_Encrypted__c' // PI鏀归�� By Bright 20220407 zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ // + ' from Address__c '
+ // + ' where Address_Classification__c = \'鍔炰簨澶刓' and Province_Name__c in :provinceList and City_Name__c in :cityList '
+ // + ' order by Using_Datetime__c desc NULLS LAST ';
+
+
+ String addressSQl = 'SELECT ID,Customer__c,Customer_Name__c,Contacts__c,Contacts_Name__c,Telephone__c,Province__c,Province_Name__c,City__c,City_Name__c,Detailed_Address__c,ZipCode__c '
+ + ' ,Address_Classification__c,Beipin_Center__c '
+ //+ ',Contacts__r.LastName_Encrypted__c,ZipCode_Encrypted__c,Detailed_Address_Encrypted__c,Telephone_Encrypted__c' // PI鏀归�� By Bright 20220407 zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ ' from Address__c '
- + ' where Address_Classification__c = \'鍔炰簨澶刓' and Province_Name__c in :provinceList and City_Name__c in :cityList '
+ + ' where ( Address_Classification__c = \'鍔炰簨澶刓' and Province_Name__c in :provinceList and City_Name__c in :cityList )'
+ + ' or Address_Classification__c = \'澶囧搧\''
+ ' order by Using_Datetime__c desc NULLS LAST ';
+
+ // gzw DB202212270703 20230301 澶囧搧鍦板潃瀵煎叆鏀归�� end
system.debug('addressSQl='+addressSQl);
- List<Address__c> addressList = Database.query(addressSQl);
+ List<Address__c> addressList = new List<Address__c>();
+ Map<String,Address__c> beipinMap = new Map<String,Address__c>();
+ List<Address__c> addressTempList = Database.query(addressSQl);
+ for (Address__c ad :addressTempList) {
+ if (ad.Address_Classification__c == '澶囧搧') {
+ beipinMap.put(ad.Beipin_Center__c,ad);
+ }else{
+ addressList.add(ad);
+ }
+ }
+ //List<Address__c> addressList = Database.query(addressSQl);
+
- if(addressList != null && addressList.size() > 0){
- system.debug(addressList[0]);
+ // if(addressList != null && addressList.size() > 0){
+ if(addressTempList != null && addressTempList.size() > 0){
for (Repair__c nObj : newList) {
- if(nObj.Hospital__c != null && nObj.address_Contacts__c == null && nObj.address_Telephone__c == null && nObj.address_Contacts_Name__c == null && nObj.address_City__c == null && nObj.Detailed_Address__c == null){
- //鐢变簬涓轰簡鍑忓皯select ,鎵�浠ヨ幏鍙栨垜浠厤缃ソ鐨刴ap锛屾牴鎹繚鏈夎澶囦笂鍖婚櫌鐨� OCSM绠$悊鐪�(鏂囨湰) 鐨勫�硷紝鑾峰彇瀵瑰簲鐨勫湴鍧�涓婄殑鐪佸拰甯�
- for(Account ac : accountList){
- if(nObj.Hospital__c == ac.id){
- String provinceAndCity = '';
- matchupMap.get(ac.OCM_man_province_txt__c);
- if('灞变笢' == ac.OCM_man_province_txt__c){
- if('鐑熷彴甯�' == ac.FieldCity_Master_Name__c || '濞佹捣甯�' == ac.FieldCity_Master_Name__c || '鏃ョ収甯�' == ac.FieldCity_Master_Name__c
- || '闈掑矝甯�' == ac.FieldCity_Master_Name__c || '娼嶅潑甯�' == ac.FieldCity_Master_Name__c){
- provinceAndCity = matchupMap.get('灞变笢,闈掑矝甯�');
+ if (nObj.Returns_Product_way__c == '澶囧搧涓績') {
+ user re = profileAndRoleMap.get(nObj.Incharge_Staff__c);
+ String beipCenter = '';
+ if (re.Profile.name.startsWith('2B2')) {
+ if (re.Branch__c == '鍖椾含') {
+ beipCenter = '鍖椾含澶囧搧涓績';
+ }else if (re.Branch__c == '涓婃捣') {
+ beipCenter = '鍗庝笢澶囧搧涓績';
+ }else if (re.Branch__c == '骞垮窞') {
+ beipCenter = '骞垮窞澶囧搧涓績';
+ }
+ }else if (re.UserRole.name == 'CTEC鏁欒偛鏈儴') {
+ if (re.Branch__c == '鍖椾含') {
+ beipCenter = '鍖椾含C-TEC';
+ }else if (re.Branch__c == '涓婃捣') {
+ beipCenter = '涓婃捣C-TEC';
+ }else if (re.Branch__c == '骞垮窞') {
+ beipCenter = '骞垮窞C-TEC';
+ }
+ }
+
+ if(String.isNotBlank(beipCenter)){
+ Address__c addressbeip = beipinMap.get(beipCenter);
+ //鑱旂郴浜�
+ String contactsName = '';
+ String contactsNameEncrypt = '';
+ if(!String.isBlank(addressbeip.Contacts__c)){
+ contactsName = addressbeip.Contacts_Name__c;
+ }
+ //鐪�+甯�
+ String address = addressbeip.Detailed_Address__c.trim();
+ String cityName = addressbeip.City_Name__c.trim();
+ String ProvinceCity = addressbeip.Province_Name__c.trim()+cityName;
+ //闃叉璇︾粏鍦板潃閲岄潰甯︾潃鐪佷唤鍜屽競
+ if(!address.contains(ProvinceCity)){
+ address = ProvinceCity + address;
+ }
+ //鑱旂郴浜�
+ String ContactPerson = '';
+ if(!String.isBlank(addressbeip.Customer__c)){
+ ContactPerson = addressbeip.Customer_Name__c;
+ }
+ nObj.address_Contacts__c=contactsName;
+ nObj.address_ZipCode__c = addressbeip.ZipCode__c;
+ nObj.address_City__c = cityName;
+ nObj.address_Contacts_Name__c = ContactPerson;
+ nObj.address_Telephone__c=addressbeip.Telephone__c;
+ nObj.Detailed_Address__c=address;
+ nObj.Encrypt_Update_Flag__c=true;
+ system.debug('nObj assign and Encrypt_Update_Flag__c set true');
+
+ }
+ }else{
+ if(nObj.Hospital__c != null && nObj.address_Contacts__c == null && nObj.address_Telephone__c == null && nObj.address_Contacts_Name__c == null && nObj.address_City__c == null && nObj.Detailed_Address__c == null){
+ //鐢变簬涓轰簡鍑忓皯select ,鎵�浠ヨ幏鍙栨垜浠厤缃ソ鐨刴ap锛屾牴鎹繚鏈夎澶囦笂鍖婚櫌鐨� OCSM绠$悊鐪�(鏂囨湰) 鐨勫�硷紝鑾峰彇瀵瑰簲鐨勫湴鍧�涓婄殑鐪佸拰甯�
+ for(Account ac : accountList){
+ if(nObj.Hospital__c == ac.id){
+ String provinceAndCity = '';
+ matchupMap.get(ac.OCM_man_province_txt__c);
+ if('灞变笢' == ac.OCM_man_province_txt__c){
+ if('鐑熷彴甯�' == ac.FieldCity_Master_Name__c || '濞佹捣甯�' == ac.FieldCity_Master_Name__c || '鏃ョ収甯�' == ac.FieldCity_Master_Name__c
+ || '闈掑矝甯�' == ac.FieldCity_Master_Name__c || '娼嶅潑甯�' == ac.FieldCity_Master_Name__c){
+ provinceAndCity = matchupMap.get('灞变笢,闈掑矝甯�');
+ }else{
+ provinceAndCity = matchupMap.get('灞变笢,娴庡崡甯�');
+ }
}else{
- provinceAndCity = matchupMap.get('灞变笢,娴庡崡甯�');
+ provinceAndCity = matchupMap.get(ac.OCM_man_province_txt__c);
}
- }else{
- provinceAndCity = matchupMap.get(ac.OCM_man_province_txt__c);
- }
- system.debug('provinceAndCity='+provinceAndCity);
- if(provinceAndCity != null){//涓嶈兘涓虹┖
- //鍦板潃琛ㄤ笂鐪佸拰甯備笉鑳戒负绌�
- if(addressList[0].Province_Name__c != null && addressList[0].City_Name__c!= null){
- //鎷兼帴涓�涓瓧绗︿覆鏂逛究瀵规瘮
- String pAc = addressList[0].Province_Name__c + ',' + addressList[0].City_Name__c;
- if(provinceAndCity.equals(pAc)){
- //鑱旂郴浜�
- String contactsName = '';
- String contactsNameEncrypt = '';// 20220407 PI鏀归�� By Bright
- if(!String.isBlank(addressList[0].Contacts__c)){
- contactsName = addressList[0].Contacts_Name__c;
- //contactsNameEncrypt = addressList[0].Contacts__r.LastName_Encrypted__c;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ system.debug('provinceAndCity='+provinceAndCity);
+ if(provinceAndCity != null){//涓嶈兘涓虹┖
+ //鍦板潃琛ㄤ笂鐪佸拰甯備笉鑳戒负绌�
+ if(addressList[0].Province_Name__c != null && addressList[0].City_Name__c!= null){
+ //鎷兼帴涓�涓瓧绗︿覆鏂逛究瀵规瘮
+ String pAc = addressList[0].Province_Name__c + ',' + addressList[0].City_Name__c;
+ if(provinceAndCity.equals(pAc)){
+ //鑱旂郴浜�
+ String contactsName = '';
+ String contactsNameEncrypt = '';// 20220407 PI鏀归�� By Bright
+ if(!String.isBlank(addressList[0].Contacts__c)){
+ contactsName = addressList[0].Contacts_Name__c;
+ //contactsNameEncrypt = addressList[0].Contacts__r.LastName_Encrypted__c;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ }
+ //鐪�+甯�
+ String address = addressList[0].Detailed_Address__c.trim();
+ //String addressEncrypt = addressList[0].Detailed_Address_Encrypted__c; zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ String cityName = addressList[0].City_Name__c.trim();
+ String ProvinceCity = addressList[0].Province_Name__c.trim()+cityName;
+ //闃叉璇︾粏鍦板潃閲岄潰甯︾潃鐪佷唤鍜屽競
+ if(!address.contains(ProvinceCity)){
+ address = ProvinceCity + address;
+ }
+ //鑱旂郴浜�
+ String ContactPerson = '';
+ if(!String.isBlank(addressList[0].Customer__c)){
+ ContactPerson = addressList[0].Customer_Name__c;
+ }
+ nObj.address_Contacts__c=contactsName;
+ //nObj.address_Contacts_Encrypt__c=contactsNameEncrypt;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ nObj.address_ZipCode__c = addressList[0].ZipCode__c;
+ //nObj.address_ZipCode_Encrypt__c = addressList[0].ZipCode_Encrypted__c;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ nObj.address_City__c = cityName;
+ nObj.address_Contacts_Name__c = ContactPerson;
+ nObj.address_Telephone__c=addressList[0].Telephone__c;
+ //nObj.address_Telephone_Encrypt__c=addressList[0].Telephone_Encrypted__c;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ nObj.Detailed_Address__c=address;
+ //nObj.Detailed_Address_Encrypt__c=addressEncrypt;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
+ nObj.Encrypt_Update_Flag__c=true;// 20220411 PI鏀归�� By Bright
+ system.debug('nObj assign and Encrypt_Update_Flag__c set true');
}
- //鐪�+甯�
- String address = addressList[0].Detailed_Address__c.trim();
- //String addressEncrypt = addressList[0].Detailed_Address_Encrypted__c; zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
- String cityName = addressList[0].City_Name__c.trim();
- String ProvinceCity = addressList[0].Province_Name__c.trim()+cityName;
- //闃叉璇︾粏鍦板潃閲岄潰甯︾潃鐪佷唤鍜屽競
- if(!address.contains(ProvinceCity)){
- address = ProvinceCity + address;
- }
- //鑱旂郴浜�
- String ContactPerson = '';
- if(!String.isBlank(addressList[0].Customer__c)){
- ContactPerson = addressList[0].Customer_Name__c;
- }
- nObj.address_Contacts__c=contactsName;
- //nObj.address_Contacts_Encrypt__c=contactsNameEncrypt;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
- nObj.address_ZipCode__c = addressList[0].ZipCode__c;
- //nObj.address_ZipCode_Encrypt__c = addressList[0].ZipCode_Encrypted__c;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
- nObj.address_City__c = cityName;
- nObj.address_Contacts_Name__c = ContactPerson;
- nObj.address_Telephone__c=addressList[0].Telephone__c;
- //nObj.address_Telephone_Encrypt__c=addressList[0].Telephone_Encrypted__c;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
- nObj.Detailed_Address__c=address;
- //nObj.Detailed_Address_Encrypt__c=addressEncrypt;// 20220407 PI鏀归�� By Bright zhj MEBG鏂版柟妗堟敼閫� 2022-11-29
- nObj.Encrypt_Update_Flag__c=true;// 20220411 PI鏀归�� By Bright
- system.debug('nObj assign and Encrypt_Update_Flag__c set true');
}
}
}
}
}
}
+
}
}
}
--
Gitblit v1.9.1