| | |
| | | protected override void beforeUpdate() { |
| | | if(!disabled){ |
| | | beforeSetValue(); |
| | | |
| | | // 不太确定此处理会对其他处理有什么影响,防止生产环境发生问题,用此标签控制 |
| | | // 等确认没问题后,在删除(Todo) |
| | | if (System.Label.Set_Queue_UniqueKey == 'TRUE') { |
| | | // 设值排队的UniqueKey |
| | | setUniqueKeyQueue(); |
| | | } |
| | | } |
| | | } |
| | | protected override void afterInsert() { |
| | |
| | | |
| | | } |
| | | |
| | | private void setUniqueKeyQueue(){ |
| | | Map<Id, Rental_Apply_Equipment_Set_Detail__c> olddetailMap = (Map<Id, Rental_Apply_Equipment_Set_Detail__c>) Trigger.oldMap; |
| | | |
| | | for(Rental_Apply_Equipment_Set_Detail__c newdetail : (List<Rental_Apply_Equipment_Set_Detail__c>)trigger.new){ |
| | | Rental_Apply_Equipment_Set_Detail__c olddetail = olddetailMap.get(newdetail.Id); |
| | | |
| | | if((olddetail.Queue_Number__c > 0 && newdetail.Queue_Number__c == 0)// 暂定分配 |
| | | || (!olddetail.Cancel_Select__c && newdetail.Cancel_Select__c && olddetail.Queue_Number__c > 0) //取消(排队中,暂定分配) |
| | | || (olddetail.Queue_Number__c > 0 && newdetail.Queue_Number__c == null )//分单 |
| | | ){ |
| | | // 清空排队的UniqueKey |
| | | newdetail.UniqueKey_Queue__c = null; |
| | | } |
| | | |
| | | // 重排或者排队No变化时更新 |
| | | if (!newdetail.Cancel_Select__c && newdetail.Queue_Number__c > 0 && newdetail.ExternalKey__c != null |
| | | && (newdetail.Queue_Number__c != olddetail.Queue_Number__c |
| | | || newdetail.ExternalKey__c != olddetail.ExternalKey__c)) { |
| | | // 排队的UniqueKey设值 |
| | | newdetail.UniqueKey_Queue__c = newdetail.ExternalKey__c + ':' + newdetail.Queue_Number__c; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* |
| | | private void reQueueNumber() { |
| | | Map<String, List<Rental_Apply_Equipment_Set_Detail__c>> queueRaesdMap = new Map<String, List<Rental_Apply_Equipment_Set_Detail__c>>(); |