public without sharing class TenderLostController {
|
|
//初始化
|
@AuraEnabled
|
public static String InitData(String ParamIdStr) {
|
//根据招标项目Id 查 招标项目名称 作为 询价名称
|
List<Tender_information__c> 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<String> LinkedHospitals(String ParamIdStr) {
|
List<Tender_information__c> tenList = Database.query('Select Id, Hospital__c, Hospital1__c, Hospital2__c, Hospital3__c, Hospital4__c From Tender_information__c Where Id = : ParamIdStr ');
|
List<String> hospitals = new List<String>();
|
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<String, Object> 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<String,String> SAP_ProvinceMap = new Map<String,String>();
|
// 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<String, Object> oppMap = (Map<String, Object>)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<String> 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;
|
// }
|
|
}
|