| | |
| | | Visitor1__c, Visitor2__c, Visitor3__c, Visitor4__c, Visitor5__c, Visitor1_ID__c, Visitor2_ID__c, Visitor3_ID__c, Visitor4_ID__c, Visitor5_ID__c, |
| | | Purpose_Type__c, Location, Related_Opportunity1__c, Related_Service1__c, Related_Opportunity1_ID__c, Related_Service1_ID__c, WS_flg__c, |
| | | Related_Opportunity2__c, Related_Opportunity3__c, Related_Opportunity4__c, Related_Opportunity5__c,OPDPlan_Flag__c, |
| | | Related_Opportunity2_ID__c, Related_Opportunity3_ID__c, Related_Opportunity4_ID__c, Related_Opportunity5_ID__c, |
| | | Related_Opportunity2_ID__c, Related_Opportunity3_ID__c, Related_Opportunity4_ID__c, Related_Opportunity5_ID__c,Opd_Plan__c, |
| | | Activity_Purpose__c, Activity_PurposeFSE__c, Activity_PurposeEscFSE__c, Purpose_TypeFSE__c, Purpose_TypeEscFSE__c,EventStatus__c,cancelReason__c,cancelReasonOther__c,cancelReasonSelect__c,cancelReasonSelectFSE__c,delayReason__c,delayReasonOther__c,delayReasonSelect__c,delayReasonSelectFSE__c,delayToDate__c |
| | | from Event where WS_flg__c = false and ActivityDate = :whereDate and OwnerId = :ur.Id and EventStatus__c not in ('04 取消','05 延期','06 关闭','07 未执行') order by StartDateTime]; |
| | | return calenderList; |
| | |
| | | return new Map<Id, Contact>([Select Id, User__c From Contact Where Id IN: contactIds and User__r.isActive = true]); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * add 2021/12/23 wangweipeng satrt |
| | | * [updateFutureOds 更新ods的user__c字段] |
| | |
| | | } |
| | | //@future |
| | | public static void upsertFutureContactInterface(List<String> userEmployeeNoList) { |
| | | |
| | | // 社内员工のレコードタイプ |
| | | Id rtId = '01210000000Qtky'; |
| | | // 现有联系人 |
| | | Map<String, Contact> conMap = new Map<String, Contact>(); |
| | | // UserToContact の 変更したか にて判断した項目です |
| | | List<User> usrList = [select Id, Notes_File_Name__c,FirstName, LastName, Email, Mobile_Phone__c, Employee_No__c, Work_Location__c, Post__c, Job_Category__c, Hire_Date__c, Gender__c, Dept__c, Pregnant_Rest__c, Salesdepartment__c, Stay_or_not__c,IsMEBG__c, Work_Location_HR__c from User where Employee_No__c IN :userEmployeeNoList]; |
| | | //20220425 LLIU-CCY9TA you 查询post的地方换成 HR_Post__c |
| | | List<User> usrList = [select Id,PositionSubsequence__c,Rank__c, Notes_File_Name__c,FirstName, LastName, Email, Mobile_Phone__c, Employee_No__c, Work_Location__c, HR_Post__c,Post__c, Job_Category__c, Hire_Date__c, Gender__c, Dept__c, Pregnant_Rest__c, Salesdepartment__c, Stay_or_not__c,IsMEBG__c, Work_Location_HR__c from User where Employee_No__c IN :userEmployeeNoList]; |
| | | List<Contact> conList = [select Id,Notes_File_Name__c, User__c, Employee_No_manual__c,Isactive__c,IsMEBG__c, Work_Location_HR__c from Contact where Employee_No_manual__c IN :userEmployeeNoList and RecordTypeId = :rtId]; |
| | | for (Contact con : conList) { |
| | | //conMap.put(con.Employee_No_manual__c, con); |
| | | conMap.put(con.Employee_No_manual__c.toLowerCase(), con); |
| | | } |
| | | system.debug('youchangtest1'); |
| | | List<Contact> upsertList = new List<Contact>(); |
| | | for (User local : usrList) { |
| | | //update wangweipeng 2021/11/19 |
| | |
| | | //用户的工作地(人事)改变更新到联系人上 thh 2022-02-16 start |
| | | tmp.Work_Location_HR__c = local.Work_Location_HR__c; |
| | | //用户的工作地(人事)改变更新到联系人上 thh 2022-02-16 end |
| | | tmp.Post_picklist__c = local.Post__c; |
| | | tmp.Post_picklist__c = local.Post__c; //20220426 LLIU-CCY9TA you用户的 Post__c ,还是对应联系人 |
| | | tmp.HR_Post__c = local.HR_Post__c;//HR通用职级 //20220425 LLIU-CCY9TA you |
| | | tmp.Job_Category_picklist__c = local.Job_Category__c; |
| | | tmp.Hire_date_text__c = local.Hire_Date__c; |
| | | tmp.Gender_text__c = local.Gender__c; |
| | |
| | | tmp.Salesdepartment_Text__c = local.Salesdepartment__c; |
| | | tmp.Stay_or_not__c = local.Stay_or_not__c; |
| | | tmp.IsMEBG__c = local.IsMEBG__c;//是否MEBG |
| | | //20220428 LLIU-CDW5ZW you start |
| | | tmp.PositionSubsequence__c = local.PositionSubsequence__c; |
| | | //20220428 LLIU-CDW5ZW you end |
| | | //20220512 you LLIU-CDW5ZW start |
| | | tmp.Rank__c = local.Rank__c; |
| | | //20220428 you LLIU-CDW5ZW end |
| | | |
| | | if(String.isNotBlank(local.Stay_or_not__c)){ |
| | | tmp.Isactive__c = local.Stay_or_not__c == '在职' ? '有效':'无效'; |
| | | tmp.Isactive__c = local.Stay_or_not__c == '在职' ? '有效':'无效(退休)'; |
| | | } |
| | | upsertList.add(tmp); |
| | | system.debug('youchangtest2'+tmp.HR_Post__c); |
| | | } else { |
| | | // 新做联系人 |
| | | Contact tmp = new Contact(); |
| | |
| | | tmp.Work_Location_HR__c = local.Work_Location__c; |
| | | tmp.Work_Location_picklist__c = local.Work_Location__c; |
| | | //如果根据HR信息新建用户,则把HR信息的工作地传给用户的工作地和工作地(人事) thh 2022-02-16 end |
| | | tmp.Post_picklist__c = local.Post__c; |
| | | tmp.Post_picklist__c = local.Post__c;//20220426 LLIU-CCY9TA you用户的 Post__c ,还是对应联系人 |
| | | tmp.HR_Post__c = local.HR_Post__c;//HR通用职级 //20220425 LLIU-CCY9TA you |
| | | tmp.Job_Category_picklist__c = local.Job_Category__c; |
| | | tmp.Hire_date_text__c = local.Hire_Date__c; |
| | | tmp.Gender_text__c = local.Gender__c; |
| | |
| | | tmp.Salesdepartment_Text__c = local.Salesdepartment__c; |
| | | tmp.Stay_or_not__c = local.Stay_or_not__c; |
| | | tmp.IsMEBG__c = local.IsMEBG__c;//是否MEBG |
| | | //20220428 LLIU-CDW5ZW you start |
| | | tmp.PositionSubsequence__c = local.PositionSubsequence__c; |
| | | //20220428 LLIU-CDW5ZW you end |
| | | //20220512 you LLIU-CDW5ZW start |
| | | tmp.Rank__c = local.Rank__c; |
| | | //20220428 you LLIU-CDW5ZW end |
| | | if(String.isNotBlank(local.Stay_or_not__c)){ |
| | | tmp.Isactive__c = '在职'.equals(local.Stay_or_not__c) ? '有效':'无效'; |
| | | tmp.Isactive__c = '在职'.equals(local.Stay_or_not__c) ? '有效':'无效(退休)'; |
| | | } |
| | | upsertList.add(tmp); |
| | | system.debug('youchangtest3'+tmp.HR_Post__c); |
| | | } |
| | | } |
| | | upsert upsertList; |
| | | } |
| | | |
| | | // 20220425 you 经查看 此对象应该是没有任何地方用到了,可以注释掉 |
| | | public static void updateFutureUserByContact(List<String> userEmployeeNoList) { |
| | | // 现有用户 |
| | | Map<String, User> usrMap = new Map<String, User>(); |
| | |
| | | //add wangweipeng 2021/11/18 start |
| | | //根据ods的员工编码,更新或新增 user表的数据 |
| | | public static void updateFutureOdsByUser(List<String> userEmployeeNoList) { |
| | | //20220426 LLIU-CCY9TA you start 通用职衔和user上的职位互相映射, |
| | | SS_BatchColumnMapping__c mpdMapping = SS_BatchColumnMapping__c.getValues('HR_Post_To_UserAndContact__c'); |
| | | |
| | | Map<String,String> UserAndContactMap = new Map<String,String>(); |
| | | for (Integer i = 1; i <= 30; i++) { |
| | | String lpadI = ('00' + i).right(3); |
| | | String fromColumn = 'From_Column_' + lpadI + '__c'; |
| | | if(mpdMapping!=null){ |
| | | String apiStr = String.valueOf(mpdMapping.get(fromColumn)); |
| | | if (String.isBlank(apiStr) == false) { |
| | | String ssColumn = 'SS_Column_' + lpadI + '__c'; |
| | | String ssApiStr = String.valueOf(mpdMapping.get(ssColumn)); |
| | | UserAndContactMap.put(apiStr,ssApiStr); |
| | | } |
| | | } |
| | | } |
| | | //20220426 LLIU-CCY9TA you end |
| | | |
| | | //20220721 you LLIU-CGH8EY start 本部分类-岗位子序列,映射 user上的职种 |
| | | SS_BatchColumnMapping__c JobmpdMapping = SS_BatchColumnMapping__c.getValues('HR_Post_To_Job_Category__c'); |
| | | |
| | | Map<String,String> Job_CategoryMap = new Map<String,String>(); |
| | | for (Integer i = 1; i <= 30; i++) { |
| | | String lpadI = ('00' + i).right(3); |
| | | String fromColumn = 'From_Column_' + lpadI + '__c'; |
| | | if(JobmpdMapping!=null){ |
| | | String apiStr = String.valueOf(JobmpdMapping.get(fromColumn)); |
| | | if (String.isBlank(apiStr) == false) { |
| | | String ssColumn = 'SS_Column_' + lpadI + '__c'; |
| | | String ssApiStr = String.valueOf(JobmpdMapping.get(ssColumn)); |
| | | Job_CategoryMap.put(apiStr,ssApiStr); |
| | | } |
| | | } |
| | | } |
| | | //20220721 you LLIU-CGH8EY end |
| | | |
| | | //20220823 you LLIU-CHL8FB start 本部是--solution本部的通过映射,更新用户上的 本部(选项),如果是其他,那么正常走逻辑 |
| | | SS_BatchColumnMapping__c DeptMapping = SS_BatchColumnMapping__c.getValues('HR_Category4_To_Dept__c'); |
| | | |
| | | Map<String,String> DeptMap = new Map<String,String>(); |
| | | for (Integer i = 1; i <= 30; i++) { |
| | | String lpadI = ('00' + i).right(3); |
| | | String fromColumn = 'From_Column_' + lpadI + '__c'; |
| | | if(DeptMapping!=null){ |
| | | String apiStr = String.valueOf(DeptMapping.get(fromColumn)); |
| | | if (String.isBlank(apiStr) == false) { |
| | | String ssColumn = 'SS_Column_' + lpadI + '__c'; |
| | | String ssApiStr = String.valueOf(DeptMapping.get(ssColumn)); |
| | | DeptMap.put(apiStr,ssApiStr); |
| | | } |
| | | } |
| | | } |
| | | //20220823 you LLIU-CHL8FB end |
| | | |
| | | system.debug(mpdMapping+'==UserAndContactMap=='+UserAndContactMap); |
| | | //获取自定义标签,自己定义,用来空更新数据或处理历史数据 |
| | | //在处理历史记录时:职位和职种 如果ods的值为空,那么user对象的这两个字段就不需要更新 |
| | | Integer buffer = Integer.valueOf(System.Label.ODS_Null_Update_Sign); |
| | | // 现有用户 |
| | | Map<String, User> usrMap = new Map<String, User>(); |
| | | // ContactToUser の 変更したか にて判断した項目です |
| | | List<ODS__c> conList = [select id,Alias__c,Branch__c,Category3__c,Category4__c,Category5__c,Category6__c,Employee_No__c,Hire_Date__c,FirstName__c,LastName__c,Name__c,Email__c,MobilePhone__c,Post__c,Job_Category__c,Job_Type__c,Product_specialist_incharge_product__c,Sales_Speciality__c,Work_Location__c,Stay_or_not__c,LeaveDate__c,UniqueId__c,Null_Update__c from ODS__c where Employee_No__c in :userEmployeeNoList]; |
| | | List<ODS__c> conList = [select id,Alias__c,Branch__c,PositionSubsequence__c,Rank__c,Category3__c,Category4__c,Category5__c,Category6__c,Employee_No__c,Hire_Date__c,FirstName__c,LastName__c,Name__c,Email__c,MobilePhone__c,Post__c,Job_Category__c,Job_Type__c,Product_specialist_incharge_product__c,Sales_Speciality__c,Work_Location__c,Stay_or_not__c,LeaveDate__c,UniqueId__c,Null_Update__c,Salesdepartment__c from ODS__c where Employee_No__c in :userEmployeeNoList]; |
| | | |
| | | List<User> usrList = [select Id, PBI_Enable__c ,PBIAuthorizedSetting__c,Employee_No__c from User where Employee_No__c IN :userEmployeeNoList]; |
| | | for (User usr : usrList) { |
| | |
| | | |
| | | userData.Group_sales_dept__c = odsc.Category3__c;//统括本部 |
| | | if(String.isNotBlank(odsc.Category4__c)){ |
| | | userData.Dept__c = odsc.Category4__c;//本部 |
| | | //20220823 you LLIU-CHL8FB start |
| | | if(null!=DeptMap && DeptMap.containsKey(odsc.Category4__c)){ |
| | | userData.Dept__c = DeptMap.get(odsc.Category4__c);//本部 |
| | | }else{ |
| | | userData.Dept__c = odsc.Category4__c;//本部 |
| | | } |
| | | //20220823 you LLIU-CHL8FB end |
| | | } |
| | | userData.Category5__c = odsc.Category5__c;//部 |
| | | //LLIU-CCS8ZB-当新创建的时候接收人事信息中的课信息,之后不进行更新 thh 20220324 start |
| | |
| | | //userData.Email = odsc.Email__c;//电子邮件 |
| | | userData.Mobile_Phone__c = odsc.MobilePhone__c;//手机号码 |
| | | //如果自定义变迁的值为1,那么证明现在是在处理历史数据,而历史数据规定,如果ods的职位为空,那么就不需要更新user的职种 |
| | | //20220425 LLIU-CCY9TA you ods 的 通用职衔 对应用户上新创建的 HR通用职级 断开跟职位的关系 |
| | | |
| | | if(String.isNotBlank(odsc.Post__c) || buffer != 1){ |
| | | userData.Post__c = odsc.Post__c;//职位 |
| | | //userData.Post__c = odsc.Post__c;//职位 |
| | | userData.HR_Post__c = odsc.Post__c;//HR通用职级 |
| | | system.debug(odsc.Post__c+'===='+UserAndContactMap.containsKey(odsc.Post__c)); |
| | | if(null!=UserAndContactMap && UserAndContactMap.containsKey(odsc.Post__c)){ |
| | | userData.Post__c = UserAndContactMap.get(odsc.Post__c); |
| | | } |
| | | } |
| | | //20220426 LLIU-CCY9TA you end |
| | | |
| | | //20220428 LLIU-CDW5ZW you start |
| | | userData.PositionSubsequence__c = odsc.PositionSubsequence__c; |
| | | //20220428 LLIU-CDW5ZW you end |
| | | //20220512 you LLIU-CDW5ZW start |
| | | userData.Rank__c = odsc.Rank__c; |
| | | //20220428 you LLIU-CDW5ZW end |
| | | |
| | | // 20220721 you LLIU-CGH8EY start 注释,依据本部和岗位子序列 给职种赋值 |
| | | /** |
| | | String zz = ''; |
| | | if(odsc.Job_Category__c == '服务'){ |
| | | zz = '销售服务'; |
| | |
| | | //如果自定义变迁的值为1,那么证明现在是在处理历史数据,而历史数据规定,如果ods的职种为空,那么就不需要更新user的职种 |
| | | if(String.isNotBlank(zz) || buffer != 1){ |
| | | userData.Job_Category__c = zz;//职种 |
| | | } |
| | | }**/ |
| | | String bbz=odsc.Category4__c+'-' +odsc.PositionSubsequence__c; //本部-岗位子序列 |
| | | String ldbb=odsc.Salesdepartment__c+'-' +odsc.PositionSubsequence__c; //六大本部-岗位子序列 |
| | | String bbz1=odsc.Category5__c+'-' +odsc.PositionSubsequence__c; //部-岗位子序列 |
| | | system.debug(bbz+'==='+ldbb+'==Job_CategoryMap=='+Job_CategoryMap); |
| | | //本部不等于空,看本部 |
| | | String zz = ''; |
| | | if( (String.isNotBlank(odsc.PositionSubsequence__c) && odsc.PositionSubsequence__c=='供应链管理') || ( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='战略创新本部')){ |
| | | zz = '管理'; |
| | | }else if( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='Solution本部'){ |
| | | zz = '市场'; |
| | | }else if(String.isNotBlank(odsc.Category4__c)){ |
| | | if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(bbz)){ |
| | | if(Job_CategoryMap.get(bbz) == '服务'){ |
| | | zz = '销售服务'; |
| | | }else if(Job_CategoryMap.get(bbz) == '推广'){ |
| | | zz = '销售推广'; |
| | | }else{ |
| | | zz = Job_CategoryMap.get(bbz); |
| | | } |
| | | } |
| | | if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(ldbb)){ |
| | | if(Job_CategoryMap.get(ldbb) == '服务'){ |
| | | zz = '销售服务'; |
| | | }else if(Job_CategoryMap.get(ldbb) == '推广'){ |
| | | zz = '销售推广'; |
| | | }else{ |
| | | zz = Job_CategoryMap.get(ldbb); |
| | | } |
| | | } |
| | | |
| | | system.debug('=='+Job_CategoryMap.get(bbz)+'==='+Job_CategoryMap.get(ldbb)+'==='+zz); |
| | | }else if(String.isBlank(odsc.Category4__c) && String.isNotBlank(odsc.Category5__c)){ |
| | | //本部等于空,看部 |
| | | if(odsc.Category5__c=='华北东北运营管理部' || odsc.Category5__c=='西北西南运营管理部' || odsc.Category5__c=='西北西南运营支援部' || bbz1=='华北东北服务部-综合行政' || bbz1=='华北东北市场部-综合行政'){ |
| | | zz = '支援'; |
| | | }else if(bbz1=='华北东北服务部-FSE'){ |
| | | zz = '销售服务'; |
| | | }else if(odsc.Category5__c=='西部战略推进部' || bbz1=='华北东北市场部-推广'){ |
| | | zz = '销售推广'; |
| | | } |
| | | } |
| | | userData.Job_Category__c = zz; |
| | | |
| | | // 20220721 you LLIU-CGH8EY end |
| | | |
| | | //userData.Product_specialist_incharge_product__c = odsc.Product_specialist_incharge_product__c;//负责产品(主) |
| | | //userData.Sales_Speciality__c = odsc.Sales_Speciality__c;//销售工作内容 |
| | | //HR信息上的工作地更新到用户的工作地(人事)上 thh 2022-02-16 start |
| | |
| | | User userData = new User(); |
| | | userData.Group_sales_dept__c = odsc.Category3__c;//统括本部 |
| | | if(String.isNotBlank(odsc.Category4__c)){ |
| | | userData.Dept__c = odsc.Category4__c;//本部 |
| | | //20220823 you LLIU-CHL8FB start |
| | | if(null!=DeptMap && DeptMap.containsKey(odsc.Category4__c)){ |
| | | userData.Dept__c = DeptMap.get(odsc.Category4__c);//本部 |
| | | }else{ |
| | | userData.Dept__c = odsc.Category4__c;//本部 |
| | | } |
| | | //20220823 you LLIU-CHL8FB end |
| | | } |
| | | userData.Category5__c = odsc.Category5__c;//部 |
| | | userData.Category6__c = odsc.Category6__c;//课 |
| | |
| | | userData.Username = '_'+odsc.Email__c;//用户名 |
| | | userData.Mobile_Phone__c = odsc.MobilePhone__c;//手机号码 |
| | | //如果自定义变迁的值为1,那么证明现在是在处理历史数据,而历史数据规定,如果ods的职位为空,那么就不需要更新user的职种 |
| | | //20220426 LLIU-CCY9TA you start |
| | | if(String.isNotBlank(odsc.Post__c) || buffer != 1){ |
| | | userData.Post__c = odsc.Post__c;//职位 |
| | | //userData.Post__c = odsc.Post__c;//职位 |
| | | userData.HR_Post__c = odsc.Post__c;//HR通用职级 |
| | | if(null!=UserAndContactMap && UserAndContactMap.containsKey(odsc.Post__c)){ |
| | | userData.Post__c = UserAndContactMap.get(odsc.Post__c); |
| | | } |
| | | } |
| | | //20220426 LLIU-CCY9TA you end |
| | | |
| | | //20220428 LLIU-CDW5ZW you start |
| | | userData.PositionSubsequence__c = odsc.PositionSubsequence__c; |
| | | //20220428 LLIU-CDW5ZW you end |
| | | //20220512 you LLIU-CDW5ZW start |
| | | userData.Rank__c = odsc.Rank__c; |
| | | //20220428 you LLIU-CDW5ZW end |
| | | // 20220721 you LLIU-CGH8EY start 注释,依据本部和岗位子序列 给职种赋值 |
| | | /** |
| | | String zz = ''; |
| | | if(odsc.Job_Category__c == '服务'){ |
| | | zz = '销售服务'; |
| | |
| | | //如果自定义变迁的值为1,那么证明现在是在处理历史数据,而历史数据规定,如果ods的职种为空,那么就不需要更新user的职种 |
| | | if(String.isNotBlank(zz) || buffer != 1){ |
| | | userData.Job_Category__c = zz;//职种 |
| | | } |
| | | }**/ |
| | | String bbz=odsc.Category4__c+'-' +odsc.PositionSubsequence__c; //本部-岗位子序列 |
| | | String ldbb=odsc.Salesdepartment__c+'-' +odsc.PositionSubsequence__c; //六大本部-岗位子序列 |
| | | String bbz1=odsc.Category5__c+'-' +odsc.PositionSubsequence__c; //部-岗位子序列 |
| | | //本部不等于空,看本部 |
| | | String zz = ''; |
| | | if( (String.isNotBlank(odsc.PositionSubsequence__c) && odsc.PositionSubsequence__c=='供应链管理') || ( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='战略创新本部')){ |
| | | zz = '管理'; |
| | | }else if( String.isNotBlank(odsc.Category4__c) && odsc.Category4__c=='Solution本部'){ |
| | | zz = '市场'; |
| | | }else if(String.isNotBlank(odsc.Category4__c)){ |
| | | if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(bbz)){ |
| | | if(Job_CategoryMap.get(bbz) == '服务'){ |
| | | zz = '销售服务'; |
| | | }else if(Job_CategoryMap.get(bbz) == '推广'){ |
| | | zz = '销售推广'; |
| | | }else{ |
| | | zz = Job_CategoryMap.get(bbz); |
| | | } |
| | | } |
| | | if(null!=Job_CategoryMap && Job_CategoryMap.containsKey(ldbb)){ |
| | | if(Job_CategoryMap.get(ldbb) == '服务'){ |
| | | zz = '销售服务'; |
| | | }else if(Job_CategoryMap.get(ldbb) == '推广'){ |
| | | zz = '销售推广'; |
| | | }else{ |
| | | zz = Job_CategoryMap.get(ldbb); |
| | | } |
| | | } |
| | | |
| | | }else if(String.isBlank(odsc.Category4__c) && String.isNotBlank(odsc.Category5__c)){ |
| | | //本部等于空,看部 LLIU-CKE3UG 增加映射关系 |
| | | if(odsc.Category5__c=='华北东北运营管理部' || odsc.Category5__c=='西北西南运营管理部' || odsc.Category5__c=='西北西南运营支援部' || bbz1=='华北东北服务部-综合行政' || bbz1=='华北东北市场部-综合行政'){ |
| | | zz = '支援'; |
| | | }else if(bbz1=='华北东北服务部-FSE'){ |
| | | zz = '销售服务'; |
| | | }else if(odsc.Category5__c=='西部战略推进部' || bbz1=='华北东北市场部-推广'){ |
| | | zz = '销售推广'; |
| | | } |
| | | } |
| | | userData.Job_Category__c = zz; |
| | | |
| | | // 20220721 you LLIU-CGH8EY end |
| | | userData.Null_Update__c = odsc.Null_Update__c; |
| | | userData.Product_specialist_incharge_product__c = odsc.Product_specialist_incharge_product__c;//负责产品(主) |
| | | userData.Sales_Speciality__c = odsc.Sales_Speciality__c;//销售工作内容 |
| | |
| | | |
| | | ,eventStatus__c, CancelReason__c, delayToDate__c, delayReason__c,DurationInMinutes__c,cancelReasonSelect__c,cancelReasonSelectFSE__c,cancelReasonOther__c,delayReasonOther__c,delayReasonSelect__c,delayReasonSelectFSE__c,BeforeActivityDate__c,OPDPlan_Flag__c,IsScheduled__c,AppCdId__c,SyncCreatedDate__c |
| | | // 20200420 任务日报管理 add gzw end |
| | | //,OPD_plan__c // 2022-4-14 yjk 增加OPD计划 |
| | | from Event__c where ActivityDate__c =:whereDate and Daily_Report__c = :oya.Id order by StartDateTime__c |
| | | ]; |
| | | } |
| | |
| | | Qty_Unit__c,Cost__c,UnitPrice__c,ListPrice__c,Quantity,TotalPrice__c, |
| | | PricebookEntry.Product2.SFDA_Status__c, ProductCode__c, Product_Cost__c,PricebookEntry.Product2.VenderName__c, Product2.VenderName__c,Product_ListPrice__c, PricebookEntry.Product2.Sales_Possibility__c, PricebookEntry.Product2.Name, |
| | | PricebookEntryId, PricebookEntry.Product2Id,UnitPrice_Page__c,PricebookEntry.Product2.Packing_list_manual__c,PricebookEntry.Product2.StorageStatus__c |
| | | // 2022-03-21 SWAG-CBX5NN start |
| | | ,If_Cancel_Guarantee__c |
| | | ,multiYearWarranty__c |
| | | ,CanNotCancelFlag__c |
| | | ,ProductEntend_gurantee_period_all__c |
| | | ,warrantyType__c |
| | | ,GuaranteePeriod__c |
| | | ,GuranteeType__c |
| | | // 2022-03-21 SWAG-CBX5NN end |
| | | From QuoteLineItem where Quoteid = :QuoteidOldList]; |
| | | for(QuoteLineItem qli : oldQuoteitemList){ |
| | | QuidWithQLitem.put(qli.Quoteid,qli); |
| | |
| | | //20210826 mzy SWAG-C5S46P start |
| | | //改为用 发货完毕日 判断 且 将 2012年创建的且询价状态是发货/完毕的数据排除 |
| | | //queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'引合\',\'注残\') or ( StageName = \'出荷\' and Shipping_Finished_Day__c > '+temptoday+' and Shipping_Finished_Day__c <= '+tempLastDate+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; |
| | | queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'引合\',\'注残\') or ( StageName = \'出荷\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; |
| | | queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'引合\',\'注残\') or ( StageName = \'出荷\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; |
| | | //20210826 mzy SWAG-C5S46P end |
| | | // 20200616 CHAN-BQM8LU vivek end |
| | | } |
| | |
| | | //20210826 mzy SWAG-C5S46P start |
| | | //改为用 发货完毕日 判断 且 将 2012年创建的且询价状态是发货/完毕的数据排除 |
| | | //queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'引合\',\'注残\') or ( StageName = \'出荷\' and Shipping_Finished_Day__c > '+temptoday+' and Shipping_Finished_Day__c <= '+tempLastDate+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; |
| | | queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c,CountNoInstall__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'引合\',\'注残\') or ( StageName = \'出荷\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; |
| | | queryString = 'Select Id, Opportunity_No__c, Name, toLabel(StageName), Department_Name__c,Field1__c, Close_Forecasted_Date__c, Competitor__c, Wholesale_Price__c from Opportunity where' + nameCondition + ' Account.Hospital__c=\'' + a.Hospital__c + '\' and ( StageName IN (\'引合\',\'注残\') or ( StageName = \'出荷\' and Shipping_Finished_Day__c > '+tempLastDate+' and Shipping_Finished_Day__c <= '+temptoday+' and CALENDAR_YEAR(Created_Day__c) != 2012 )) and RecordTypeId in (\'01210000000QekK\',\'012100000006KMeAAM\') order by Name, Opportunity_No__c, Department_Name__c limit 31'; |
| | | //20210826 mzy SWAG-C5S46P end |
| | | // 20191126 SWAG-BJA6JK LHJ End |
| | | // 20200616 CHAN-BQM8LU vivek end |
| | |
| | | public static void lostOrder(Lost_Report__c lostData) { |
| | | upsert lostData; |
| | | } |
| | | |
| | | // FY23修改 WLIG-CFV4AV 重点产品维护(新)start |
| | | public static String getKeyByProduct(String keyword) { |
| | | if (String.isBlank(keyword)) { |
| | | return null; |
| | | } |
| | | String KeyProductMapping = System.Label.Key_Product_Mapping; |
| | | Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(KeyProductMapping); |
| | | System.debug('==Mapping is: ' + mapping); |
| | | |
| | | return mapping.get(keyword) != null ? String.valueOf(mapping.get(keyword)) : null; |
| | | } |
| | | // FY23修改 WLIG-CFV4AV 重点产品维护(新)end |
| | | |
| | | // DB202303051651 产品报价金额自动计算 ssm start |
| | | // Json解析 |
| | | public static String getValueFromJSONString(String jsonstring, String key) { |
| | | if (String.isNotBlank(jsonstring)) { |
| | | Map<String, Object> mapping = (Map<String, Object>) JSON.deserializeUntyped(jsonstring); |
| | | return mapping.get(key) != null ? String.valueOf(mapping.get(key)) : mapping.get('Default') != null ? String.valueOf(mapping.get('Default')) : null; |
| | | } |
| | | return null; |
| | | } |
| | | // DB202303051651 产品报价金额自动计算 ssm end |
| | | |
| | | //20221021 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 start |
| | | public static void UpdateBiddingFlag(List<String> oppId){ |
| | | List<Tender_Opportunity_Link__c> links = [SELECT Id, Tender_information__c, Tender_information__r.IsReactionOpp__c, Opportunity__c |
| | | FROM Tender_Opportunity_Link__c |
| | | WHERE Opportunity__c in :oppId ]; |
| | | |
| | | Map<String,Tender_information__c> tenderMap = new Map<String,Tender_information__c>(); |
| | | |
| | | for (Tender_Opportunity_Link__c link : links){ |
| | | |
| | | Tender_information__c temptender = new Tender_information__c(); |
| | | temptender.Id = link.Tender_information__c; |
| | | temptender.IsReactionOpp__c = true; |
| | | tenderMap.put(temptender.id ,temptender); |
| | | |
| | | } |
| | | |
| | | if(tenderMap.size()>0){ |
| | | update tenderMap.values(); |
| | | } |
| | | |
| | | } |
| | | //20221021 lt SWAG-CHL5XA【FY23询价改善】-统计主机台数 end |
| | | |
| | | } |