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 from Account where Id = :opp.AccountId]; System.debug('lt123test02默认询价内容'+opp); opp.SAP_Province__c = acc.Parent.Parent.State_Master__r.Name; // SAP上传省 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 = 'GYO'; } 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; //招标数 //应标数为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; // } }