From e3c02c03dd2de442bbced87236f60a13a1cd154e Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期四, 02 三月 2023 17:51:57 +0800
Subject: [PATCH] gzw 正式环境最新代码更新
---
force-app/main/default/classes/SetProvinceTargetController.cls | 593 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 424 insertions(+), 169 deletions(-)
diff --git a/force-app/main/default/classes/SetProvinceTargetController.cls b/force-app/main/default/classes/SetProvinceTargetController.cls
index ec75b2e..028d11c 100644
--- a/force-app/main/default/classes/SetProvinceTargetController.cls
+++ b/force-app/main/default/classes/SetProvinceTargetController.cls
@@ -49,14 +49,33 @@
// 鏃㈠瓨鐩爣鏁版嵁
private Map<String, Opportunity> oppsMap;
+ //2021/12/28 涓棿琛ㄥ瘎瀛樻暟鎹� by ld fy
+ private Map<String,Provincial_Goal_Setting_Input__c> Provincial_Goal_Setting_InputMap;
+ public Provincial_Goal_Setting_Input__c[] Existed_Provincial_Goal_Setting_Input;
+ private List<Provincial_Goal_Setting_Input__c> upsertPGSIList;
+ private Map<String, Provincial_Goal_Setting_Input__c> Provincial_Goal_Setting_InputMap1;
+ private Map<String, OCM_Management_Province__c> OCM_MpMap;
+ private List<String> AllOwnerSystem;
+ private static String[] CIfromass = new String[] {'GI','ET','BF','GDP'};
+ private static String[] SPfromass = new String[] {'GS','URO','GYN','ENT','ENG'};
// 閲戦鍒嗙被
//private static String[] amountCategory = new String[] {'GI','ET','BF','GS','URO','GYN','ENT','OTH'};
//鐪佺洰鏍�(SetProvinceTarget):闅愯棌OTH銆傝拷鍔燛NG銆�
private static String[] amountCategory = new String[] {'GI','ET','BF','GS','URO','GYN','ENT','ENG'};
+ //SWAG-C9YDDE 2021/12/28 fy start
+ // private static String[] amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'};
+ //SWAG-C9YDDE 2021/12/28 fy end
//CHAN-BDQBLX 20210129 you start
public string csvAsString {get; set;}
public String[] csvFileLines {get; set;}
- private static String[] titlepage = new String[] {'閿�鍞湰閮�', '鐪�', '鎷呭綋','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'};
+ //fy 淇敼 start
+ public String users6_ID = System.Label.s6_ID;
+ public boolean JianDangfalg { get; set; }
+ //fy 淇敼 end
+ private static String[] titlepage = new String[] {'閿�鍞湰閮�', '鐪�','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'};
+ //SWAG-C9YDDE 2021/12/28 fy start
+ // private static String[] titlepage = new String[] {'閿�鍞湰閮�', '鐪�', '鎷呭綋','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'};
+ //SWAG-C9YDDE 2021/12/28 fy end
public Integer detailCountLimit{get;private set;}
private Map<String, Opportunity> oppsMap1;
private List<Opportunity> upsertAMPList ;
@@ -64,12 +83,41 @@
//CHAN-BDQBLX 20210129 you end
// 鐢婚潰鍒濆鍖�
public Pagereference init() {
+ JianDangfalg=false;
+ //fy 淇敼 20220412
+ System.debug('users6_ID: '+users6_ID);
+ System.debug('褰撳墠鐢ㄦ埛绠�妗�: '+UserInfo.getProfileId());
+ String userProfileId = UserInfo.getProfileId();
+ if(!String.isBlank(userProfileId)){
+ userProfileId=userProfileId.substring(0,15);
+ }
+ System.debug('褰撳墠鐢ㄦ埛绠�妗f埅鍙�: '+userProfileId);
+ List<String> user6IdList = users6_ID.split(',');
+ for(String user6id : user6IdList){
+ if(user6id==userProfileId){
+ // if(user6id=='00e10000000xnpR'){
+ JianDangfalg=true;
+ break;
+ }
+ }
+ System.debug('user6IdList: '+user6IdList);
+ System.debug('JianDangfalg: '+JianDangfalg);
+ if(JianDangfalg){
+ amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'};
+ titlepage = new String[] {'閿�鍞湰閮�', '鐪�','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'};
+ }
+ System.debug('amountCategory===: '+amountCategory);
+ //fy 淇敼 20220412
//CHAN-BDQBLX 20210129 you start
oppsMap1 = new Map<String, Opportunity>();
detailCountLimit = 10000;
upsertAMPList = new List<Opportunity>();
deleteAMPList = new List<Opportunity>();
//CHAN-BDQBLX 20210129 you end
+ //SWAG-C9YDDE 2021/12/28 fy start
+ Provincial_Goal_Setting_InputMap1 = new Map<String, Provincial_Goal_Setting_Input__c>();
+ upsertPGSIList = new List<Provincial_Goal_Setting_Input__c>();
+ //SWAG-C9YDDE 2021/12/28 fy end
// 鐜板湪鏃堕棿
Date dateNow = Date.today();
Integer year = dateNow.year();
@@ -187,7 +235,7 @@
}
// 鏁版嵁璧嬪��
setBean(iYear);
-
+ system.debug('dataBeans+++'+dataBeans[0]);
return null;
}
//SWAG-BB48QB 鍒ゆ柇褰撳墠鏃堕棿鏄惁鏄�4鏈�15鏃ヤ箣鍚� start
@@ -287,7 +335,11 @@
}
//瀵煎叆鏂规硶
public PageReference importCSVFile() {
- String csvData = ApexPages.currentPage().getParameters().get('csvData');
+ try{
+ if(JianDangfalg){
+ titlepage = new String[] {'閿�鍞湰閮�', '鐪�','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'};
+ }
+ String csvData = ApexPages.currentPage().getParameters().get('csvData');
// 灏嗗唴瀹硅浆鎹㈡垚涓轰腑鏂�
if(!Test.isRunningTest()){
//csvAsString = bitToString(csvFileBody, 'gb2312');
@@ -304,213 +356,222 @@
if (csvFileLines.size() > 0) {
string[] titlecsv = csvFileLines[0].trim().split(',');//
system.debug(titlecsv + '==titlepage==' + titlepage);
- for (integer j = 0; j < titlecsv.size(); j++) {
- if (!titlepage.contains(titlecsv[j])) {
- system.debug('琛ㄥご涓嶄竴鑷村緱鍒�===' + titlecsv[j]);
- ValFlag = true;
- exportByVal = '琛ㄥご涓嶄竴鑷达紝璇蜂弗鏍兼寜鐓у鍑烘ā鏉垮~鍐�';
- break;
+ if(titlepage.size()!=titlecsv.size()){
+ ValFlag = true;
+ exportByVal = '琛ㄥご涓嶄竴鑷达紝璇蜂弗鏍兼寜鐓у鍑烘ā鏉垮~鍐�';
+ }else{
+ for (integer j = 0; j < titlecsv.size(); j++) {
+ if (!titlepage.contains(titlecsv[j])) {
+ system.debug('琛ㄥご涓嶄竴鑷村緱鍒�===' + titlecsv[j]);
+ ValFlag = true;
+ exportByVal = '琛ㄥご涓嶄竴鑷达紝璇蜂弗鏍兼寜鐓у鍑烘ā鏉垮~鍐�';
+ break;
+ }
}
-
}
-
}
if (ValFlag) {
successMsg = new ApexPages.Message(ApexPages.severity.INFO, exportByVal);
ApexPages.addMessage(successMsg);
} else {
- List<String> UserInfoList = new List<String>();
+ // List<String> UserInfoList = new List<String>();
Map<String, List<String>> szMap = new Map<String, List<String>>();
Set<String> sfs = new Set<String>();//鐪佷唤
-
+ getOCMManagementProvince();
for (Integer i = 1; i < csvFileLines.size(); i++) {
string[] csvRecordData = csvFileLines[i].split(',');
if (csvRecordData.size() > 0) {
String bu = csvRecordData[0].replace(' ', '');//閿�鍞湰閮�
String sf = csvRecordData[1].replace(' ', '');//鐪�
- String dandang = csvRecordData[2].replace(' ', '');//鎷呭綋
- if(String.isNotBlank(dandang)){
- UserInfoList.add(dandang);//鏍规嵁 鎷呭綋鏌ser
-
- }
- szMap.put(bu+'_'+ sf + '_'+ dandang, csvRecordData);
- sfs.add(sf);//鎶婄渷浠芥斁杩涘幓
-
+ // String dandang = csvRecordData[2].replace(' ', '');//鎷呭綋
+ // if(String.isNotBlank(dandang)){
+ // UserInfoList.add(dandang);//鏍规嵁 鎷呭綋鏌ser
+ // }
+ // szMap.put(bu+'_'+ sf + '_'+ dandang, csvRecordData);
+ // fy 20220107
+ szMap.put(bu+'_'+ sf, csvRecordData);
+ sfs.add(sf);//鎶婄渷浠芥斁杩涘幓
}
}
if (null != sfs && sfs.size() > 0) {
- this.getOppprtunity_List(sfs);//鏍规嵁鐪佷唤骞翠唤锛岃幏鍙栧綋鍓嶇郴缁熶腑宸茬粡瀛樺湪寰楁暟鎹� 鏀惧埌map涓�
-
+ // this.getOppprtunity_List(sfs);
+ this.getProvincial_Goal_Setting_Input(sfs);//鏍规嵁鐪佷唤骞翠唤锛岃幏鍙栧綋鍓嶇郴缁熶腑宸茬粡瀛樺湪寰楁暟鎹� 鏀惧埌map涓�
}
- List<User> userList = new List<User>();
- System.debug('==UserInfoList=='+UserInfoList);
- if (null != UserInfoList && UserInfoList.size() > 0) {
- userList = this.getUserList(UserInfoList);//杩斿洖鐢ㄦ埛寰椾竴浜涗俊鎭�
+ // List<User> userList = new List<User>();
+ // // System.debug('==UserInfoList=='+UserInfoList);
+ // if (null != UserInfoList && UserInfoList.size() > 0) {
+ // userList = this.getUserList(UserInfoList);//杩斿洖鐢ㄦ埛寰椾竴浜涗俊鎭�
+ // }
+ // Map<String, User> userMap = new Map<String, User>();
+ // for (User userl : userList) {
+ // userMap.put(userl.Alias, userl);
+ // }
+ //fy 淇敼 20220412
+ Integer GDP_Number = 0;
+ Integer GI_Number = 0;
+ Integer ET_Number = 0;
+ Integer BF_Number = 0;
+ Integer GS_Number = 0;
+ Integer URO_Number = 0;
+ Integer GYN_Number = 0;
+ Integer ENT_Number = 0;
+ Integer ENG_Number = 0;
+ if(JianDangfalg){
+ //2021/12/28 涓棿琛ㄥ瘎瀛樻暟鎹� by ld fy
+ GDP_Number = 2;
+ //2021/12/28 涓棿琛ㄥ瘎瀛樻暟鎹� by ld fy
+ GI_Number = 3;
+ ET_Number = 4;
+ BF_Number = 5;
+ GS_Number = 6;
+ URO_Number = 7;
+ GYN_Number = 8;
+ ENT_Number = 9;
+ ENG_Number = 10;
+ }else{
+ GI_Number = 2;
+ ET_Number = 3;
+ BF_Number = 4;
+ GS_Number = 5;
+ URO_Number = 6;
+ GYN_Number = 7;
+ ENT_Number = 8;
+ ENG_Number = 9;
}
- Map<String, User> userMap = new Map<String, User>();
- for (User userl : userList) {
- userMap.put(userl.Alias, userl);
- }
- Integer GI_Number = 3;
- Integer ET_Number = 4;
- Integer BF_Number = 5;
- Integer GS_Number = 6;
- Integer URO_Number = 7;
- Integer GYN_Number = 8;
- Integer ENT_Number = 9;
- Integer ENG_Number = 10;
- upsertAMPList = new List<Opportunity>();//鍒濆鍖栵紝瑙e喅閲嶅瀵煎叆鏁版嵁 id閲嶅寰楅棶棰�
- deleteAMPList = new List<Opportunity>();
+ upsertPGSIList = new List<Provincial_Goal_Setting_Input__c>();//鍒濆鍖栵紝瑙e喅閲嶅瀵煎叆鏁版嵁 id閲嶅寰楅棶棰�
for (String key : szMap.keySet()) {
//鍙栫敤鎴风殑Id
- String userid = '';
+ // String userid = '';
+ OCM_Management_Province__c userid = new OCM_Management_Province__c();
String key_shengfen=key.split('_')[1];//鐪佷唤
- String key_dandang= '';
- if(key.split('_').size()>=3){
- key_dandang=key.split('_')[2];//鎶婃媴褰撳彇鍑烘潵
- }
-
- if (userMap.containskey(key_dandang)) {
- userid = userMap.get(key_dandang).Id;
+ //GI鍔╃悊
+ String GIassistant='';
+ //SP鍔╃悊
+ String SPassistant='';
+ // String key_dandang= '';
+ // if(key.split('_').size()>=3){
+ // key_dandang=key.split('_')[2];//鎶婃媴褰撳彇鍑烘潵
+ // }
+ if (OCM_MpMap.containskey(key_shengfen)) {
+ // userid = userMap.get(key_shengfen);
+ userid = OCM_MpMap.get(key_shengfen);
+ if(userid.GI_assistant__c!=null){
+ GIassistant=userid.GI_assistant__c;
+ }
+ if(userid.SP_assistant__c!=null){
+ SPassistant=userid.SP_assistant__c;
+ }
} else {
System.debug('==key==='+key);
//鐢ㄦ埛涓嶅瓨鍦ㄨ鎻愰啋
continue;
}
- system.debug('==userid=='+userid+'\n');
- List<String> csvRecordData = szMap.get(key);
- //鑾峰彇瀵煎叆鏁伴噺
- Decimal GI_Amount = String.isNotBlank(csvRecordData[GI_Number]) ? Decimal.valueof(csvRecordData[GI_Number]) : 0.00;
-
- DataSplicing(GI_Amount,key_shengfen + '_GI',oppsMap1,userid);
+ system.debug('==userid=='+userid+'\n');
+ List<String> csvRecordData = szMap.get(key);
+ //2021/12/28 涓棿琛ㄥ瘎瀛樻暟鎹� by ld fy
+ Provincial_Goal_Setting_Input__c upsertPGSI = new Provincial_Goal_Setting_Input__c();
+ //鑾峰彇瀵煎叆鏁伴噺
+ //fy 淇敼 20220412
+ if(JianDangfalg){
+ Decimal GDP_Amount = String.isNotBlank(csvRecordData[GDP_Number]) ? Decimal.valueOf(csvRecordData[GDP_Number]) : 0.00;
+ DataSplicing(GDP_Amount,key_shengfen + '_GDP',Provincial_Goal_Setting_InputMap1,GIassistant,csvRecordData);
+ }
+ //fy 淇敼 20220412
+ Decimal GI_Amount = String.isNotBlank(csvRecordData[GI_Number]) ? Decimal.valueof(csvRecordData[GI_Number]) : 0.00;
+
+ DataSplicing(GI_Amount,key_shengfen + '_GI',Provincial_Goal_Setting_InputMap1,GIassistant,csvRecordData);
- Decimal ET_Amount = String.isNotBlank(csvRecordData[ET_Number]) ? Decimal.valueOf(csvRecordData[ET_Number]) : 0.00;
- DataSplicing(ET_Amount,key_shengfen + '_ET',oppsMap1,userid);
+ Decimal ET_Amount = String.isNotBlank(csvRecordData[ET_Number]) ? Decimal.valueOf(csvRecordData[ET_Number]) : 0.00;
+ DataSplicing(ET_Amount,key_shengfen + '_ET',Provincial_Goal_Setting_InputMap1,GIassistant,csvRecordData);
- Decimal BF_Amount = String.isNotBlank(csvRecordData[BF_Number]) ? Decimal.valueOf(csvRecordData[BF_Number]) : 0.00;
- DataSplicing(BF_Amount,key_shengfen + '_BF',oppsMap1,userid);
+ Decimal BF_Amount = String.isNotBlank(csvRecordData[BF_Number]) ? Decimal.valueOf(csvRecordData[BF_Number]) : 0.00;
+ DataSplicing(BF_Amount,key_shengfen + '_BF',Provincial_Goal_Setting_InputMap1,GIassistant,csvRecordData);
- Decimal GS_Amount = String.isNotBlank(csvRecordData[GS_Number]) ? Decimal.valueOf(csvRecordData[GS_Number]) : 0.00;
- DataSplicing(GS_Amount,key_shengfen + '_GS',oppsMap1,userid);
+ Decimal GS_Amount = String.isNotBlank(csvRecordData[GS_Number]) ? Decimal.valueOf(csvRecordData[GS_Number]) : 0.00;
+ DataSplicing(GS_Amount,key_shengfen + '_GS',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData);
- Decimal URO_Amount = String.isNotBlank(csvRecordData[URO_Number]) ? Decimal.valueOf(csvRecordData[URO_Number]) : 0.00;
- DataSplicing(URO_Amount,key_shengfen + '_URO',oppsMap1,userid);
+ Decimal URO_Amount = String.isNotBlank(csvRecordData[URO_Number]) ? Decimal.valueOf(csvRecordData[URO_Number]) : 0.00;
+ DataSplicing(URO_Amount,key_shengfen + '_URO',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData);
- Decimal GYN_Amount = String.isNotBlank(csvRecordData[GYN_Number]) ? Decimal.valueOf(csvRecordData[GYN_Number]) : 0.00;
- DataSplicing(GYN_Amount,key_shengfen + '_GYN',oppsMap1,userid);
-
- Decimal ENT_Amount = String.isNotBlank(csvRecordData[ENT_Number]) ? Decimal.valueOf(csvRecordData[ENT_Number]) : 0.00;
- DataSplicing(ENT_Amount,key_shengfen + '_ENT',oppsMap1,userid);
- system.debug('ENG_Number--->'+csvRecordData[ENG_Number]);
- //鍥犱负鏈�鍚庝竴鍒楁暟鎹湁绌烘牸锛屾墍浠ュ姞.trim()
- Decimal ENG_Amount = String.isNotBlank(csvRecordData[ENG_Number]) ? Decimal.valueOf(csvRecordData[ENG_Number].trim()) : 0.00;
- // Decimal.valueOf(String str)
- DataSplicing(ENG_Amount,key_shengfen + '_ENG',oppsMap1,userid);
+ Decimal GYN_Amount = String.isNotBlank(csvRecordData[GYN_Number]) ? Decimal.valueOf(csvRecordData[GYN_Number]) : 0.00;
+ DataSplicing(GYN_Amount,key_shengfen + '_GYN',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData);
+ system.debug('ENG_Number--->'+csvRecordData[ENG_Number]);
+ Decimal ENT_Amount = String.isNotBlank(csvRecordData[ENT_Number]) ? Decimal.valueOf(csvRecordData[ENT_Number]) : 0.00;
+ DataSplicing(ENT_Amount,key_shengfen + '_ENT',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData);
+ system.debug('ENG_Number--->'+csvRecordData[ENG_Number]);
+ //鍥犱负鏈�鍚庝竴鍒楁暟鎹湁绌烘牸锛屾墍浠ュ姞.trim()
+ Decimal ENG_Amount = String.isNotBlank(csvRecordData[ENG_Number]) ? Decimal.valueOf(csvRecordData[ENG_Number].trim()) : 0.00;
+ // Decimal.valueOf(String str)
+ DataSplicing(ENG_Amount,key_shengfen + '_ENG',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData);
-
-
//鎷兼帴Key
-
- }
- if(null!=upsertAMPList && upsertAMPList.size()>0){
- system.debug('upsertAMPList=='+upsertAMPList.size()+'=upsertAMPList=='+upsertAMPList+'\n');
- upsert upsertAMPList;
}
- if(null!=deleteAMPList && deleteAMPList.size()>0){
- delete deleteAMPList;
+ if(null!=upsertPGSIList && upsertPGSIList.size()>0){
+ upsert upsertPGSIList;
}
-
+ // if(null!=upsertAMPList && upsertAMPList.size()>0){
+ // system.debug('upsertAMPList=='+upsertAMPList.size()+'=upsertAMPList=='+upsertAMPList+'\n');
+ // upsert upsertAMPList;
+ // }
+ // if(null!=deleteAMPList && deleteAMPList.size()>0){
+ // delete deleteAMPList;
+ // }
setBean(iYear);
-
successMsg = new ApexPages.Message(ApexPages.severity.INFO, '瀵煎叆鎴愬姛');
ApexPages.addMessage(successMsg);
-
- }
+ }
+ } catch (Exception e) {
+ ApexPages.Message errorMessage = new ApexPages.Message(ApexPages.severity.ERROR, e.getLineNumber() + ':'+ e.getMessage());
+ ApexPages.addMessage(errorMessage);
+ }
return null;
}
// 鏈�缁堝緱鏁版嵁澶勭悊锛�
- private void DataSplicing(Decimal amount, String key, Map<String, Opportunity> ampMap, String userid) {//鍘昏繘琛屾渶缁堟暟鎹緱鎻掑叆锛屾洿鏂版垨鍒犻櫎鎿嶄綔
-
- //system.debug('==amount=='+amount+'==key=='+key+'==ampMap=='+ampMap+'\n');
- for (Integer i = 0; i < 12; i++) {
- Integer y = iYear;
- Integer m = 4 + i;
- if (m > 12) {
- y += 1;
- m -= 12;
- }
- String syear = String.valueOf(y);
- String smonth = String.valueOf(m);
- if (m < 10) {
- smonth = '0' + smonth;
- }
- String sTargetDay = syear + '-' + smonth + '-01';
- Date targetDay = Date.valueOf(sTargetDay);
- String key_shengfen=key.split('_')[0];//鐪�
- String key_ksfl=key.split('_')[1];//绉戝鍒嗙被
- Opportunity upsertAMP = new Opportunity();
- if (ampMap.containskey(key+'_' + sTargetDay)) {
- upsertAMP = ampMap.get(key+'_' + sTargetDay);
-
+ private void DataSplicing(Decimal amount, String key, Map<String, Provincial_Goal_Setting_Input__c> ampMap, String userid,List<String> csvRecordData) {//鍘昏繘琛屾渶缁堟暟鎹緱鎻掑叆锛屾洿鏂版垨鍒犻櫎鎿嶄綔
+ Provincial_Goal_Setting_Input__c upsertPGSI = new Provincial_Goal_Setting_Input__c();
+ //system.debug('==amount=='+amount+'==key=='+key+'==ampMap=='+ampMap+'\n');
+ if (ampMap.containskey(key)) {
+ upsertPGSI = ampMap.get(key);
if (amount > 0) {
- if(amount!=upsertAMP.Amount || upsertAMP.Owner_System__c !=userid){
- system.debug('鏈夋暟鎹�==='+'==key=='+key+'_' + sTargetDay+'==upsertAMP=='+upsertAMP+'==amount=='+amount+'\n');
- upsertAMP.Name = upsertAMP.SAP_Province__c+ ' 鐪佺洰鏍�';
- upsertAMP.StageName = '鐩';
- upsertAMP.OwnerId = userid;
- upsertAMP.Owner_System__c = userid;
- upsertAMP.Opportunity_Category__c = key_ksfl;
- upsertAMP.Proportion__c = proportion.get(key_ksfl)[i];
- upsertAMP.CloseDate = targetDay;
- upsertAMP.Amount = amount;
- upsertAMP.Target_category__c = target_category;
- upsertAMP.SAP_Province__c = upsertAMP.SAP_Province__c;
- upsertAMP.RecordTypeId = rt.Id;
- upsertAMP.Target_Source__c = 'SetProvinceTarget';
- //20210225 ljh WLIG-BV8CHF update 璐㈠勾 start
- //upsertAMP.OCM_Target_period__c = currentPeriod;
- upsertAMP.OCM_Target_period__c = currentPeriodOld;
- //20210225 ljh WLIG-BV8CHF update 璐㈠勾 start
- upsertAMPList.add(upsertAMP);
- //鏇存柊
+ if(amount != upsertPGSI.Amount__c){
+ upsertPGSI.Amount__c = amount;
+ upsertPGSI.Owner_System__c = userId;
+ upsertPGSI.Is_Processing__c = true;
+ upsertPGSIList.add(upsertPGSI);
}
-
} else {
- //鍒犻櫎
- system.debug('闇�瑕佸垹闄ゅ緱鏁版嵁'+'==key=='+key+'_' + sTargetDay+'==amount=='+amount+'\n');
- deleteAMPList.add(upsertAMP);
+ //涓嶇敤鍒犻櫎浜嗭紝鍏佽 鏁版嵁鏄┖鐨勫瓨鍦�
+ upsertPGSI.Amount__c = null;
+ upsertPGSI.Is_Processing__c = true;
+ upsertPGSI.Owner_System__c = userId;
+ upsertPGSIList.add(upsertPGSI);
}
} else {
- system.debug('鏃犳暟鎹�'+'==key=='+key+'_' + sTargetDay+'==amount=='+amount+'\n');
if (amount > 0) {
- upsertAMP.Name = key_shengfen + ' 鐪佺洰鏍�';
- upsertAMP.StageName = '鐩';
- upsertAMP.OwnerId = userid;
- upsertAMP.Owner_System__c = userid;
- upsertAMP.Opportunity_Category__c = key_ksfl;
- upsertAMP.Proportion__c = proportion.get(key_ksfl)[i];
- upsertAMP.CloseDate = targetDay;
- upsertAMP.Amount = amount;
- upsertAMP.Target_category__c = target_category;
- upsertAMP.SAP_Province__c = key_shengfen;
- upsertAMP.RecordTypeId = rt.Id;
- upsertAMP.Target_Source__c = 'SetProvinceTarget';
- //20210225 ljh WLIG-BV8CHF update 璐㈠勾 start
- //upsertAMP.OCM_Target_period__c = currentPeriod;
- upsertAMP.OCM_Target_period__c = currentPeriodOld;
- //20210225 ljh WLIG-BV8CHF update 璐㈠勾 start
- upsertAMPList.add(upsertAMP);
- system.debug('=upsertAMPList=='+upsertAMPList+'\n');
+ upsertPGSI.Amount__c = amount;
+ upsertPGSI.key__c = key;
+ upsertPGSI.Owner_System__c = userId;
+ upsertPGSI.SAP_Province__c = csvRecordData[1];
+ upsertPGSI.Department__c = csvRecordData[0];
+ upsertPGSI.iYear__c = iYear;
+ upsertPGSI.Is_Processing__c = true;
+ upsertPGSI.Target_Source__c = 'SetProvinceTarget';
+ upsertPGSIList.add(upsertPGSI);
} else {
- system.debug('鏃犳晥寰楁暟鎹�');
- // deleteAMPList.add(upsertAMP);
+ //鍏佽 鏁版嵁鏄┖鐨勫瓨鍦�
+ upsertPGSI.Amount__c = null;
+ upsertPGSI.key__c = key;
+ upsertPGSI.Owner_System__c = userId;
+ upsertPGSI.SAP_Province__c = csvRecordData[1];
+ upsertPGSI.Department__c = csvRecordData[0];
+ upsertPGSI.iYear__c = iYear;
+ upsertPGSI.Is_Processing__c = true;
+ upsertPGSI.Target_Source__c = 'SetProvinceTarget';
+ upsertPGSIList.add(upsertPGSI);
}
}
-
- }
-
}
private List<User> getUserList(List<String> UserInfoList) {//鏍规嵁涓婁紶鏂囦欢涓緱鏈儴锛岀渷浠斤紝鎷呭綋锛岃亴浣� 寰楀埌浜唘ser 淇℃伅
String soql = 'select Id,Alias from User where IsActive = true'
@@ -518,7 +579,7 @@
System.debug('==soql==' + soql);
return Database.query(soql);
}
- private void getOppprtunity_List(Set<String> sfs) {// 鍙栧緱褰撳墠骞村害鐩爣鏁版嵁
+ /*private void getOppprtunity_List(Set<String> sfs) {// 鍙栧緱褰撳墠骞村害鐩爣鏁版嵁
oppsMap1 = new Map<String, Opportunity>();
Opportunity[] opportunitys = [select
Id, OwnerId, Opportunity_Category__c, Proportion__c, CloseDate,
@@ -540,7 +601,7 @@
oppsMap1.put(key, opp);
}
}
- }
+ }*/
//CHAN-BDQBLX 20210129 you end
// 鐐瑰嚮淇濆瓨鎸夐挳
public Pagereference saveBtn() {
@@ -562,6 +623,9 @@
// 鏁版嵁璧嬪��
private void setBean(Integer year) {
+ if(JianDangfalg){
+ amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'};
+ }
// 鍙栧緱褰撳墠骞村害鐩爣鏁版嵁
Opportunity[] opportunitys = [select
Id, OwnerId, Opportunity_Category__c, Proportion__c, CloseDate,
@@ -607,12 +671,24 @@
oppsMap.put(key, opp);
}
}
+ getProvincial_Goal_Setting_InputMap();
dataBeans = new List<DataBean>();
List<String> provinces = salesDptMap.get(salesDpt);
for (String pro : provinces) {
DataBean dataBean = new DataBean(provinceMap.get(pro), pro, oppsMap, iYear);
+ // 2020/12/28 涓庢棦鏈変腑闂磋〃鏁版嵁杩涜瀵规瘮 fy by ld start
+ for (Integer j = 0; j < amountCategory.size(); j++) {
+ String key = dataBean.Opportunity.SAP_Province__c + '_' + amountCategory[j];
+ if (Provincial_Goal_Setting_InputMap.containsKey(key)){
+ Provincial_Goal_Setting_Input__c Provincial_Goal_Setting_Input = Provincial_Goal_Setting_InputMap.get(key);
+ dataBean.opportunity.Owner_System__c = Provincial_Goal_Setting_Input.Owner_System__c;
+ dataBean.amount[j].Amount = Provincial_Goal_Setting_Input.Amount__c;
+ }
+ }
+ // 2020/12/28 涓庢棦鏈変腑闂磋〃鏁版嵁杩涜瀵规瘮 fy by ld end
dataBeans.add(dataBean);
}
+ system.debug('dataBeans+++='+dataBeans);
}
//鑾峰彇鏈儴-鐪佸搴斿叧绯�
@@ -654,6 +730,7 @@
provinceList.add('浜戝崡鐪�');
provinceList.add('璐靛窞鐪�');
provinceList.add('瑗胯棌鑷不鍖�');
+ AllOwnerSystem = provinceList;
salesDptMap.put('0.鏃�',provinceList);
provinceList = new List<String>();
@@ -783,7 +860,7 @@
}
// 瀹熼殯銇繚瀛樸儹銈搞儍銈�
- private void saveLogic() {
+/*private void saveLogic() {
List<Opportunity> saveList = new List<Opportunity>();
List<Opportunity> deleteList = new List<Opportunity>();
@@ -828,13 +905,13 @@
continue;
}
User u = new User();
-/*************************Update 20160413 Start*************************/
- if (db.opportunity.Owner_System__c == null) {
+ //Update 20160413 Start/
+ if (db.opportunity.Owner_System__c == null) {
if (isDelete(db) == false) {
continue;
}
}
-/*************************Update 20160413 End***************************/
+ //Update 20160413 End/
// 涓�骞村垎鎴�12鏉℃暟鎹�
for (Integer i = 0; i < 12; i++) {
Integer y = iYear;
@@ -864,10 +941,10 @@
deleteList.add(opp);
continue;
}
-/*************************Update 20160531 Start*************************/
- opp.OwnerId = db.opportunity.Owner_System__c;
+ //Update 20160531 Start/
+ opp.OwnerId = db.opportunity.Owner_System__c;
opp.Owner_System__c = db.opportunity.Owner_System__c;
-/*************************Update 20160531 End***************************/
+ //Update 20160531 End/
opp.Proportion__c = proportion.get(amountC)[i];
opp.Amount = db.amount[j].Amount;
} else {
@@ -876,11 +953,11 @@
}
opp.Name = db.opportunity.SAP_Province__c + ' 鐪佺洰鏍�';
opp.StageName = '鐩';
-/*************************Update 20160531 Start*************************/
+ //Update 20160531 Start/
opp.OwnerId = db.opportunity.Owner_System__c;
//銉堛儶銈倰銈广儷銉笺伄銇熴倎銆併亾銇撱仹銈勩倞銇俱仚
opp.Owner_System__c = db.opportunity.Owner_System__c;
-/*************************Update 20160531 End***************************/
+ //Update 20160531 End/
opp.Opportunity_Category__c = amountC;
opp.Proportion__c = proportion.get(amountC)[i];
opp.CloseDate = targetDay;
@@ -912,8 +989,168 @@
// 鏇存柊鏁版嵁搴�
if (saveList.size() > 0) upsert saveList;
if (deleteList.size() > 0) delete deleteList;
+ }*/
+
+ //鍙嶆槧鍒扮洰鏍� fy 2021/12/28 SWAG-C9YDDE
+ //鏌ヨOCSM绠$悊鐪� fy
+ private void getOCMManagementProvince(){
+ OCM_MpMap = new Map<String, OCM_Management_Province__c>();
+ List<OCM_Management_Province__c> OCM_MpList = [select Id,Province__c,GI_assistant__c,SP_assistant__c,Name from OCM_Management_Province__c where Province__c in :AllOwnerSystem ];
+ for ( OCM_Management_Province__c OCM_Mp : OCM_MpList ) {
+ //杩囨护鎺変笉绗﹀悎鏉′欢鐨勬暟鎹� fy
+ if(OCM_Mp.Name!='闆嗛噰璇�'&&OCM_Mp.Name!='闈掑矝'){
+ OCM_MpMap.put(OCM_Mp.Province__c, OCM_Mp);
+ }
+ }
}
+ public Pagereference UpdateBtn() {
+ system.debug('=====UpdateBtn-1');
+ boolean rs = saveLogic();
+ setBean(iYear);
+ system.debug('rs+++'+rs);
+ Database.executeBatch(new SetProvinceTargetBatch(), 10);
+ if (rs) {
+ ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.INFO, '鍙嶆槧鍒扮洰鏍囨垚鍔�'));
+ }
+ return null;
+ }
+ private void getProvincial_Goal_Setting_Input(Set<String> sfs) {//鏍规嵁鐪佷唤骞翠唤锛岃幏鍙栧綋鍓嶇郴缁熶腑宸茬粡瀛樺湪寰楁暟鎹�
+ Provincial_Goal_Setting_InputMap1 = new Map<String, Provincial_Goal_Setting_Input__c>();
+
+ list<Provincial_Goal_Setting_Input__c> Existed_Provincial_Goal_Setting_Input = [select id,Is_Processing__c, key__c,Target_Source__c,Amount__c,Department__c,SAP_Province__c,Owner_System__c,iYear__c
+ FROM Provincial_Goal_Setting_Input__c where iYear__c = : iYear and SAP_Province__c in :sfs];
+ for ( Provincial_Goal_Setting_Input__c Provincial_Goal_Setting_Input : Existed_Provincial_Goal_Setting_Input ) {
+ if (String.isBlank(Provincial_Goal_Setting_Input.key__c)) {
+ continue;
+ }
+
+ Provincial_Goal_Setting_InputMap1.put(Provincial_Goal_Setting_Input.key__c, Provincial_Goal_Setting_Input);
+
+ }
+ }
+ // 2021/12/28 浠庝腑闂磋〃鑾峰彇鏃㈡湁鏁版嵁 fy
+ private boolean getProvincial_Goal_Setting_InputMap() {
+ Provincial_Goal_Setting_InputMap = new Map<String,Provincial_Goal_Setting_Input__c>();
+
+ Existed_Provincial_Goal_Setting_Input = [select id,Is_Processing__c, key__c,Target_Source__c,Amount__c,Department__c,SAP_Province__c,Owner_System__c,iYear__c
+ FROM Provincial_Goal_Setting_Input__c where iYear__c = : iYear ];
+
+ if (Existed_Provincial_Goal_Setting_Input.size() <= 0) {
+ return false;
+ }
+
+ // 灏嗘墍鏁版嵁瀛樺叆map涓�
+ for ( Provincial_Goal_Setting_Input__c Provincial_Goal_Setting_Input : Existed_Provincial_Goal_Setting_Input ){
+ if (String.isBlank(Provincial_Goal_Setting_Input.key__c)) {
+ continue;
+ }
+ Provincial_Goal_Setting_InputMap.put(Provincial_Goal_Setting_Input.key__c,Provincial_Goal_Setting_Input);
+ }
+
+ return true;
+ }
+ //淇濆瓨閫昏緫 fy 2021/12/28 SWAG-C9YDDE
+ private Boolean saveLogic() {
+ List<Opportunity> saveList = new List<Opportunity>();
+ List<Opportunity> deleteList = new List<Opportunity>();
+ //fy 淇敼 20220412
+ if(JianDangfalg){
+ amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'};
+ }
+ //fy 淇敼 20220412
+ Savepoint sp = Database.setSavepoint();
+ try {
+ List<Provincial_Goal_Setting_Input__c> InsertProvincial_Goal_Setting_Input = new list<Provincial_Goal_Setting_Input__c>();
+ List<Provincial_Goal_Setting_Input__c> UpdateProvincial_Goal_Setting_Input = new list<Provincial_Goal_Setting_Input__c>();
+ // 鍙鐞嗗綋鍓嶆湰閮ㄦ暟鎹�
+ //鏌ヨOCSM绠$悊鐪� fy
+ getOCMManagementProvince();
+ system.debug('OCM_MpList+++'+OCM_MpMap);
+ for (Integer d = 0; d < dataBeans.size(); d++){
+ DataBean db = dataBeans[d];
+ system.debug('db+++++++ ' + db);
+ system.debug('amountCategory+++++++ ' + amountCategory);
+ system.debug('Provincial_Goal_Setting_InputMap+++++++ ' + Provincial_Goal_Setting_InputMap);
+ // if(String.isBlank(db.Opportunity.Owner_System__c))continue;
+ for (Integer j = 0; j < amountCategory.size(); j++) {
+ // 鏁版嵁妫�绱ey
+ String key = db.Opportunity.SAP_Province__c + '_' + amountCategory[j];
+ system.debug('++++++++1+++++++ '+Provincial_Goal_Setting_InputMap.containsKey(key));
+ if(Provincial_Goal_Setting_InputMap.containsKey(key)) {
+ system.debug('++++++++2+++++++ ');
+ //涓存椂琛ㄥ凡缁忔湁浜�
+ Provincial_Goal_Setting_Input__c Provincial_Goal_Setting_Input = Provincial_Goal_Setting_InputMap.get(key);
+ if(Provincial_Goal_Setting_Input.Amount__c == db.amount[j].Amount) {
+ continue;
+ }else {
+ system.debug('++++++++5+++++++ '+OCM_MpMap.get('灞变笢鐪�'));
+ // system.debug('++++++++x+++++++ '+db.Opportunity.SAP_Province__c);
+ Provincial_Goal_Setting_Input.Amount__c = db.amount[j].Amount;
+ Provincial_Goal_Setting_Input.Department__c = db.department;
+ Provincial_Goal_Setting_Input.SAP_Province__c = db.Opportunity.SAP_Province__c;
+ String OWS='';
+ if(OCM_MpMap.containsKey(db.Opportunity.SAP_Province__c)){
+ if(CIfromass.contains(amountCategory[j])){
+ OWS=OCM_MpMap.get(db.Opportunity.SAP_Province__c).GI_assistant__c;
+ }else if(SPfromass.contains(amountCategory[j])){
+ OWS=OCM_MpMap.get(db.Opportunity.SAP_Province__c).SP_assistant__c;
+ }
+ }else{
+ continue;
+ }
+ Provincial_Goal_Setting_Input.Owner_System__c = OWS;
+ Provincial_Goal_Setting_Input.iYear__c = iYear;
+ Provincial_Goal_Setting_Input.Is_Processing__c = true;
+ Provincial_Goal_Setting_Input.Target_Source__c = 'SetProvinceTarget';
+ UpdateProvincial_Goal_Setting_Input.add(Provincial_Goal_Setting_Input);
+ }
+ }else {
+ system.debug('++++++++3+++++++ '+db.amount[j]);
+ system.debug('++++++++4+++++++ '+db.amount[j].Amount);
+ if (db.amount[j].Amount == null || db.amount[j].Amount == 0) {
+ continue;
+ }
+ Provincial_Goal_Setting_Input__c Provincial_Goal_Setting_Input = new Provincial_Goal_Setting_Input__c();
+ Provincial_Goal_Setting_Input.key__c = key;
+ Provincial_Goal_Setting_Input.Amount__c = db.amount[j].Amount;
+ Provincial_Goal_Setting_Input.Department__c = db.department;
+ Provincial_Goal_Setting_Input.SAP_Province__c = db.Opportunity.SAP_Province__c;
+ String OWS='';
+ if(OCM_MpMap.containsKey(db.Opportunity.SAP_Province__c)){
+ if(CIfromass.contains(amountCategory[j])){
+ OWS=OCM_MpMap.get(db.Opportunity.SAP_Province__c).GI_assistant__c;
+ }else if(SPfromass.contains(amountCategory[j])){
+ OWS=OCM_MpMap.get(db.Opportunity.SAP_Province__c).SP_assistant__c;
+ }
+ }else{
+ continue;
+ }
+ system.debug('++++++++9+++++++ '+OCM_MpMap.get(db.Opportunity.SAP_Province__c));
+ Provincial_Goal_Setting_Input.Owner_System__c = OWS;
+ Provincial_Goal_Setting_Input.iYear__c = iYear;
+ Provincial_Goal_Setting_Input.Is_Processing__c = true;
+ Provincial_Goal_Setting_Input.Target_Source__c = 'SetProvinceTarget';
+ InsertProvincial_Goal_Setting_Input.add(Provincial_Goal_Setting_Input);
+ system.debug('db.amount[j].Amount__c+++++++ ' + db.amount[j].Amount__c);
+ }
+ }
+ }
+ system.debug('InsertProvincial_Goal_Setting_Input+++++++ ' + InsertProvincial_Goal_Setting_Input);
+ if(InsertProvincial_Goal_Setting_Input.size() > 0) {
+ insert InsertProvincial_Goal_Setting_Input;
+ }
+ if(UpdateProvincial_Goal_Setting_Input.size() > 0) {
+ update UpdateProvincial_Goal_Setting_Input;
+ }
+ return true;
+ } catch (Exception e) {
+ system.debug('=====saveLogic-e' + e.getMessage());
+ Database.rollback(sp);
+ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, e.getLineNumber() + ':' + e.getMessage()));
+ return false;
+ }
+ }
// 鏁版嵁绫�
class DataBean {
// 鎷呭綋鑰呬俊鎭�
@@ -929,12 +1166,30 @@
//CHAN-BDQBLX 20210129 you end
// 鏋勯�犳柟娉�
DataBean(String salesDpt, String province, Map<String, Opportunity> oppMap, Integer iYear) {
+ boolean JianDangfalg = false;
this.opportunity = new Opportunity();
this.amount = new List<Opportunity>();
this.opportunity.SAP_Province__c = province;
this.department = salesDpt;
this.isChanged = '0';
-
+ //fy 20220418
+ String userProfileId = UserInfo.getProfileId();
+ if(!String.isBlank(userProfileId)){
+ userProfileId=userProfileId.substring(0,15);
+ }
+ System.debug('褰撳墠鐢ㄦ埛绠�妗f埅鍙�: '+userProfileId);
+ List<String> user6IdList = System.Label.s6_ID.split(',');
+ for(String user6id : user6IdList){
+ if(user6id==userProfileId){
+ // if(user6id=='00e10000000xnpR'){
+ JianDangfalg=true;
+ break;
+ }
+ }
+ if(JianDangfalg){
+ amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'};
+ }
+ //fy 20220418
// 鎸夐噾棰濆垎绫伙紝鏌ユ壘鏁版嵁锛屽苟璁惧��
for (Integer i = 0; i < amountCategory.size(); i++) {
String amountC = amountCategory[i];
--
Gitblit v1.9.1