高章伟
2023-03-03 d8dc84a3d56df839895f1c417a4d9cbee763d262
force-app/main/default/classes/SetPersonalTargetController.cls
@@ -228,7 +228,7 @@
        // 職位
        if (plist == null) {
            plist = new List<Position>();
            plist.add(new Position('一般', true));
            plist.add(new Position('专员', true));  //20220517 lt SWAG-CD28H3
            plist.add(new Position('高级', true));
            plist.add(new Position('主管', true));
            //20220402 lt SWAG-CD28H3 【委托】【期初修改4月6日开始修改】目标录入相关判断修改 start
@@ -435,8 +435,9 @@
                        String sf = csvRecordData[1].replace(' ', '');
                        String dandang = csvRecordData[3].replace(' ', '');
                        String zw = csvRecordData[4].replace(' ', '');
                        UserInfoList.add(bu + sf + dandang + zw);
                        szMap.put(bu + sf + dandang + zw, csvRecordData);
                        String key_flg = (bu + sf + dandang + zw).replaceAll('"', '');
                        UserInfoList.add(key_flg);
                        szMap.put(key_flg, csvRecordData);
                        sfs.add(sf);//把省份放进去
                        bus.add(bu);//本部
                        zws.add(zw);//职位
@@ -486,30 +487,30 @@
                    List<String> csvRecordData = szMap.get(key);
                    Amount_Major_Product__c upsertAMP = new Amount_Major_Product__c();
                    //获取导入数量
                    Decimal GI_Amount = String.isNotBlank(csvRecordData[GI_Number]) ? Decimal.valueof(csvRecordData[GI_Number]) : 0.00;
                    Decimal GI_Amount = String.isNotBlank(csvRecordData[GI_Number]) && String.isNotBlank(csvRecordData[GI_Number].replaceAll('"', '')) ? Decimal.valueof(csvRecordData[GI_Number].replaceAll('"', '')) : 0.00;
                     
                    DataSplicing(GI_Amount,userid + '_GI',Amount_Major_ProductMap1,userinfors);
                    
                    Decimal ET_Amount = String.isNotBlank(csvRecordData[ET_Number]) ? Decimal.valueOf(csvRecordData[ET_Number]) : 0.00;
                    Decimal ET_Amount = String.isNotBlank(csvRecordData[ET_Number]) && String.isNotBlank(csvRecordData[ET_Number].replaceAll('"', '')) ? Decimal.valueOf(csvRecordData[ET_Number].replaceAll('"', '')) : 0.00;
                    DataSplicing(ET_Amount,userid + '_ET',Amount_Major_ProductMap1,userinfors);
                    
                    Decimal BF_Amount = String.isNotBlank(csvRecordData[BF_Number]) ? Decimal.valueOf(csvRecordData[BF_Number]) : 0.00;
                    Decimal BF_Amount = String.isNotBlank(csvRecordData[BF_Number]) && String.isNotBlank(csvRecordData[BF_Number].replaceAll('"', '')) ? Decimal.valueOf(csvRecordData[BF_Number].replaceAll('"', '')) : 0.00;
                    DataSplicing(BF_Amount,userid + '_BF',Amount_Major_ProductMap1,userinfors);
                    
                    Decimal GS_Amount = String.isNotBlank(csvRecordData[GS_Number]) ? Decimal.valueOf(csvRecordData[GS_Number]) : 0.00;
                    Decimal GS_Amount = String.isNotBlank(csvRecordData[GS_Number]) && String.isNotBlank(csvRecordData[GS_Number].replaceAll('"', '')) ? Decimal.valueOf(csvRecordData[GS_Number].replaceAll('"', '')) : 0.00;
                    DataSplicing(GS_Amount,userid + '_GS',Amount_Major_ProductMap1,userinfors);
                   
                    Decimal URO_Amount = String.isNotBlank(csvRecordData[URO_Number]) ? Decimal.valueOf(csvRecordData[URO_Number]) : 0.00;
                    Decimal URO_Amount = String.isNotBlank(csvRecordData[URO_Number]) && String.isNotBlank(csvRecordData[URO_Number].replaceAll('"', '')) ? Decimal.valueOf(csvRecordData[URO_Number].replaceAll('"', '')) : 0.00;
                    DataSplicing(URO_Amount,userid + '_URO',Amount_Major_ProductMap1,userinfors);
                    
                    Decimal GYN_Amount = String.isNotBlank(csvRecordData[GYN_Number]) ? Decimal.valueOf(csvRecordData[GYN_Number]) : 0.00;
                    Decimal GYN_Amount = String.isNotBlank(csvRecordData[GYN_Number]) && String.isNotBlank(csvRecordData[GYN_Number].replaceAll('"', '')) ? Decimal.valueOf(csvRecordData[GYN_Number].replaceAll('"', '')) : 0.00;
                    DataSplicing(GYN_Amount,userid + '_GYN',Amount_Major_ProductMap1,userinfors);
                   
                    Decimal ENT_Amount = String.isNotBlank(csvRecordData[ENT_Number]) ? Decimal.valueOf(csvRecordData[ENT_Number]) : 0.00;
                    Decimal ENT_Amount = String.isNotBlank(csvRecordData[ENT_Number]) && String.isNotBlank(csvRecordData[ENT_Number].replaceAll('"', '')) ? Decimal.valueOf(csvRecordData[ENT_Number].replaceAll('"', '')) : 0.00;
                    DataSplicing(ENT_Amount,userid + '_ENT',Amount_Major_ProductMap1,userinfors);
                    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 ENG_Amount = String.isNotBlank(csvRecordData[ENG_Number]) && String.isNotBlank(csvRecordData[ENG_Number].replaceAll('"', ''))? Decimal.valueOf(csvRecordData[ENG_Number].replaceAll('"', '').trim()) : 0.00;
                    // Decimal.valueOf(String str)
                    DataSplicing(ENG_Amount,userid + '_ENG',Amount_Major_ProductMap1,userinfors);
                    
@@ -605,7 +606,7 @@
    }
    private List<User> getUserList(List<String> UserInfoList) {//根据上传文件中得本部,省份,担当,职位 得到了user 信息
        String soql = 'select Id, UserInfos__c, Salesdepartment__c, Province__c, Alias, Product_specialist_incharge_product__c,Responsible_for_Products_Concurrently__c, Use_Start_Date__c,'
                      + ' ProfileId, Profile.Name, UserRoleId, UserRole.Name, Sales_Speciality__c, Post__c,Job_Category__c'
                      + ' ProfileId, Profile.Name, UserRoleId, UserRole.Name, Sales_Speciality__c, HR_Post__c,Job_Category__c'
                      + ' from User where IsActive = true and Test_staff__c = false and UserType = \'Standard\' '
                      + ' and Salesdepartment__c <> \'7.能量\' '
                      + ' and UserInfos__c IN :UserInfoList order by Salesdepartment__c, Province__c';
@@ -658,6 +659,7 @@
        ref.setRedirect(true);
        return ref;
    }
    /** 20220613 WLIG-CER9NQ you 页面中拿掉改成batch执行
    // 2020/06/05 SWAG-BQ7CM9 点击更新按钮 by ljh
    public Pagereference UpdateBtn() {
        system.debug('=====UpdateBtn-1');
@@ -670,7 +672,7 @@
        }
        return null;
    }
    **/
    // 点击返回按钮
    public Pagereference backBtn() {
        // HOMEに戻る
@@ -717,7 +719,7 @@
    // ユーザの検索
    private List<User> getUserList(Boolean searchByDpt, Boolean searchByProvince, Boolean defaultSearch) {
        String soql = 'select Id, Salesdepartment__c, Province__c, Alias, Product_specialist_incharge_product__c,Responsible_for_Products_Concurrently__c, Use_Start_Date__c,'
                      + ' ProfileId, Profile.Name, UserRoleId, UserRole.Name, Sales_Speciality__c, Post__c'
                      + ' ProfileId, Profile.Name, UserRoleId, UserRole.Name, Sales_Speciality__c, HR_Post__c'
                      + ' from User where IsActive = true and Test_staff__c = false and UserType = \'Standard\' '
                      // CHAN-BBLCYP 20190509 LHJ Start
                      + ' and Salesdepartment__c <> \'7.能量\' ';
@@ -766,19 +768,27 @@
        // 職位条件
        List<String> positionNames = new List<String>();
        String s1 = '经理';
        String s2 = '总监';
        for (Position p : plist) {
            if (p.check) {
                positionNames.add(p.positionName);
                //positionNames.add(p.positionName);
                //20220406 lt SWAG-CD28H3 【委托】【期初修改4月6日开始修改】目标录入相关判断修改 start
                if(p.positionName == '经理级'){
                    positionNames.add('副经理');
                    positionNames.add('经理');
                //20220517 lt SWAG-CD28H3  注释
                if(p.positionName == '高级'){
                    positionNames.add('高级专员');
                }else{
                    positionNames.add(p.positionName);
                }
                if(p.positionName == '总监级'){
                    positionNames.add('副部长');
                    positionNames.add('部长');
                    positionNames.add('总监');
                }
                // if(p.positionName == '经理级'){
                //     positionNames.add('副经理');
                //     positionNames.add('经理');
                // }
                // if(p.positionName == '总监级'){
                //     positionNames.add('副部长');
                //     positionNames.add('部长');
                //     positionNames.add('总监');
                // }
                //20220406 lt SWAG-CD28H3 【委托】【期初修改4月6日开始修改】目标录入相关判断修改end
            }
        }
@@ -787,9 +797,29 @@
            soql += ' and (';
            for (Integer i = 0; i < positionNames.size(); i++) {
                if (i == positionNames.size() - 1) {
                    soql += ' Post__c = \'' + positionNames[i] + '\'';
                    //20220517 lt SWAG-CD28H3 Start
                    if(positionNames[i] != '经理级' && positionNames[i] != '总监级'){
                        soql += ' HR_Post__c = \'' + positionNames[i] + '\'';
                    }
                    else if(positionNames[i] == '经理级'){
                        soql += ' HR_Post__c like \'%' + s1 + '%\'';
                    }
                    else if(positionNames[i] == '总监级'){
                        soql += ' HR_Post__c like \'%' + s2 + '%\'';
                    }
                    //20220517 lt SWAG-CD28H3 End
                } else {
                    soql += ' Post__c = \'' + positionNames[i] + '\' or';
                    //20220517 lt SWAG-CD28H3 Start
                    if(positionNames[i] != '经理级' && positionNames[i] != '总监级'){
                        soql += ' HR_Post__c = \'' + positionNames[i] + '\' or';
                    }
                    else if(positionNames[i] == '经理级'){
                        soql += ' HR_Post__c like \'%' + s1 + '%\' or';
                    }
                    else if(positionNames[i] == '总监级'){
                        soql += ' HR_Post__c like \'%' + s2 + '%\' or';
                    }
                    //20220517 lt SWAG-CD28H3 End
                }
            }
            soql += ')';