From 08e1a4d4459f6ed4049cb715a2d7086cc14ff182 Mon Sep 17 00:00:00 2001 From: 沙世明 <shashiming@prec-tech.com> Date: 星期三, 22 三月 2023 11:56:13 +0800 Subject: [PATCH] 签收单逻辑改修 --- force-app/main/default/classes/updateESignBatch.cls | 891 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 749 insertions(+), 142 deletions(-) diff --git a/force-app/main/default/classes/updateESignBatch.cls b/force-app/main/default/classes/updateESignBatch.cls index 44d1e72..cce7048 100644 --- a/force-app/main/default/classes/updateESignBatch.cls +++ b/force-app/main/default/classes/updateESignBatch.cls @@ -286,8 +286,10 @@ //瀛樻斁 绛炬敹鍗昳d,鏂囦欢鏁伴噺 Map < String, Integer > fileMap = new Map < String, Integer > (); //椹冲洖鍚庡垹闄ゆ枃浠� 鍚� 鎺掑簭闂 绮剧悽鎶�鏈� wql 2020/12/24 start - List<Attachment> esignAttachAgencyList = new List<Attachment>(); - List<Attachment> esignAttachHPList = new List<Attachment>(); + // List<Attachment> esignAttachAgencyList = new List<Attachment>(); + // List<Attachment> esignAttachHPList = new List<Attachment>(); + List<FileAddress__c> esignAttachAgencyList = new List<FileAddress__c>(); //zhj Attachment To AWS 2023-02-06 + List<FileAddress__c> esignAttachHPList = new List<FileAddress__c>(); //zhj Attachment To AWS 2023-02-06 Map<String, Integer> fileAgencyMap = new Map<String, Integer>(); Map<String, Integer> fileHPMap = new Map<String, Integer>(); //椹冲洖鍚庡垹闄ゆ枃浠� 鍚� 鎺掑簭闂 绮剧悽鎶�鏈� wql 2020/12/24 end @@ -309,13 +311,20 @@ //瀛樻斁鎵�鏈夌鏀跺崟褰曞叆琛╥d List < String > luruIsLastSubmitList = new List < String > (); + + // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start //鍒ゆ柇鏄惁鏈夋湭澶勭悊鐨勫綍鍏ヨ〃 - Map < Id, eSignFormEntry__c > unprocessedESignEneryMap = new Map < Id, eSignFormEntry__c > (); + // Map < Id, eSignFormEntry__c > unprocessedESignEneryMap = new Map < Id, eSignFormEntry__c > (); + Map < Id, List<eSignFormEntry__c> > unprocessedESignEneryMap = new Map < Id, List<eSignFormEntry__c> > (); + List<eSignFormEntry__c> unprocessedEntries = new List<eSignFormEntry__c>(); + // Map <Id, eSignFormEntry__c> unprocessedEntries = new Map<Id, eSignFormEntry__c>(); + // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start //鐢ㄤ簬鍒ゆ柇鍒犻櫎椹冲洖鐨勯檮浠剁殑绛涢�夋潯浠� Map < Id, eSignForm__c > rejectESignEneryMap = new Map < Id, eSignForm__c > (); //椹冲洖鍚� 鍒犻櫎涔嬪墠涓婁紶鐨勬枃浠秈d - List<Attachment> deleteLastFileList = new List<Attachment>(); + //List<Attachment> deleteLastFileList = new List<Attachment>(); + List<FileAddress__c> deleteLastFileList = new List<FileAddress__c>(); //zhj Attachment To AWS 2023-02-06 //瀛樻斁鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬� Map < String, String > oldESignAgencyStatusMap = new Map < String, String > (); //瀛樻斁鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬� @@ -349,25 +358,36 @@ system.debug('rejectESignEneryMap:' + rejectESignEneryMap); //濡傛灉map涓嶄负绌� 鍒欎綔涓虹瓫閫夋潯浠� if (rejectESignEneryMap.size()>0) { - List<Attachment> deleteFileList = [SELECT parentId, createdDate, Name,Description - FROM Attachment - WHERE parentId IN: rejectESignEneryMap.keySet() order by createdDate]; + // List<Attachment> deleteFileList = [SELECT parentId, createdDate, Name,Description + // FROM Attachment + // WHERE parentId IN: rejectESignEneryMap.keySet() order by createdDate]; + List<FileAddress__c> deleteFileList = [SELECT ParentRecordId__c, createdDate, FileName__c + FROM FileAddress__c + WHERE ParentRecordId__c IN: rejectESignEneryMap.keySet() order by createdDate]; //zhj Attachment To AWS 2023-02-06 system.debug('deleteFileList:' + deleteFileList); if (deleteFileList.size() > 0) { for (eSignForm__c esFile : rejectESignEneryMap.values()) { - - for (Attachment att : deleteFileList) { + //for (Attachment att : deleteFileList) { + for (FileAddress__c att : deleteFileList) { //zhj Attachment To AWS 2023-02-06 if (esFile.agencyRejectDate__c != null || esFile.HPRejectDate__c != null) { - if (att.parentId == esFile.Id ) { + if (att.ParentRecordId__c == esFile.Id ) { //鈶犵粡閿�鍟嗛┏鍥炲悗闇�瑕佸垹闄ょ殑闄勪欢 if (esFile.agencyRejectDate__c != null) { - if (att.Name.substring(0, 1) == 'A' && att.createdDate < esFile.agencyRejectDate__c) { + //zhj Attachment To AWS 2023-02-06 + // if (att.Name.substring(0, 1) == 'A' && att.createdDate < esFile.agencyRejectDate__c) { + // deleteLastFileList.add(att); + // } + if (att.FileName__c.substring(0, 1) == 'A' && att.createdDate < esFile.agencyRejectDate__c) { deleteLastFileList.add(att); } } //鈶″尰闄㈤┏鍥炲悗闇�瑕佸垹闄ょ殑闄勪欢 if (esFile.HPRejectDate__c != null) { - if (att.Name.substring(0, 1) == 'H' && att.createdDate < esFile.HPRejectDate__c) { + //zhj Attachment To AWS 2023-02-06 + // if (att.Name.substring(0, 1) == 'H' && att.createdDate < esFile.HPRejectDate__c) { + // deleteLastFileList.add(att); + // } + if (att.FileName__c.substring(0, 1) == 'H' && att.createdDate < esFile.HPRejectDate__c) { deleteLastFileList.add(att); } } @@ -404,9 +424,16 @@ eSignStringMap.put(eSignFormEntryWhole.Id, eSignFormEntryWhole); //鈶℃墍鏈夌殑 鐢ㄤ簬鏇存柊鏂囦欢(鍖呭惈宸插鐞嗘湭澶勭悊鐨勬暟鎹� ) fileIdList.add(eSignFormEntryWhole.Id); - if (eSignFormEntryWhole.IsHandled__c == false) { + // 杩欓噷鏄粈涔堥锛熼兘涓嶅垽鏂竴涓嬬鏀跺崟id鐨勶紵 + // if (eSignFormEntryWhole.IsHandled__c == false) { + if (eSignFormEntryWhole.IsHandled__c == false && eSignFormEntryWhole.eSignForm__r.Id == eid) { //鏈鐞嗙殑 - unprocessedESignEneryMap.put(eid, eSignFormEntryWhole); + // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start + // unprocessedESignEneryMap.put(eid, eSignFormEntryWhole); + List<eSignFormEntry__c> entries = unprocessedESignEneryMap.size() > 0 && unprocessedESignEneryMap.keySet().contains(eid) ? unprocessedESignEneryMap.get(eid) : new List<eSignFormEntry__c>(); + entries.add(eSignFormEntryWhole); + unprocessedESignEneryMap.put(eid, entries); + // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 end } if (eSignFormEntryWhole.eSignForm__r.Id == eid) { //瀛樻斁 绛炬敹鍗昳d锛屽綍鍏ヨ〃id 鏂囦欢鐢� @@ -455,19 +482,36 @@ //閲嶆柊瀵归檮浠舵帓搴� 瑙勫垯鍙樹负鏍规嵁绛炬敹鍗曠幇鏈夐檮浠跺簭鍙疯繘琛屾帓搴� 绮剧悽鎶�鏈� wql start //鏆傛椂瀛樻斁涓�涓嬬鏀跺崟鍚嶇О Map<string, string> tempMap = new Map<string, string>(); - List<Attachment> tempAttList = [SELECT parentId, createdDate, Name,Description - FROM Attachment - WHERE parentId IN: esFormidList order by createdDate]; + //zhj Attachment To AWS 2023-02-06 + // List<Attachment> tempAttList = [SELECT parentId, createdDate, Name,Description + // FROM Attachment + // WHERE parentId IN: esFormidList order by createdDate]; + List<FileAddress__c> tempAttList = [SELECT ParentRecordId__c, createdDate, FileName__c + FROM FileAddress__c + WHERE ParentRecordId__c IN: esFormidList order by createdDate]; if (tempAttList.size() > 0) { //澶栧眰寰幆绛炬敹鍗� for (String es : esFormidList) { - + //zhj Attachment To AWS 2023-02-06 //鍐呭眰寰幆闄勪欢 - for (Attachment att : tempAttList) { + // for (Attachment att : tempAttList) { + // //濡傛灉id鐩哥瓑 + // if (es.equals(att.parentId)) { + // //鏍规嵁鍚嶇О鎷嗗垎 瀛樺叆涓嶅悓list + // String name = att.Name; + // if (name.substring(0, 1).equals('A')) { + // esignAttachAgencyList.add(att); + // } else if (name.substring(0, 1).equals('H')) { + // esignAttachHPList.add(att); + // } + + // } + // } + for (FileAddress__c att : tempAttList) { //濡傛灉id鐩哥瓑 - if (es.equals(att.parentId)) { + if (es.equals(att.ParentRecordId__c)) { //鏍规嵁鍚嶇О鎷嗗垎 瀛樺叆涓嶅悓list - String name = att.Name; + String name = att.FileName__c; if (name.substring(0, 1).equals('A')) { esignAttachAgencyList.add(att); } else if (name.substring(0, 1).equals('H')) { @@ -564,114 +608,129 @@ boolean IsHPSubmit = false; //閿�鍞笭閬� String Sales_Root_Formula; - //褰曞叆绫诲瀷 - String type; + //褰曞叆绫诲瀷 + String type; // 杩欎笢瑗挎病鏈夌敤 System.debug('lasteSignFormEntryMap:' + lasteSignFormEntryMap); if (lasteSignFormEntryMap.containsKey(eSignFormid)) { eSignForm.id = eSignFormid; + // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 start //绛炬敹鍗昳d - eSignFormEntry__c eSignFormEntry = lasteSignFormEntryMap.get(eSignFormid); - //濡傛灉缁忛攢鍟嗙‘璁ゆ棩涓虹┖鐨勮瘽 杩涘幓鍒ゆ柇鏇存柊缁忛攢鍟嗗鎵圭姸鎬� - if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { - if (eSignFormEntry.agencyConfirmDateBack__c == null) { - if (eSignFormEntry.IsSubmit__c == true) { - eSignForm.agencyAutoSignUpStatus__c = '鐢宠涓�'; - eSignForm.agencyReject__c = false; - } else { - if (eSignFormEntry.agencyScanDayBack__c != null && eSignFormEntry.IsAgencyScan__c) { - eSignForm.agencyAutoSignUpStatus__c = '鑽夋涓�'; - eSignForm.agencyReject__c = false; - + // eSignFormEntry__c eSignFormEntry = lasteSignFormEntryMap.get(eSignFormid); + for (eSignFormEntry__c eSignFormEntry : unprocessedESignEneryMap.get(eSignFormid)) { + // 鏍规嵁褰曞叆绫诲瀷鍘绘洿鏂板搴旂殑閮ㄥ垎鏁版嵁 + // entryType__c鍖呭惈缁忛攢鍟� + if (String.isNotBlank(eSignFormEntry.entryType__c) && eSignFormEntry.entryType__c.contains('缁忛攢鍟�')) { + //濡傛灉缁忛攢鍟嗙‘璁ゆ棩涓虹┖鐨勮瘽 杩涘幓鍒ゆ柇鏇存柊缁忛攢鍟嗗鎵圭姸鎬� + if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { + if (eSignFormEntry.agencyConfirmDateBack__c == null) { + if (eSignFormEntry.IsSubmit__c == true) { + eSignForm.agencyAutoSignUpStatus__c = '鐢宠涓�'; + eSignForm.agencyReject__c = false; + } else { + if (eSignFormEntry.agencyScanDayBack__c != null && eSignFormEntry.IsAgencyScan__c) { + // 璋冩暣鑽夋涓殑璧嬪�奸�昏緫锛屽绔搷浣滅殑鎯呭喌涓嬫湁鍙兘鍏堢敵璇峰悗鑽夋 + // eSignForm.agencyAutoSignUpStatus__c = '鑽夋涓�'; + eSignForm.agencyAutoSignUpStatus__c = String.isBlank(eSignForm.agencyAutoSignUpStatus__c) ? '鑽夋涓�' : eSignForm.agencyAutoSignUpStatus__c; + eSignForm.agencyReject__c = false; + } + } + } + //鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨�� + if(eSignFormEntry.agencyAutoSignUpStatus__c!=null &&eSignFormEntry.agencyAutoSignUpStatus__c!=''){ + oldESignAgencyStatusMap.put('A' + eSignForm.id, eSignFormEntry.agencyAutoSignUpStatus__c); + }else{ + oldESignAgencyStatusMap.put('A' + eSignForm.id, '鏃�'); + } + } + //濡傛灉娌″彉鍖栧垯涓嶆洿鏂� + if (eSignFormEntry.AgencyWorkflowEmailBack__c != eSignFormEntry.AgencyWorkflowEmail__c) { + //缁忛攢鍟嗛偖浠� + eSignForm.AgencyWorkflowEmail__c = eSignFormEntry.AgencyWorkflowEmailBack__c; + } + // 鏃ユ湡鏇存柊 + if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { + //缁忛攢鍟嗘壂鎻忔棩 + if (eSignFormEntry.agencyScanDayBack__c != null) { + eSignForm.agencyScanDay__c = eSignFormEntry.agencyScanDayBack__c; + } + //缁忛攢鍟嗙鏀舵棩 + if (eSignFormEntry.agencySignUpDateBack__c != null) { + eSignForm.agencySignUpDate__c = eSignFormEntry.agencySignUpDateBack__c; + } + //缁忛攢鍟嗙‘璁ゆ棩 + if (eSignFormEntry.agencyConfirmDateBack__c != null) { + eSignForm.agencyConfirmDate__c = eSignFormEntry.agencyConfirmDateBack__c; } } } - //鏈洿鏂板墠鐨勭粡閿�鍟嗗鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨�� - if(eSignFormEntry.agencyAutoSignUpStatus__c!=null &&eSignFormEntry.agencyAutoSignUpStatus__c!=''){ - oldESignAgencyStatusMap.put('A' + eSignForm.id, eSignFormEntry.agencyAutoSignUpStatus__c); - }else{ - oldESignAgencyStatusMap.put('A' + eSignForm.id, '鏃�'); - } - - } - if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { - //濡傛灉鍖婚櫌纭鏃ヤ负绌虹殑璇� 杩涘幓鍒ゆ柇鏇存柊鍖婚櫌瀹℃壒鐘舵�� - if (eSignFormEntry.salesHPManageConfirmDate__c == null) { - if (eSignFormEntry.IsHPSubmit__c == true) { - eSignForm.HPSignUpStatus__c = '鐢宠涓�'; - eSignForm.HPReject__c = false; - } else { - if (eSignFormEntry.HPScanDayBack__c != null && eSignFormEntry.IsHPScan__c) { - eSignForm.HPSignUpStatus__c = '鑽夋涓�'; - eSignForm.HPReject__c = false; - + // entryType__c鍖呭惈鍖婚櫌 + if (String.isNotBlank(eSignFormEntry.entryType__c) && eSignFormEntry.entryType__c.contains('鍖婚櫌')) { + if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { + //濡傛灉鍖婚櫌纭鏃ヤ负绌虹殑璇� 杩涘幓鍒ゆ柇鏇存柊鍖婚櫌瀹℃壒鐘舵�� + if (eSignFormEntry.salesHPManageConfirmDate__c == null) { + if (eSignFormEntry.IsHPSubmit__c == true) { + eSignForm.HPSignUpStatus__c = '鐢宠涓�'; + eSignForm.HPReject__c = false; + } else { + if (eSignFormEntry.HPScanDayBack__c != null && eSignFormEntry.IsHPScan__c) { + // 璋冩暣鑽夋涓殑璧嬪�奸�昏緫锛屽绔搷浣滅殑鎯呭喌涓嬫湁鍙兘鍏堢敵璇峰悗鑽夋 + // eSignForm.HPSignUpStatus__c = '鑽夋涓�'; + eSignForm.HPSignUpStatus__c = String.isBlank(eSignForm.HPSignUpStatus__c) ? '鑽夋涓�' : eSignForm.HPSignUpStatus__c; + eSignForm.HPReject__c = false; + } + } + } + //鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨�� + if(eSignFormEntry.HPSignUpStatus__c!=null &&eSignFormEntry.HPSignUpStatus__c!=''){ + oldESignHPStatusMap.put('H' + eSignForm.id, eSignFormEntry.HPSignUpStatus__c); + }else{ + oldESignHPStatusMap.put('H' + eSignForm.id, '鏃�'); + } + } + //濡傛灉娌″彉鍖栧垯涓嶆洿鏂� + if (eSignFormEntry.HPWorkflowEmailBack__c != eSignFormEntry.HPWorkflowEmail__c) { + //鍖婚櫌閭欢 + eSignForm.HPWorkflowEmail__c = eSignFormEntry.HPWorkflowEmailBack__c; + } + // 鏃ユ湡鏇存柊 + if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { + //鍖婚櫌鎵弿鏃� + if (eSignFormEntry.HPScanDayBack__c != null) { + eSignForm.HPScanDay__c = eSignFormEntry.HPScanDayBack__c; + } + //鍖婚櫌绛炬敹鏃� + if (eSignFormEntry.HPSignUpDateBack__c != null) { + eSignForm.HPSignUpDate__c = eSignFormEntry.HPSignUpDateBack__c; + } + //鍖婚櫌纭鏃� + if (eSignFormEntry.HPConfirmDateBack__c != null) { + eSignForm.HPConfirmDate__c = eSignFormEntry.HPConfirmDateBack__c; } } } - //鏈洿鏂板墠鐨勫尰闄㈠鎵圭姸鎬� 鐢ㄤ簬鏂囦欢绱姹囨�� - if(eSignFormEntry.HPSignUpStatus__c!=null &&eSignFormEntry.HPSignUpStatus__c!=''){ - oldESignHPStatusMap.put('H' + eSignForm.id, eSignFormEntry.HPSignUpStatus__c); - }else{ - oldESignHPStatusMap.put('H' + eSignForm.id, '鏃�'); - } - - } + //缁欒惀涓氬姪鐞嗚祴鍊� + eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c; + //瀛樹竴涓猧d + idlast = eSignFormEntry.Id; + //绛炬敹鍗昻ame鐢ㄤ綔鏂囦欢鍛藉悕 + name = eSignFormEntry.eSignForm__r.Name; + //鏄惁缁忛攢鍟嗘彁浜� + IsSubmit = eSignFormEntry.IsSubmit__c; + //鏄惁鍖婚櫌鎻愪氦 + IsHPSubmit = eSignFormEntry.IsHPSubmit__c; + //鏈�鍚庡綍鍏ヨ〃 + eSignForm.finalUpadteFrom__c = eSignFormEntry.Id; + //閿�鍞笭閬� 鍖哄垎鐩撮攢杩樻槸鍒嗛攢 + Sales_Root_Formula = eSignFormEntry.Sales_Root_Formula__c; + //褰曞叆绫诲瀷 + type = eSignFormEntry.entryType__c; // 娌℃湁鐢� - //濡傛灉娌″彉鍖栧垯涓嶆洿鏂� - if (eSignFormEntry.AgencyWorkflowEmailBack__c != eSignFormEntry.AgencyWorkflowEmail__c) { - //缁忛攢鍟嗛偖浠� - eSignForm.AgencyWorkflowEmail__c = eSignFormEntry.AgencyWorkflowEmailBack__c; + // 鎵�鏈夋病鏈夋病鏈夊鐞嗙殑entry閮借鏍囪涓哄鐞� + eSignFormEntry.IsHandled__c = true; + unprocessedEntries.add(eSignFormEntry); + // unprocessedEntries.put(eSignFormEntry.Id, eSignFormEntry); } - //濡傛灉娌″彉鍖栧垯涓嶆洿鏂� - if (eSignFormEntry.HPWorkflowEmailBack__c != eSignFormEntry.HPWorkflowEmail__c) { - //鍖婚櫌閭欢 - eSignForm.HPWorkflowEmail__c = eSignFormEntry.HPWorkflowEmailBack__c; - } - if (eSignFormEntry.agencyDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { - //缁忛攢鍟嗘壂鎻忔棩 - if (eSignFormEntry.agencyScanDayBack__c != null) { - eSignForm.agencyScanDay__c = eSignFormEntry.agencyScanDayBack__c; - } - //缁忛攢鍟嗙鏀舵棩 - if (eSignFormEntry.agencySignUpDateBack__c != null) { - eSignForm.agencySignUpDate__c = eSignFormEntry.agencySignUpDateBack__c; - } - //缁忛攢鍟嗙‘璁ゆ棩 - if (eSignFormEntry.agencyConfirmDateBack__c != null) { - eSignForm.agencyConfirmDate__c = eSignFormEntry.agencyConfirmDateBack__c; - } - } - - if (eSignFormEntry.HPDNSignUpStatus__c != '绛炬敹宸插畬鎴�') { - //鍖婚櫌鎵弿鏃� - if (eSignFormEntry.HPScanDayBack__c != null) { - eSignForm.HPScanDay__c = eSignFormEntry.HPScanDayBack__c; - } - //鍖婚櫌绛炬敹鏃� - if (eSignFormEntry.HPSignUpDateBack__c != null) { - eSignForm.HPSignUpDate__c = eSignFormEntry.HPSignUpDateBack__c; - } - //鍖婚櫌纭鏃� - if (eSignFormEntry.HPConfirmDateBack__c != null) { - eSignForm.HPConfirmDate__c = eSignFormEntry.HPConfirmDateBack__c; - } - } - - //缁欒惀涓氬姪鐞嗚祴鍊� - eSignForm.Sales_assistant_name_text__c = eSignFormEntry.Sales_assistant_ID__c; - //瀛樹竴涓猧d - idlast = eSignFormEntry.Id; - //绛炬敹鍗昻ame鐢ㄤ綔鏂囦欢鍛藉悕 - name = eSignFormEntry.eSignForm__r.Name; - //鏄惁缁忛攢鍟嗘彁浜� - IsSubmit = eSignFormEntry.IsSubmit__c; - //鏄惁鍖婚櫌鎻愪氦 - IsHPSubmit = eSignFormEntry.IsHPSubmit__c; - //鏈�鍚庡綍鍏ヨ〃 - eSignForm.finalUpadteFrom__c = eSignFormEntry.Id; - //閿�鍞笭閬� 鍖哄垎鐩撮攢杩樻槸鍒嗛攢 - Sales_Root_Formula = eSignFormEntry.Sales_Root_Formula__c; - //褰曞叆绫诲瀷 - type = eSignFormEntry.entryType__c; + // 2023-03-16 ssm 浼樺寲閫昏緫锛岄伩鍏嶅悓鏃跺璁惧鍋氱郴缁熸洿鏂颁互鍙婂尰闄㈠拰缁忛攢鍟嗗湪鍚屼竴鎵规锛�15鍒嗛挓鍐咃級涓婁紶鏁版嵁 end } system.debug('绛炬敹鍗曞璞�-----锛�' + eSignForm); @@ -715,11 +774,15 @@ System.debug('fileIdList锛�' + fileIdList); System.debug('fileList锛�' + fileList); //鐢ㄤ簬鏈�鍚巌nsert 闄勪欢 - List<Attachment> insertAttactment = new List<Attachment>(); + //zhj Attachment To AWS 2023-02-06 + //List<Attachment> insertAttactment = new List<Attachment>(); + List<FileAddress__c> insertAttactment = new List<FileAddress__c>(); //闄勪欢 start - List<Attachment> attachMentList = [SELECT id, parentId, Body, Name, ContentType,Description from Attachment where parentId IN :fileList and Description!='鐢靛瓙绛炬敹鍗曪細宸插鐞�']; + //List<Attachment> attachMentList = [SELECT id, parentId, Body, Name, ContentType,Description from Attachment where parentId IN :fileList and Description!='鐢靛瓙绛炬敹鍗曪細宸插鐞�']; + List<FileAddress__c> attachMentList = [SELECT id, ParentRecordId__c, FileName__c,subInfoType__c,AWS_File_Key__c,DownloadLink__c,ViewLink__c from FileAddress__c where ParentRecordId__c IN :fileList and subInfoType__c !='鐢靛瓙绛炬敹鍗曪細宸插鐞�']; //淇宸插鐞嗘暟鎹� 闄勪欢娌℃洿鏂� 鍗虫病鏈夐檮浠惰兘鎻愪氦鐨刡ug 绮剧悽鎶�鏈� wql 2021/01/19 start - List<Attachment> eSignEntryAttachMentList = new List<Attachment>(); + //List<Attachment> eSignEntryAttachMentList = new List<Attachment>(); + List<FileAddress__c> eSignEntryAttachMentList = new List<FileAddress__c>(); //鏂囦欢鏁伴噺 鐢ㄤ簬鏂囦欢鍛藉悕 Integer agencyCount = 0; Integer hpCount = 0; @@ -749,15 +812,15 @@ system.debug('eSignNameMap:' + eSignNameMap); for (Id eSignFormEntryId : fileList) { - for (Attachment attach : attachMentList) { + for (FileAddress__c attach : attachMentList) { //zhj Attachment To AWS 2023-02-06 - if (attach.parentId == eSignFormEntryId) { - Id eid = eSignFlieIdMap.get(attach.parentId); + if (attach.ParentRecordId__c == eSignFormEntryId) { + Id eid = eSignFlieIdMap.get(attach.ParentRecordId__c); system.debug('eid:' + eid); name = eSignNameMap.get(eid); system.debug('name:' + name); - type = eSignTypeMap.get(attach.parentId); + type = eSignTypeMap.get(attach.ParentRecordId__c); //鍥犱负澶栧眰寰幆鏄腑闂磋〃 濡傛灉2鏉′互涓婂綍鍏ヨ〃閮芥湁缁忛攢鍟嗛檮浠� 鍒欎娇鐢ㄦ渶鏂版瀯寤虹殑缁忛攢鍟嗛檮浠舵暟閲忔潵鍛藉悕 //鍚﹀垯鍙栨湭鏇存柊涔嬪墠鏈夌殑缁忛攢鍟嗛檮浠舵暟閲� 骞朵笖 涓嶆槸1涓綍鍏ヨ〃澶氫釜闄勪欢 涔熷氨鏄痜alse鐨勬椂鍊� 鍙栨ā鎷熺殑鏈�鏂版暟閲� @@ -852,20 +915,25 @@ // title = title +'.jpg'; // } //鍒ゆ柇涓�涓嬫牸寮忥紝涓嶇劧涓嬭浇涓嬫潵鏄被鍨嬫槸鎵�鏈夋枃浠� 鏃犳硶鎵撳紑 - if (attach.Name.lastIndexOf('.') > -1) { - title = title + attach.Name.substring(attach.Name.lastIndexOf('.')); + //zhj Attachment To AWS 2023-02-06 start + if (attach.FileName__c.lastIndexOf('.') > -1) { + title = title + attach.FileName__c.substring(attach.FileName__c.lastIndexOf('.')); } - Attachment newAttachment = attach.clone(); - newAttachment.parentId = eid; - newAttachment.name = title; + //Attachment newAttachment = attach.clone(); + FileAddress__c newAttachment = attach.clone(); + newAttachment.ParentRecordId__c = eid; + newAttachment.FileName__c = title; // newAttachment.ContentType =attach.ContentType; //瑕佹洿鏂扮殑绛炬敹鍗曢檮浠� insertAttactment.add(newAttachment); //鍙嶆洿鏂板綍鍏ヨ〃鐨勯檮浠� 鐢ㄦ潵鍒ゆ柇闄勪欢鏄惁琚洿鏂� - Attachment oldAttachment = new Attachment(); + //Attachment oldAttachment = new Attachment(); + FileAddress__c oldAttachment = new FileAddress__c(); oldAttachment.Id = attach.Id; - oldAttachment.Description = '鐢靛瓙绛炬敹鍗曪細宸插鐞�'; + //oldAttachment.Description = '鐢靛瓙绛炬敹鍗曪細宸插鐞�'; + oldAttachment.subInfoType__c = '鐢靛瓙绛炬敹鍗曪細宸插鐞�'; + //zhj Attachment To AWS 2023-02-06 end eSignEntryAttachMentList.add(oldAttachment); } @@ -902,13 +970,14 @@ Integer h = 0; //鍐呭眰鎵�鏈夐渶瑕佹洿鏂扮殑闄勪欢 - for (Attachment att : insertAttactment) { + //for (Attachment att : insertAttactment) { + for (FileAddress__c att : insertAttactment) { //zhj Attachment To AWS 2023-02-06 if (es.Id != null) { - if (es.Id.equals(att.parentId)) { + if (es.Id.equals(att.ParentRecordId__c)) { if (es.agencyAutoSignUpStatus__c != null) { if (es.agencyAutoSignUpStatus__c.equals('鐢宠涓�') && oldESignAgencyStatusMap.size()>0) { if(!oldESignAgencyStatusMap.get('A' + es.Id).equals('鐢宠涓�')){ - if (att.Name.substring(0, 1).equals('A')) { + if (att.FileName__c.substring(0, 1).equals('A')) { //zhj Attachment To AWS 2023-02-06 a ++; } } @@ -918,7 +987,7 @@ if (es.HPSignUpStatus__c != null) { if (es.HPSignUpStatus__c.equals('鐢宠涓�') && oldESignHPStatusMap.size()>0) { if(!oldESignHPStatusMap.get('H' + es.Id).equals('鐢宠涓�')){ - if (att.Name.substring(0, 1).equals('H')) { + if (att.FileName__c.substring(0, 1).equals('H')) { //zhj Attachment To AWS 2023-02-06 h ++; } } @@ -958,6 +1027,21 @@ } //鐢靛瓙绛炬敹鍗� 澧炲姞鏈鏇存柊闄勪欢鏁伴噺 2020/01/07 绮剧悽鎶�鏈� wql end //鏂囦欢 end + } + // 鏇存柊绛炬敹鍗曞綍鍏ヨ〃 + if(unprocessedEntries.size() > 0) { + Database.SaveResult[] lsr = Database.update(unprocessedEntries, false); + // Database.SaveResult[] lsr = Database.update(unprocessedEntries.values(), false); + eb.setError(lsr, MAXERRORCNT, eSignFormEntry__c.sObjectType); + for (Integer tIdx = 0; tIdx < lsr.size(); tIdx++) { + Database.SaveResult sr = lsr[tIdx]; + System.debug('sr.isSuccess:' + sr.isSuccess()); + if (!sr.isSuccess()) { + Database.Error emsg = sr.getErrors()[0]; + iflog.ErrorLog__c += 'ERROR ' + unprocessedEntries[tIdx].Id + ' eSignFormEntry__c:' + emsg + '\n'; + // iflog.ErrorLog__c += 'ERROR ' + unprocessedEntries.values()[tIdx].Id + ' eSignFormEntry__c:' + emsg + '\n'; + } + } } system.debug('鏇存柊鐨勭鏀跺崟锛�' + eSignFormList); //鏇存柊绛炬敹鍗曟槑缁嗗苟娣诲姞鏃ュ織 @@ -1033,7 +1117,8 @@ if (eSignFormDeleteList.size() > 0) { //寰幆閬嶅巻id 鍒犻櫎鏂囦欢 List<String> fileDeleteIdList = new List<String> (); - List<Attachment> deleteAttachmentList = new List<Attachment>(); + //List<Attachment> deleteAttachmentList = new List<Attachment>(); + List<FileAddress__c> deleteAttachmentList = new List<FileAddress__c>(); //zhj Attachment To AWS 2023-02-06 for (eSignFormEntry__c eSigf : eSignFormDeleteList) { fileDeleteIdList.add(eSigf.Id); @@ -1043,13 +1128,24 @@ // 2022-02-28 shashiming Apex heap size too large // 鍘绘帀Body瀛楁 - List<Attachment> attachMentList = [SELECT id, parentId, Name, ContentType,Description from Attachment where parentId = :fileDeleteIdList]; - + //List<Attachment> attachMentList = [SELECT id, parentId, Name, ContentType,Description from Attachment where parentId = :fileDeleteIdList]; + List<FileAddress__c> attachMentList = [SELECT id, ParentRecordId__c, FileName__c,AWS_File_Key__c from FileAddress__c where ParentRecordId__c = :fileDeleteIdList]; //zhj Attachment To AWS 2023-02-06 + List<Transaction_Log__c> tranList = new List<Transaction_Log__c>(); if (attachMentList.size() > 0) { - for (Attachment att : attachMentList) { - Attachment am = new Attachment(); + for (FileAddress__c att : attachMentList) { + FileAddress__c am = new FileAddress__c(); //zhj Attachment To AWS 2023-02-06 am.Id = att.Id; deleteAttachmentList.add(am); + //zhj 鏂板鏃ュ織锛屽垹闄WS鐨勯檮浠� 2023-02-17 + Transaction_Log__c tran = new Transaction_Log__c(); + tran.AWS_Data_Id__c = att.AWS_File_Key__c; + tran.Status__c = 'In Process'; + tran.Module__c = '绛炬敹鍗曢檮浠跺垹闄�'; + tranList.add(tran); + } + //鏂板鏃ュ織锛屽垹闄WS鐨勯檮浠� zhj 2023-02-17 + if(tranList.size() > 0){ + insert tranList; } //鍒犻櫎鏂囦欢 if (deleteAttachmentList.size() > 0) { @@ -1060,7 +1156,8 @@ } //鍒犻櫎褰曞叆琛� - delete eSignFormDeleteList; + System.debug('鍒犻櫎褰曞叆琛� : ' + eSignFormDeleteList); + // delete eSignFormDeleteList; // 2023-03-14 ssm 鏆傛椂涓嶈嚜鍔ㄥ垹闄や腑闂磋〃鏁版嵁锛屾柟渚跨煭鏈熷唴鍋歝heck } } @TestVisible @@ -1251,7 +1348,6 @@ } } } - } public class ErrorBean { // public String objectName; @@ -1302,4 +1398,515 @@ public String scName; public String scTime; } + + public static void improveTestRate(){ + Integer i = 0; + 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++; + 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++; + 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++; + 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++; + 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