CRM系统之Salesforce 销售订单trigger
发布日期:2021-06-30 22:35:25
浏览次数:2
分类:技术文章
本文共 4774 字,大约阅读时间需要 15 分钟。
trigger salesorderTrigger on salesorder__c (before insert,before update,after insert) { salesorder__c salesorder = Trigger.new[0]; Account a = new Account(); if(Trigger.isInsert&&Trigger.isBefore){ if(salesorder.customer__c!=null){ a = [SELECT Id,technologicalrequirements1__c,Customer_status__c, Industry, Material_type2__c, Name, Phone__c, deliveryaddress__c FROM Account WHERE Id = : salesorder.customer__c]; ListcontactList = [select id,Name,FirstName,LastName,MobilePhone,Phone_number2__c from Contact where AccountId=:salesorder.customer__c limit 1]; if('未启用'.equals(a.Customer_status__c)&&contactList.size()<=0){ salesorder.addError('客户没有相关联系人,状态为未启用,请及时维护和提交审批!'); }else{ if('未启用'.equals(a.Customer_status__c)){ salesorder.addError('客户状态为未启用,请及时提交客户进行审批!'); }else if('待审核'.equals(a.Customer_status__c)){ salesorder.addError('客户状态为待审核,请等待审批完成后再新建该客户的订单!'); }else{ if(contactList.size()>0){ if(String.isNotBlank(contactList[0].FirstName)){ salesorder.consignee__c = contactList[0].FirstName+contactList[0].LastName; }else{ salesorder.consignee__c = contactList[0].LastName; } salesorder.consigneephone__c = contactList[0].Phone_number2__c; }else{ salesorder.addError('客户没有相关联系人,请及时维护!'); } } } } //salesorder.technicsrequiment__c = a.technologicalrequirements1__c; salesorder.industrytypes__c = a.Industry; salesorder.materialtype__c = a.Material_type2__c; if(salesorder.delivery__c=='送货上门'){ salesorder.deliveryaddress__c = a.deliveryaddress__c; }else if(salesorder.delivery__c=='自提货'){ salesorder.deliveryaddress__c = Label.CompanyAddress; } } if(Trigger.isUpdate){ if(salesorder.statue__c=='1'&&trigger.OldMap.get(salesorder.Id).statue__c=='0'){ a = [SELECT Id,technologicalrequirements1__c,Customer_status__c, Industry, Material_type2__c, Name, Phone__c, deliveryaddress__c FROM Account WHERE Id = : salesorder.customer__c]; if('未启用'.equals(a.Customer_status__c)){ salesorder.addError('客户状态为未启用,请及时提交客户进行审批!'); }else if('待审核'.equals(a.Customer_status__c)){ salesorder.addError('客户状态为待审核,请等待审批完成后再新建该客户的订单!'); } List attachmentList = [select id from Attachment where ParentId=:salesorder.id]; List contentVersionList = [SELECT Id FROM ContentVersion where FirstPublishLocationId=:salesorder.id]; List cdLList = [SELECT Id, LinkedEntityId, ContentDocumentId FROM ContentDocumentLink where LinkedEntityId =:salesorder.id]; if(attachmentList.size()<=0&&contentVersionList.size()<=0&&cdLList.size()<=0){ salesorder.addError('销售订单提交审批时,没有上传合同、三证等信息附件,不允许提交审批!'); } } } //跨区域提醒 if(trigger.isAfter&&salesorder.statue__c=='1'){ List userconfig=[SELECT id,office__c,branch__c,Business_area__c,productline__c,User__c,User__r.Name,position__c FROM CustomObject5__c WHERE User__c=:salesorder.OwnerId AND productline__c!=null]; if(userconfig.size()>0&&salesorder.deliveryplace__c!=null){ Set UIds = new Set (); String msg ='业务员 '+ userconfig[0].User__r.Name + ' 存在跨区域销售,请悉知!'; Set uline = new Set (); Boolean isfp=true; String salearea = salesorder.salearea__c.substring(3,7);//销售区域 Region__c reg = [SELECT Name FROM Region__c WHERE id=:salesorder.deliveryplace__c]; for(CustomObject5__c c5:userconfig){ if(!c5.productline__c.contains(salearea)){ //如果可售产品线不包含销售区域,则跨产品线销售(不需要发chatter) isfp = false; } if(c5.position__c=='分公司经理'||c5.position__c=='内贸总监'||c5.position__c=='大客户部副经理'){ isfp = false; }else{ //其他职位的人跨区域则发chatter至上级 Set bareas = new Set (c5.Business_area__c.split(';')); for(String s:bareas){ if(reg.Name.contains(s)){ isfp = false;//只要地址中包含业务员的一个可售区域则不是跨区域(不发chatter) } } } } if(isfp){ List upper = new List (); if(userconfig[0].branch__c=='精密/智能设备分公司'){ upper=[SELECT id,branch__c,User__c,User__r.Name,position__c FROM CustomObject5__c WHERE branch__c=:userconfig[0].branch__c AND position__c='分公司经理' AND productline__c=:salearea]; }else{ upper=[SELECT id,branch__c,User__c,User__r.Name,position__c FROM CustomObject5__c WHERE branch__c=:userconfig[0].branch__c AND position__c='分公司经理']; } if(upper.size()>0){ ChatterSender.send(upper[0].User__c,msg,salesorder.Id); } } } } }
转载地址:https://lovoo.blog.csdn.net/article/details/51265018 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月09日 09时34分30秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于U-boot上TFTP服务器更新系统
2019-04-30
P3811 【模板】乘法逆元
2019-04-30
P5431 【模板】乘法逆元2
2019-04-30
P1495 【模板】中国剩余定理(CRT)/曹冲养猪
2019-04-30
P3868 [TJOI2009]猜数字
2019-04-30
YbtOJ——贪心算法【例题3】畜栏预定
2019-04-30
YbtOJ——贪心算法【例题2】雷达装置
2019-04-30
YbtOJ——递推算法【例题4】传球游戏
2019-04-30
YbtOJ——深度搜索【例题1】拔河比赛
2019-04-30
YbtOJ——深度搜索【例题2】数独游戏
2019-04-30
YbtOJ——字符串处理【例题1】数字反转
2019-04-30
YbtOJ——字符串处理【例题2】移位包含
2019-04-30
转trt步骤记录
2019-05-01
MatConvNet安装
2019-05-01
依赖错误
2019-05-01
ROS安装与卸载
2019-05-01
openrave安装
2019-05-01
安装openrave 0.9的各种依赖包
2019-05-01
trajopt代码使用
2019-05-01
kpm代码使用细节
2019-05-01