| | |
| | | // 金额分类 |
| | | //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'}; |
| | | 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'}; |
| | | // 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'}; |
| | | // 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; |
| | |
| | | //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){ |
| | | 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; |
| | |
| | | } |
| | | // 数据赋值 |
| | | setBean(iYear); |
| | | |
| | | system.debug('dataBeans+++'+dataBeans[0]); |
| | | return null; |
| | | } |
| | | //SWAG-BB48QB 判断当前时间是否是4月15日之后 start |
| | |
| | | //导入方法 |
| | | public PageReference importCSVFile() { |
| | | 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()){ |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | // for (User userl : userList) { |
| | | // userMap.put(userl.Alias, userl); |
| | | // } |
| | | //2021/12/28 中间表寄存数据 by ld fy |
| | | Integer GDP_Number = 2; |
| | | //2021/12/28 中间表寄存数据 by ld fy |
| | | 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; |
| | | //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; |
| | | } |
| | | upsertPGSIList = new List<Provincial_Goal_Setting_Input__c>();//初始化,解决重复导入数据 id重复得问题 |
| | | for (String key : szMap.keySet()) { |
| | | //取用户的Id |
| | |
| | | //2021/12/28 中间表寄存数据 by ld fy |
| | | Provincial_Goal_Setting_Input__c upsertPGSI = new Provincial_Goal_Setting_Input__c(); |
| | | //获取导入数量 |
| | | 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 |
| | | 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 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]); |
| | |
| | | |
| | | // 数据赋值 |
| | | 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, |
| | |
| | | //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; |
| | |
| | | // 2020/12/28 与既有中间表数据进行对比 fy by ld end |
| | | dataBeans.add(dataBean); |
| | | } |
| | | system.debug('dataBeans+++='+dataBeans); |
| | | } |
| | | |
| | | //获取本部-省对应关系 |
| | |
| | | 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!='青岛'){ |
| | | // 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); |
| | | } |
| | | } |
| | |
| | | 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, '反映到目标成功')); |
| | |
| | | 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>(); |
| | |
| | | //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){ |
| | | 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]; |