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];            List
contactList = [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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:CRM系统Salesforce 客户bill触发器
下一篇:C游戏 简单迷宫游戏开发

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月09日 09时34分30秒