From b1dadcc62a48f7179d2d2011b17488e439d9db66 Mon Sep 17 00:00:00 2001 From: 游畅 <youchang@prec-tech.com> Date: 星期二, 17 五月 2022 15:03:40 +0800 Subject: [PATCH] LLIU-CEGCRB 【委托】【新需求】产品咨询单的确认日相关 --- force-app/main/default/classes/InquiryFormHandler.cls | 270 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 257 insertions(+), 13 deletions(-) diff --git a/force-app/main/default/classes/InquiryFormHandler.cls b/force-app/main/default/classes/InquiryFormHandler.cls index aa44703..d148ca9 100644 --- a/force-app/main/default/classes/InquiryFormHandler.cls +++ b/force-app/main/default/classes/InquiryFormHandler.cls @@ -1,12 +1,12 @@ public without sharing class InquiryFormHandler extends Oly_TriggerHandler { - private Map<Id, Inquiry_form__c> newMap; - private Map<Id, Inquiry_form__c> oldMap; - private List<Inquiry_form__c> newList; - private List<Inquiry_form__c> oldList; + private Map<Id, Inquiry_form__c> newMap; + private Map<Id, Inquiry_form__c> oldMap; + private List<Inquiry_form__c> newList; + private List<Inquiry_form__c> oldList; public InquiryFormHandler(){ - this.newMap = (Map<Id, Inquiry_form__c>) Trigger.newMap; + this.newMap = (Map<Id, Inquiry_form__c>) Trigger.newMap; this.oldMap = (Map<Id, Inquiry_form__c>) Trigger.oldMap; this.newList = (List<Inquiry_form__c>) Trigger.new; this.oldList = (List<Inquiry_form__c>) Trigger.old; @@ -45,7 +45,7 @@ if (oldMap != null && oldMap.containsKey(nnObj.Id)) { oObj = oldMap.get(nnObj.Id); } - if (String.isNotBlank(nnObj.Hospital_Name__c) && (Trigger.isInsert || oObj.Hospital_Name__c != nnObj.Hospital_Name__c || System.Label.Inquiry_form_flag == 'True')) { + if (String.isNotBlank(nnObj.Hospital_Name__c) && (Trigger.isInsert || oObj.Hospital_Name__c != nnObj.Hospital_Name__c)) {// || System.Label.Inquiry_form_flag == 'True') depIDList.add(nnObj.Hospital_Name__c); } if (Trigger.isUpdate && String.isBlank(nnObj.Hospital_Name__c)){ @@ -54,6 +54,7 @@ nnObj.Department_Class__c = null; //鎴樼暐绉戝 nnObj.HospitalName__c = null; //鍖婚櫌鍚� nnObj.Hospital__c = null; //鍖婚櫌 + nnObj.CreateDate__c = null; //鍒涘缓鏃� } } @@ -81,7 +82,7 @@ - //浜у搧淇℃伅鐨勬嫾鎺� + //浜у搧淇℃伅鐨勬嫾鎺� if (String.isNotBlank(nObj.Product1__c) && String.isNotBlank(nObj.Product1_Manual__c)){ nObj.Product1__c = nObj.Product1__c +';'+nObj.Product1_Manual__c; }else if (String.isBlank(nObj.Product1__c) && String.isNotBlank(nObj.Product1_Manual__c)){ @@ -105,13 +106,20 @@ nObj.Product1_Manual__c = ''; //20220419 you SWAG-CBUB2W start - //鍏紡鑰冩枃鏈� 缁橣SE鎷呭綋璧嬪�� + //鍏紡鑰冩枃鏈� 缁橣SE鎷呭綋璧嬪�� 杩欐蹇呴』鏀惧湪杩欙紝鍥犱负鏂板垱寤虹殑鏁版嵁锛屽瓨鍦ㄧ瀹や负绌虹殑鎯呭喌锛� System.debug(nObj.FSE_Owner_id__c+'==123=='+nObj.FSE_Owner__c); if(nObj.FSE_Owner_id__c != nObj.FSE_Owner__c){ nObj.FSE_Owner__c = nObj.FSE_Owner_id__c; } - if(Trigger.isInsert && (nObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') !=-1 || nObj.ServiceCorrespond__c ==true)){ - nObj.Service_Status__c ='01.鏈窡杩�'; + if(Trigger.isInsert){ + if( nObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') !=-1 || nObj.ServiceCorrespond__c ==true){ + nObj.Service_Status__c ='01.鏈窡杩�'; + } + if(String.isBlank(nObj.Hospital_Name__c)){ + nObj.CreateDate__c = null; //鍒涘缓鏃� + }else{ + nObj.CreateDate__c = Date.today(); + } } if(Trigger.isUpdate){ @@ -122,11 +130,75 @@ } }else if( nObj.Request1__c.indexOf('鏈嶅姟瀵瑰簲') ==-1 && nObj.ServiceCorrespond__c ==false){ - nObj.Service_Status__c =''; + nObj.Service_Status__c =''; } - } + if(nObj.Hospital_Name__c != oldMap.get(nObj.Id).Hospital_Name__c && String.isBlank(oldMap.get(nObj.Id).Hospital_Name__c)){ + nObj.CreateDate__c = Date.today(); + } + //20220419 you SWAG-CBUB2W end + + //涓嶉渶瑕佹棩鏈燂紝璺熻繘鏃ユ湡锛屾湇鍔¤窡杩涙棩鏈燂紝鍒涘缓鎰忓悜鏃ユ湡锛屾瘮杈冩渶鏃╂棩鏈� + String date1; + String date2; + String date3; + String date4; + if(null != nObj.No_Need_Date__c){ + date1=String.valueOf(nObj.No_Need_Date__c); + } + if(null != nObj.Follow_Date__c){ + date2=String.valueOf(nObj.Follow_Date__c); + } + if(null != nObj.Confirmation_Date__c){ + date3=String.valueOf(nObj.Confirmation_Date__c); + } + if(null != nObj.Service_Follow_Date__c){ + date4=String.valueOf(nObj.Service_Follow_Date__c); + } + + //鏂规硶璋冪敤 + Date date_MD; + if((String.isNotBlank(date1) && nObj.No_Need_Date__c !=oldMap.get(nObj.Id).No_Need_Date__c) || (String.isNotBlank(date2) && nObj.Follow_Date__c !=oldMap.get(nObj.Id).Follow_Date__c) || (String.isNotBlank(date3) && nObj.Confirmation_Date__c !=oldMap.get(nObj.Id).Confirmation_Date__c) || (String.isNotBlank(date4) && nObj.Service_Follow_Date__c !=oldMap.get(nObj.Id).Service_Follow_Date__c)){ + date_MD =getBigTime(date1,date2,date3,date4); + nObj.MinimumDate__c = date_MD;//鏈�灏忔棩鏈� + String date5 = nObj.CreateDate__c==null?'':String.valueOf(nObj.CreateDate__c); + if(null != nObj.CreateDate__c){ + String confdate=calendarUtil.getWorkDayNum(date5,String.valueOf(date_MD)); + //nObj.addError(s+'=='+date5+'==='+String.valueOf(date_MD)+'=='+e+'=='+confdate); + nObj.Confirmation_days__c =Integer.valueOf(confdate); + if(Integer.valueOf(confdate) > 5){ + nObj.TimeoutDays__c = Integer.valueOf(confdate)-5; + }else{ + nObj.TimeoutDays__c = null; + } + system.debug('璺戣繖浜�3'); + }else{ + nObj.Confirmation_days__c = null; + nObj.TimeoutDays__c = null; + system.debug('璺戣繖浜�1'); + } + + } + //澶勭悊鑰佹暟鎹� + if( System.Label.Inquiry_form_flag == 'True' && null != nObj.CreateDate__c){ + if(String.isNotBlank(date1) || String.isNotBlank(date2) || String.isNotBlank(date3) || String.isNotBlank(date4)){ + date_MD =getBigTime(date1,date2,date3,date4); + nObj.MinimumDate__c = date_MD;//鏈�灏忔棩鏈� + String date5 = nObj.CreateDate__c==null?'':String.valueOf(nObj.CreateDate__c); + String confdate=calendarUtil.getWorkDayNum(date5,String.valueOf(date_MD)); + system.debug('璺戣繖浜�2'+date5+'==='+String.valueOf(date_MD)+'=='+confdate); + nObj.Confirmation_days__c =Integer.valueOf(confdate); + if(Integer.valueOf(confdate) > 5){ + nObj.TimeoutDays__c = Integer.valueOf(confdate)-5; + }else{ + nObj.TimeoutDays__c = null; + } + } + } + system.debug('==='+date_MD); + } - //20220419 you SWAG-CBUB2W end + + } } //20220419 you SWAG-CBUB2W start @@ -219,7 +291,65 @@ } //20220419 you SWAG-CBUB2W end + //澶氫釜鏃ユ湡姣旇緝鏈�灏忔棩鏈� + public static Date getBigTime(String date1, String date2, String date3, String date4) { + system.debug(date1+'======'+date2+'====='+date3); + long millis1 =0; + Long millis2 =0; + Long millis3 =0; + Long millis4 =0; + List<Long> list_dateDecimal = new List<Long>(); + if(String.isNotBlank(date1)){ + millis1 = Datetime.valueOf(date1+' 08:00:05').getTime(); + list_dateDecimal.add(millis1); + } + if(String.isNotBlank(date2)){ + millis2 = Datetime.valueOf(date2+' 08:00:05').getTime(); + list_dateDecimal.add(millis2); + } + if(String.isNotBlank(date3)){ + millis3 = Datetime.valueOf(date3+' 08:00:05').getTime(); + list_dateDecimal.add(millis3); + } + if(String.isNotBlank(date4)){ + millis4 = Datetime.valueOf(date4+' 08:00:05').getTime(); + list_dateDecimal.add(millis4); + } + + list_dateDecimal.sort(); + Date date_Mid; + if(null !=list_dateDecimal && list_dateDecimal.size()>0){ + Long aaa=list_dateDecimal[0]; + DateTime dt =DateTime.newInstance(aaa); + date_Mid = dt.dateGmt(); + // DateTime.newInstance + system.debug('鏈�灏忕殑==='+date_Mid+list_dateDecimal); + } + + return date_Mid; + + } +//淇╀釜鏃ユ湡涔嬮棿鐨勫伐浣滄棩 + public integer diff(Datetime sdate, Datetime edate){ + integer count=0; + Date d1 = Date.valueOf(sdate); + Date d2 = Date.valueOf(edate); + integer wDay = d1.daysBetween(d2) ; + do{ + if(sdate.format('EEEE') == 'Saturday') { + count++; + } + if(sdate.format('EEEE') == 'Sunday') { + count++; + } + sdate= sdate.adddays(1); + }while(sdate<=edate); + + wDay = wDay-count+1; + system.debug('*************'+wDay); + return wDay; + } //瀹㈡埛浜哄憳褰曞叆鍚�,銆愮數璇濄�戙�愰偖绠便�戣嚜鍔ㄥ綍鍏� thh 20220321 start // private void getContactInformation(){ // List<String> ContactIdList = new List<String>(); @@ -382,6 +512,120 @@ i++; i++; i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; + i++; i++;//鍙互澶氬啓鐐� } } \ No newline at end of file -- Gitblit v1.9.1