From e9e1806b0f4b5bae1fc36204ccc5d6fdad52d66f Mon Sep 17 00:00:00 2001 From: buli <137736985@qq.com> Date: 星期一, 05 六月 2023 11:22:08 +0800 Subject: [PATCH] Merge branch 'master' into LightningUpgradeProject --- force-app/main/default/classes/RepairBeforeInsertHandler.cls | 236 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 170 insertions(+), 66 deletions(-) diff --git a/force-app/main/default/classes/RepairBeforeInsertHandler.cls b/force-app/main/default/classes/RepairBeforeInsertHandler.cls index fd195e6..f7aa1ae 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); @@ -70,13 +78,19 @@ for(Account ac : accountList){ if(nObj.Hospital__c == ac.id){ String provinceAndCity = ''; - 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('灞变笢,娴庡崡甯�'); - } + //DB202303246427 LY 20230329 start + // 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('灞变笢,娴庡崡甯�'); + // } + if('闈掑矝' == ac.OCM_man_province_txt__c){ + provinceAndCity = matchupMap.get('灞变笢,闈掑矝甯�'); + }else if ('灞变笢' == ac.OCM_man_province_txt__c) { + provinceAndCity = matchupMap.get('灞变笢,娴庡崡甯�'); + //DB202303246427 LY 20230329 end }else{ provinceAndCity = matchupMap.get(ac.OCM_man_province_txt__c); } @@ -93,79 +107,169 @@ 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); - - if(addressList != null && addressList.size() > 0){ - system.debug(addressList[0]); + 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); + + System.debug('杩涘叆澶囧搧+++++addressTempList ' + addressTempList.size()); + // 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){ + System.debug('杩涘叆澶囧搧+++++ '); + if (nObj.Returns_Product_way__c == '澶囧搧涓績') { + user re = profileAndRoleMap.get(nObj.Incharge_Staff__c); + if (re == null) return; + String beipCenter = ''; + if (re.Profile.name.startsWith('2B3')) { + beipCenter = '鍖椾含澶囧搧涓績'; + }else 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'; + } + } + System.debug('杩涘叆澶囧搧+++++ beipCenter' + beipCenter); + + if(String.isNotBlank(beipCenter)){ + Address__c addressbeip = beipinMap.get(beipCenter); + System.debug('杩涘叆澶囧搧+++++ addressbeip' + addressbeip.id); + //鑱旂郴浜� + 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); + //DB202303246427 LY 20230329 start + // 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('灞变笢,娴庡崡甯�'); + // } + if ('闈掑矝' == ac.OCM_man_province_txt__c) { provinceAndCity = matchupMap.get('灞变笢,闈掑矝甯�'); - }else{ + }else if ('灞变笢' == ac.OCM_man_province_txt__c) { provinceAndCity = matchupMap.get('灞变笢,娴庡崡甯�'); + //DB202303246427 LY 20230329 end + }else{ + 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