public without sharing class TenderLostController { //初始化 @AuraEnabled public static String InitData(String ParamIdStr) { //根据招标项目Id 查 招标项目名称 作为 询价名称 List tenList = Database.query('Select Id, Name From Tender_information__c Where Id = : ParamIdStr '); Opportunity opp = new Opportunity(); if(tenList.size() > 0){ opp.Name = tenList[0].Name; opp.Bidding_Project_Name_Bid__c = ParamIdStr; } return JSON.serialize(opp); } // 已关联的医院 @AuraEnabled public static List LinkedHospitals(String ParamIdStr) { List tenList = Database.query('Select Id, Hospital__c, Hospital1__c, Hospital2__c, Hospital3__c, Hospital4__c From Tender_information__c Where Id = : ParamIdStr '); List hospitals = new List(); if(tenList.size() > 0){ if (String.isNotBlank(tenList[0].Hospital__c)) { hospitals.add(tenList[0].Hospital__c); } if (String.isNotBlank(tenList[0].Hospital1__c)) { hospitals.add(tenList[0].Hospital1__c); } if (String.isNotBlank(tenList[0].Hospital2__c)) { hospitals.add(tenList[0].Hospital2__c); } if (String.isNotBlank(tenList[0].Hospital3__c)) { hospitals.add(tenList[0].Hospital3__c); } if (String.isNotBlank(tenList[0].Hospital4__c)) { hospitals.add(tenList[0].Hospital4__c); } } return hospitals; } //把页面上的数据赋值到询价对象上 private static Opportunity mergeInfo(Map oppMap){ Opportunity opp = new Opportunity(); // 名称 opp.Name = String.valueOf(oppMap.get('Name')); //询价 关联 招标项目 opp.Bidding_Project_Name_Bid__c = String.valueOf(oppMap.get('Bidding_Project_Name_Bid__c')); //页面上获取 资金来源 opp.Fund_Basis__c = String.valueOf(oppMap.get('Fund_Basis__c')); //页面上获取 招标方式 opp.Sales_Method__c = String.valueOf(oppMap.get('Sales_Method__c')); // 科室 opp.AccountId = String.valueOf(oppMap.get('AccountId')); System.debug('lt123test01默认询价内容'+opp); // 查找科室相关信息 Account acc = [select Id, Name, Parent.Parent.State_Master__r.Name, Parent.Department_Class_Label__c ,Parent.Parent.OCM_man_province_HP__c //20230329 lt DB202303246427 --青岛拆分 -- 根据询“省(客户)”赋值SAP上传省 add from Account where Id = :opp.AccountId]; System.debug('lt123test02默认询价内容'+opp); // 20221205 ljh DB202212030068 start /* 以后变化不大就这样吧代码中写死,就这样几个省有问题 内蒙古自治区--->内蒙古 宁夏回族自治区--->宁夏自治区 新疆维吾尔自治区--->新疆自治区 黑龙江--->黑龙江省*/ // opp.SAP_Province__c = acc.Parent.Parent.State_Master__r.Name; // SAP上传省 //20230329 lt DB202303246427 --青岛拆分 -- 根据询“省(客户)”赋值SAP上传省 start Map SAP_ProvinceMap = new Map(); // SAP_ProvinceMap.put('内蒙古自治区','内蒙古'); // SAP_ProvinceMap.put('宁夏回族自治区','宁夏自治区'); // SAP_ProvinceMap.put('新疆维吾尔自治区','新疆自治区'); // SAP_ProvinceMap.put('黑龙江','黑龙江省'); SAP_ProvinceMap.put('宁夏','宁夏自治区'); SAP_ProvinceMap.put('新疆','新疆自治区'); SAP_ProvinceMap.put('黑龙江','黑龙江省'); SAP_ProvinceMap.put('广西','广西自治区'); SAP_ProvinceMap.put('大连','大连市'); SAP_ProvinceMap.put('沈阳','辽宁省'); //暂定辽宁 SAP_ProvinceMap.put('广东','广东省'); SAP_ProvinceMap.put('深圳','深圳市'); SAP_ProvinceMap.put('青岛','青岛市'); SAP_ProvinceMap.put('山东','山东省'); SAP_ProvinceMap.put('四川/西藏','四川省'); SAP_ProvinceMap.put('安徽','安徽省'); SAP_ProvinceMap.put('北京','北京市'); SAP_ProvinceMap.put('福建','福建省'); SAP_ProvinceMap.put('甘肃','甘肃省'); SAP_ProvinceMap.put('贵州','贵州省'); SAP_ProvinceMap.put('河北','河北省'); SAP_ProvinceMap.put('河南','河南省'); SAP_ProvinceMap.put('湖北','湖北省'); SAP_ProvinceMap.put('湖南','湖南省'); SAP_ProvinceMap.put('吉林','吉林省'); SAP_ProvinceMap.put('江苏','江苏省'); SAP_ProvinceMap.put('江西','江西省'); SAP_ProvinceMap.put('青海','青海省'); SAP_ProvinceMap.put('山西','山西省'); SAP_ProvinceMap.put('陕西','陕西省'); SAP_ProvinceMap.put('上海','上海市'); SAP_ProvinceMap.put('天津','天津市'); SAP_ProvinceMap.put('云南','云南省'); SAP_ProvinceMap.put('浙江','浙江省'); SAP_ProvinceMap.put('重庆','重庆市'); SAP_ProvinceMap.put('海南','海南省'); //内蒙古一致 // String SAP_Province = acc.Parent.Parent.State_Master__r.Name; String SAP_Province = acc.Parent.Parent.OCM_man_province_HP__c; //20230329 lt DB202303246427 --青岛拆分 -- 根据询“省(客户)”赋值SAP上传省 end if(SAP_ProvinceMap.containsKey(SAP_Province)){ SAP_Province = SAP_ProvinceMap.get(SAP_Province); } opp.SAP_Province__c = SAP_Province; // 20221205 ljh DB202212030068 end switch on acc.Parent.Department_Class_Label__c { // 询价科室分类 询价编码自动生成要用到 when '消化科' { opp.Opportunity_Category__c = 'GI'; } when '呼吸科' { opp.Opportunity_Category__c = 'BF'; } when '普外科' { opp.Opportunity_Category__c = 'GS'; } when '泌尿科' { opp.Opportunity_Category__c = 'URO'; } when '妇科' { opp.Opportunity_Category__c = 'GYN'; } when '耳鼻喉科' { opp.Opportunity_Category__c = 'ENT'; } when 'ET' { opp.Opportunity_Category__c = 'ET'; } when '其他' { opp.Opportunity_Category__c = 'OTH'; } when else { opp.Opportunity_Category__c = 'OTH'; } } opp.StageName = '引合'; // 状态 opp.Purchase_Reason__c = '新期'; // 购买原因 opp.Trade__c = '内貿'; // 内贸外贸 opp.Close_Forecasted_Date__c = Date.today().addDays(90); // 预测OCSM签约日 opp.CloseDate = Date.today().addDays(120); // 预测发货日 opp.Purchase_Type__c = '一般引合'; // 订货方式 opp.Sales_Root__c = '販売店'; // 渠道为"经销商" opp.ifOpenBid__c = '公开招标'; // 是否公开招标 opp.LeadSource = '招标网'; // 潜在客户来源 opp.LeakageNumber__c = 1; //漏单数 opp.Tender_Number__c = 1; //招标数 opp.DirectLossFLG__c = true; //后台用-招标项目直接失单标记 //应标数为0 Authorized_DB_No__c为空时为0 //中标数为0 opp.ConfirmationofAward_createTime__c = Date.today(); //中标结果确认日 opp.ConfirmationofAward__c = '竞争对手中标'; //中标确认结果 System.debug('lt123opp默认询价内容'+opp); return opp; } //保存数据 JSONData 是 json格式的值 @AuraEnabled public static string SaveData(String JsonData){ Opportunity opp = new Opportunity(); try{ Map oppMap = (Map)JSON.deserializeUntyped(JsonData); System.debug('lt123JsonData'+JsonData); opp = mergeInfo(oppMap); insert opp; System.debug('lt123opp.Id'+opp.Id); return opp.Id; }catch(Exception ex) { return '错误:' + ex.getLineNumber()+' 行错误 : '+ex.getMessage(); } } //查询普通科室 @AuraEnabled public static String SearchPTKS(String content, List hospitals){ String profile_2S1 = System.Label.ProfileId2S1HP; Boolean is_2S1 = profile_2S1.contains(UserInfo.getProfileId()) ? true : false; String jsonData = CommonUtils.GetPTKS(content, hospitals, is_2S1); System.debug('hospitals: ' + hospitals); System.debug('offices: ' + jsonData); return jsonData; } //查询父类 // @AuraEnabled // public static String SearchParent(String Id){ // String jsonData = CommonUtils.GetParent(Id); // return jsonData; // } }