| | |
| | | salesDpt.add(new SelectOption('1.华北','1.华北')); |
| | | salesDpt.add(new SelectOption('2.东北','2.东北')); |
| | | salesDpt.add(new SelectOption('3.西北','3.西北')); |
| | | salesDpt.add(new SelectOption('4.华东','4.华东')); |
| | | salesDpt.add(new SelectOption('5.华南','5.华南')); |
| | | salesDpt.add(new SelectOption('6.西南','6.西南')); |
| | | // DB202305259561 fy 20230517 start |
| | | // salesDpt.add(new SelectOption('4.华东','4.华东')); |
| | | // salesDpt.add(new SelectOption('5.华南','5.华南')); |
| | | // salesDpt.add(new SelectOption('6.西南','6.西南')); |
| | | salesDpt.add(new SelectOption('4.西南','4.西南')); |
| | | salesDpt.add(new SelectOption('5.华东','5.华东')); |
| | | salesDpt.add(new SelectOption('6.华南','6.华南')); |
| | | // DB202305259561 fy 20230517 end |
| | | return salesDpt; |
| | | } |
| | | |
| | |
| | | |
| | | // 既存目标数据 |
| | | 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'}; |
| | | //DB202305277681 fy 20230517 start |
| | | // private static String[] SPfromass = new String[] {'GS','URO','GYN','ENT','ENG'}; |
| | | private static String[] SPfromass = new String[] {'GS','URO','GYN','ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | // 金额分类 |
| | | //private static String[] amountCategory = new String[] {'GI','ET','BF','GS','URO','GYN','ENT','OTH'}; |
| | | //省目标(SetProvinceTarget):隐藏OTH。追加ENG。 |
| | | private static String[] amountCategory = new String[] {'GI','ET','BF','GS','URO','GYN','ENT','ENG'}; |
| | | //DB202305277681 fy 20230517 start |
| | | // private static String[] amountCategory = new String[] {'GI','ET','BF','GS','URO','GYN','ENT','ENG'}; |
| | | private static String[] amountCategory = new String[] {'GI','ET','BF','GS','URO','GYN','ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | //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 |
| | | //DB202305277681 fy 20230517 start |
| | | // private static String[] titlepage = new String[] {'销售本部', '省','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'}; |
| | | private static String[] titlepage = new String[] {'销售本部', '省','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 start |
| | | //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 ; |
| | |
| | | //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('当前用户简档截取: '+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){ |
| | | //DB202305277681 fy 20230517 start |
| | | // amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'}; |
| | | // titlepage = new String[] {'销售本部', '省','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'}; |
| | | amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG1','ENG2'}; |
| | | titlepage = new String[] {'销售本部', '省','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | 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(); |
| | |
| | | doubleOTH.add(Double.valueOf(strOTH)); |
| | | } |
| | | proportion.put('OTH', doubleOTH); |
| | | |
| | | String strObjectiveProportionENG = System.Label.ObjectiveProportionENG; |
| | | List<String> objectiveProportionENG = strObjectiveProportionENG.split(','); |
| | | List<Double> doubleENG = new List<Double>(); |
| | | for (String strENG : objectiveProportionENG) { |
| | | doubleENG.add(Double.valueOf(strENG)); |
| | | //DB202305277681 fy 20230517 start |
| | | // String strObjectiveProportionENG = System.Label.ObjectiveProportionENG; |
| | | // List<String> objectiveProportionENG = strObjectiveProportionENG.split(','); |
| | | // List<Double> doubleENG = new List<Double>(); |
| | | // for (String strENG : objectiveProportionENG) { |
| | | // doubleENG.add(Double.valueOf(strENG)); |
| | | // } |
| | | // proportion.put('ENG', doubleENG); |
| | | // proportion.put('_ENG', doubleENG); |
| | | String strObjectiveProportionENG1 = System.Label.ObjectiveProportionENG; |
| | | List<String> objectiveProportionENG1 = strObjectiveProportionENG1.split(','); |
| | | List<Double> doubleENG1 = new List<Double>(); |
| | | for (String strENG1 : objectiveProportionENG1) { |
| | | doubleENG1.add(Double.valueOf(strENG1)); |
| | | } |
| | | proportion.put('ENG', doubleENG); |
| | | proportion.put('_ENG', doubleENG); |
| | | proportion.put('ENG1', doubleENG1); |
| | | proportion.put('_ENG1', doubleENG1); |
| | | |
| | | String strObjectiveProportionENG2 = System.Label.ObjectiveProportionENG; |
| | | List<String> objectiveProportionENG2 = strObjectiveProportionENG2.split(','); |
| | | List<Double> doubleENG2 = new List<Double>(); |
| | | for (String strENG2 : objectiveProportionENG2) { |
| | | doubleENG2.add(Double.valueOf(strENG2)); |
| | | } |
| | | proportion.put('ENG2', doubleENG2); |
| | | proportion.put('_ENG2', doubleENG2); |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | // 当前用户信息 |
| | | if (loginUser == null) { |
| | |
| | | } |
| | | // 数据赋值 |
| | | setBean(iYear); |
| | | |
| | | system.debug('dataBeans+++'+dataBeans[0]); |
| | | return null; |
| | | } |
| | | //SWAG-BB48QB 判断当前时间是否是4月15日之后 start |
| | |
| | | } |
| | | //导入方法 |
| | | public PageReference importCSVFile() { |
| | | String csvData = ApexPages.currentPage().getParameters().get('csvData'); |
| | | try{ |
| | | if(JianDangfalg){ |
| | | //DB202305277681 fy 20230517 start |
| | | // titlepage = new String[] {'销售本部', '省','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG'}; |
| | | titlepage = new String[] {'销售本部', '省','GDP','GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | String csvData = ApexPages.currentPage().getParameters().get('csvData'); |
| | | // 将内容转换成为中文 |
| | | if(!Test.isRunningTest()){ |
| | | //csvAsString = bitToString(csvFileBody, 'gb2312'); |
| | |
| | | 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);//根据 担当查user |
| | | |
| | | } |
| | | szMap.put(bu+'_'+ sf + '_'+ dandang, csvRecordData); |
| | | sfs.add(sf);//把省份放进去 |
| | | |
| | | // String dandang = csvRecordData[2].replace(' ', '');//担当 |
| | | // if(String.isNotBlank(dandang)){ |
| | | // UserInfoList.add(dandang);//根据 担当查user |
| | | // } |
| | | // 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; |
| | | //DB202305277681 fy 20230517 start |
| | | // Integer ENG_Number = 0; |
| | | Integer ENG1_Number = 0; |
| | | Integer ENG2_Number = 0; |
| | | //DB202305277681 fy 20230517 end |
| | | 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; |
| | | //DB202305277681 fy 20230517 start |
| | | // ENG_Number = 10; |
| | | ENG1_Number = 10; |
| | | ENG2_Number = 11; |
| | | //DB202305277681 fy 20230517 end |
| | | }else{ |
| | | GI_Number = 2; |
| | | ET_Number = 3; |
| | | BF_Number = 4; |
| | | GS_Number = 5; |
| | | URO_Number = 6; |
| | | GYN_Number = 7; |
| | | ENT_Number = 8; |
| | | //DB202305277681 fy 20230517 start |
| | | // ENG_Number = 9; |
| | | ENG1_Number = 9; |
| | | ENG2_Number = 10; |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | 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>();//初始化,解决重复导入数据 id重复得问题 |
| | | deleteAMPList = new List<Opportunity>(); |
| | | upsertPGSIList = new List<Provincial_Goal_Setting_Input__c>();//初始化,解决重复导入数据 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); |
| | | |
| | | 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); |
| | | |
| | | //因为最后一列数据有空格,所以加.trim() |
| | | |
| | | |
| | | //DB202305277681 fy 20230517 start |
| | | // 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); |
| | | system.debug('ENG1_Number--->'+csvRecordData[ENG1_Number]); |
| | | Decimal ENG1_Amount = String.isNotBlank(csvRecordData[ENG1_Number]) ? Decimal.valueOf(csvRecordData[ENG1_Number]) : 0.00; |
| | | DataSplicing(ENG1_Amount,key_shengfen + '_ENG1',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData); |
| | | |
| | | system.debug('ENG2_Number--->'+csvRecordData[ENG2_Number]); |
| | | |
| | | Decimal ENG2_Amount = String.isNotBlank(csvRecordData[ENG2_Number]) ? Decimal.valueOf(csvRecordData[ENG2_Number].trim()) : 0.00; |
| | | DataSplicing(ENG2_Amount,key_shengfen + '_ENG2',Provincial_Goal_Setting_InputMap1,SPassistant,csvRecordData); |
| | | |
| | | //DB202305277681 fy 20230517 end |
| | | //拼接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) {//根据上传文件中得本部,省份,担当,职位 得到了user 信息 |
| | | String soql = 'select Id,Alias from User where IsActive = true' |
| | |
| | | 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, |
| | |
| | | oppsMap1.put(key, opp); |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | //CHAN-BDQBLX 20210129 you end |
| | | // 点击保存按钮 |
| | | public Pagereference saveBtn() { |
| | |
| | | |
| | | // 数据赋值 |
| | | private void setBean(Integer year) { |
| | | if(JianDangfalg){ |
| | | //DB202305277681 fy 20230517 start |
| | | amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | // 取得当前年度目标数据 |
| | | Opportunity[] opportunitys = [select |
| | | Id, OwnerId, Opportunity_Category__c, Proportion__c, CloseDate, |
| | |
| | | //20210225 ljh WLIG-BV8CHF update 财年 end |
| | | isPast = false; |
| | | if (iYear < currentYear) { |
| | | isPast = true; |
| | | isPast = true; |
| | | } else if (iYear == currentYear) { |
| | | if (Date.today().month() == 3) { |
| | | isPast = true; |
| | |
| | | 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); |
| | | } |
| | | |
| | | //获取本部-省对应关系 |
| | |
| | | provinceList.add('宁夏自治区'); |
| | | provinceList.add('甘肃省'); |
| | | provinceList.add('新疆自治区'); |
| | | provinceList.add('四川省'); |
| | | provinceList.add('重庆市'); |
| | | provinceList.add('云南省'); |
| | | provinceList.add('贵州省'); |
| | | provinceList.add('西藏自治区'); |
| | | provinceList.add('上海市'); |
| | | provinceList.add('江苏省'); |
| | | provinceList.add('浙江省'); |
| | |
| | | provinceList.add('湖北省'); |
| | | provinceList.add('湖南省'); |
| | | provinceList.add('深圳市'); |
| | | provinceList.add('四川省'); |
| | | provinceList.add('重庆市'); |
| | | provinceList.add('云南省'); |
| | | provinceList.add('贵州省'); |
| | | provinceList.add('西藏自治区'); |
| | | |
| | | AllOwnerSystem = provinceList; |
| | | salesDptMap.put('0.无',provinceList); |
| | | |
| | | provinceList = new List<String>(); |
| | |
| | | provinceList.add('甘肃省'); |
| | | provinceList.add('新疆自治区'); |
| | | salesDptMap.put('3.西北',provinceList); |
| | | |
| | | |
| | | provinceList = new List<String>(); |
| | | provinceList.add('四川省'); |
| | | provinceList.add('重庆市'); |
| | | provinceList.add('云南省'); |
| | | provinceList.add('贵州省'); |
| | | provinceList.add('西藏自治区'); |
| | | // DB202305259561 fy 20230517 start |
| | | // salesDptMap.put('6.西南',provinceList); |
| | | salesDptMap.put('4.西南',provinceList); |
| | | // DB202305259561 fy 20230517 end |
| | | |
| | | provinceList = new List<String>(); |
| | | provinceList.add('上海市'); |
| | |
| | | provinceList.add('福建省'); |
| | | provinceList.add('安徽省'); |
| | | provinceList.add('江西省'); |
| | | salesDptMap.put('4.华东',provinceList); |
| | | // DB202305259561 fy 20230517 start |
| | | // salesDptMap.put('4.华东',provinceList); |
| | | salesDptMap.put('5.华东',provinceList); |
| | | // DB202305259561 fy 20230517 end |
| | | |
| | | provinceList = new List<String>(); |
| | | provinceList.add('广东省'); |
| | |
| | | provinceList.add('湖北省'); |
| | | provinceList.add('湖南省'); |
| | | provinceList.add('深圳市'); |
| | | salesDptMap.put('5.华南',provinceList); |
| | | // DB202305259561 fy 20230517 start |
| | | // salesDptMap.put('5.华南',provinceList); |
| | | salesDptMap.put('6.华南',provinceList); |
| | | // DB202305259561 fy 20230517 end |
| | | |
| | | provinceList = new List<String>(); |
| | | provinceList.add('四川省'); |
| | | provinceList.add('重庆市'); |
| | | provinceList.add('云南省'); |
| | | provinceList.add('贵州省'); |
| | | provinceList.add('西藏自治区'); |
| | | salesDptMap.put('6.西南',provinceList); |
| | | |
| | | provinceMap = new Map<string,string>(); |
| | | |
| | |
| | | provinceMap.put('宁夏自治区','3.西北'); |
| | | provinceMap.put('甘肃省','3.西北'); |
| | | provinceMap.put('新疆自治区','3.西北'); |
| | | |
| | | // DB202305259561 fy 20230517 start |
| | | // provinceMap.put('上海市','4.华东'); |
| | | // provinceMap.put('江苏省','4.华东'); |
| | | // provinceMap.put('浙江省','4.华东'); |
| | | // provinceMap.put('福建省','4.华东'); |
| | | // provinceMap.put('安徽省','4.华东'); |
| | | // provinceMap.put('江西省','4.华东'); |
| | | |
| | | provinceMap.put('上海市','4.华东'); |
| | | provinceMap.put('江苏省','4.华东'); |
| | | provinceMap.put('浙江省','4.华东'); |
| | | provinceMap.put('福建省','4.华东'); |
| | | provinceMap.put('安徽省','4.华东'); |
| | | provinceMap.put('江西省','4.华东'); |
| | | // provinceMap.put('广东省','5.华南'); |
| | | // provinceMap.put('广西自治区','5.华南'); |
| | | // provinceMap.put('海南省','5.华南'); |
| | | // provinceMap.put('湖北省','5.华南'); |
| | | // provinceMap.put('湖南省','5.华南'); |
| | | // provinceMap.put('深圳市','5.华南'); |
| | | |
| | | provinceMap.put('广东省','5.华南'); |
| | | provinceMap.put('广西自治区','5.华南'); |
| | | provinceMap.put('海南省','5.华南'); |
| | | provinceMap.put('湖北省','5.华南'); |
| | | provinceMap.put('湖南省','5.华南'); |
| | | provinceMap.put('深圳市','5.华南'); |
| | | // provinceMap.put('四川省','6.西南'); |
| | | // provinceMap.put('重庆市','6.西南'); |
| | | // provinceMap.put('云南省','6.西南'); |
| | | // provinceMap.put('贵州省','6.西南'); |
| | | // provinceMap.put('西藏自治区','6.西南'); |
| | | |
| | | provinceMap.put('四川省','4.西南'); |
| | | provinceMap.put('重庆市','4.西南'); |
| | | provinceMap.put('云南省','4.西南'); |
| | | provinceMap.put('贵州省','4.西南'); |
| | | provinceMap.put('西藏自治区','4.西南'); |
| | | |
| | | provinceMap.put('上海市','5.华东'); |
| | | provinceMap.put('江苏省','5.华东'); |
| | | provinceMap.put('浙江省','5.华东'); |
| | | provinceMap.put('福建省','5.华东'); |
| | | provinceMap.put('安徽省','5.华东'); |
| | | provinceMap.put('江西省','5.华东'); |
| | | |
| | | provinceMap.put('四川省','6.西南'); |
| | | provinceMap.put('重庆市','6.西南'); |
| | | provinceMap.put('云南省','6.西南'); |
| | | provinceMap.put('贵州省','6.西南'); |
| | | provinceMap.put('西藏自治区','6.西南'); |
| | | provinceMap.put('广东省','6.华南'); |
| | | provinceMap.put('广西自治区','6.华南'); |
| | | provinceMap.put('海南省','6.华南'); |
| | | provinceMap.put('湖北省','6.华南'); |
| | | provinceMap.put('湖南省','6.华南'); |
| | | provinceMap.put('深圳市','6.华南'); |
| | | |
| | | // DB202305259561 fy 20230517 end |
| | | } |
| | | |
| | | // 是否删除整行数据 |
| | |
| | | } |
| | | |
| | | // 実際の保存ロジック |
| | | private void saveLogic() { |
| | | /*private void saveLogic() { |
| | | List<Opportunity> saveList = new List<Opportunity>(); |
| | | List<Opportunity> deleteList = new List<Opportunity>(); |
| | | |
| | |
| | | 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; |
| | |
| | | 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 { |
| | |
| | | } |
| | | 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; |
| | |
| | | // 更新数据库 |
| | | 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 |
| | | // 20230329 ljh start |
| | | // if(OCM_Mp.Name!='集采课'&&OCM_Mp.Name!='青岛'){ |
| | | if(OCM_Mp.Name!='集采课'){ |
| | | // 20230329 ljh end |
| | | 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 |
| | | system.debug('JianDangfalg+++'+JianDangfalg); |
| | | if(JianDangfalg){ |
| | | //DB202305277681 fy 20230517 start |
| | | // amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'}; |
| | | amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | //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++) { |
| | | // 数据检索Key |
| | | 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 { |
| | | // 担当者信息 |
| | |
| | | //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('当前用户简档截取: '+userProfileId); |
| | | List<String> user6IdList = System.Label.s6_ID.split(','); |
| | | for(String user6id : user6IdList){ |
| | | if(user6id==userProfileId){ |
| | | // if(user6id=='00e10000000xnpR'){ |
| | | JianDangfalg=true; |
| | | break; |
| | | } |
| | | } |
| | | if(JianDangfalg){ |
| | | //DB202305277681 fy 20230517 start |
| | | // amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG'}; |
| | | amountCategory = new String[] {'GDP','GI','ET','BF','GS','URO','GYN','ENT','ENG1','ENG2'}; |
| | | //DB202305277681 fy 20230517 end |
| | | } |
| | | //fy 20220418 |
| | | // 按金额分类,查找数据,并设值 |
| | | for (Integer i = 0; i < amountCategory.size(); i++) { |
| | | String amountC = amountCategory[i]; |