From d8dc84a3d56df839895f1c417a4d9cbee763d262 Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期五, 03 三月 2023 14:50:59 +0800
Subject: [PATCH] gzw 测试环境代码更新
---
force-app/main/default/classes/ESignFormHandler.cls | 84 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 79 insertions(+), 5 deletions(-)
diff --git a/force-app/main/default/classes/ESignFormHandler.cls b/force-app/main/default/classes/ESignFormHandler.cls
index 85b0ad6..48a68b9 100644
--- a/force-app/main/default/classes/ESignFormHandler.cls
+++ b/force-app/main/default/classes/ESignFormHandler.cls
@@ -1,8 +1,8 @@
public without sharing class ESignFormHandler extends Oly_TriggerHandler {
- private Map<Id, eSignForm__c> newMap;
- private Map<Id, eSignForm__c> oldMap;
- private List<eSignForm__c> newList;
- private List<eSignForm__c> oldList;
+ private Map<Id, eSignForm__c> newMap;
+ private Map<Id, eSignForm__c> oldMap;
+ private List<eSignForm__c> newList;
+ private List<eSignForm__c> oldList;
public ESignFormHandler() {
@@ -21,6 +21,10 @@
}
protected override void afterInsert() {
afterExecute();
+ // 杩涘彛鍗曡瘉 start
+ // 绛炬敹鍗曠敓鎴愬悗鎻掑叆杩涘彛鍗曡瘉瀵瑰簲鐨勬暟鎹�
+ insertFrameNumManage();
+ // 杩涘彛鍗曡瘉 end
}
protected override void afterUpdate() {
@@ -32,7 +36,7 @@
for(eSignForm__c nObj : newList) {
//DN鍙蜂笉涓虹┖
if(String.isNotBlank(nObj.DNNameNo0__c)){
- Blob bodyBlob=Blob.valueOf(nObj.DNNameNo0__c);
+ Blob bodyBlob=Blob.valueOf(nObj.DNNameNo0__c);
nObj.DNName0_base64__c =String.valueOf(EncodingUtil.base64Encode(bodyBlob));
}
//缁忛攢鍟嗙鐞嗙紪鐮佷笉涓虹┖
@@ -61,4 +65,74 @@
update eSignFormEntryList;
}
}
+
+ private void insertFrameNumManage() {
+ Set<String> IdSet = new Set<String>();
+ Map<String,Id> eSignFormMap = new Map<String,Id>();
+ Map<String,String> DNMap = new Map<String,String>();
+ for (eSignForm__c nObj : newList) {
+ IdSet.add(nObj.Statu_Achievements_DN__c);
+ }
+ Map<String,Statu_Achievements_DN_details__c> sandMap = new Map<String,Statu_Achievements_DN_details__c>();
+ Map<String,Statu_Achievements_DN_details__c> UpdateSandMap = new Map<String,Statu_Achievements_DN_details__c>();
+ Map<String,String> UpdateFIdMap = new Map<String,String>();
+ // 鏌ヨ鏄庣粏 鍦ㄦ満韬彿绠$悊涓湁娌★紝娌℃湁鐢熸垚,鏈夋洿鏂� 绛炬敹鍗曘�佸彂璐N鏄庣粏銆佷繚鏈夎澶�
+ for(Statu_Achievements_DN_details__c dn:[SELECT Id,SerialNumber__c,asset__c,
+ Statu_Achievements_DN__c,SerialNoorLotNo_Raw__c,TracingCode_Raw__c,
+ OTCode_Raw__c,asset__r.Name,QTY__c,Statu_Achievements_DN__r.Name
+ FROM Statu_Achievements_DN_details__c
+ WHERE Statu_Achievements_DN__c =:IdSet ]){
+ sandMap.put(dn.TracingCode_Raw__c,dn);
+ DNMap.put(dn.TracingCode_Raw__c,dn.Statu_Achievements_DN__r.Name);
+ }
+ for(FrameNumManage__c f:[SELECT Id,ManagementCode__c FROM FrameNumManage__c WHERE ManagementCode__c in :sandMap.keySet()]){
+ sandMap.remove(f.ManagementCode__c);
+ // 鏇存柊鏈鸿韩鍙风鐞�
+ UpdateSandMap.put(f.ManagementCode__c,sandMap.get(f.ManagementCode__c));
+ UpdateFIdMap.put(f.ManagementCode__c, f.Id);
+ }
+ for(eSignForm__c es: newList){
+ for(String key:DNMap.keySet()){
+ if(DNMap.get(key) == es.DNName__c){
+ eSignFormMap.put(key,es.Id);
+ }
+ }
+ }
+ if(sandMap.size() > 0){
+ List<FrameNumManage__c> infnmList = new List<FrameNumManage__c>();
+ for (Statu_Achievements_DN_details__c s:sandMap.values()) {
+ FrameNumManage__c temp = new FrameNumManage__c();
+ temp.Name = s.TracingCode_Raw__c;
+ temp.ManagementCode__c = s.TracingCode_Raw__c;
+ temp.SerialNumberS__c = s.SerialNoorLotNo_Raw__c+'('+s.TracingCode_Raw__c+')';
+ temp.SerialNumber__c = s.SerialNoorLotNo_Raw__c;
+ temp.Num__c = s.QTY__c;
+ temp.CheckOutNo__c = s.Statu_Achievements_DN__r.Name.subString(2);//鍙戣揣DN 鐨刵ame鍘绘帀鍓嶄袱浣嶇殑 00
+
+ temp.Statu_Achievements_DN_details__c = s.Id;
+ temp.Asset__c = s.asset__c;
+ temp.signInForm__c = eSignFormMap.get(s.TracingCode_Raw__c);
+
+ temp.Material__c = s.OTCode_Raw__c;
+ temp.MaterialDepict__c = s.asset__r.Name;
+ infnmList.add(temp);
+ }
+ if(infnmList.size() > 0){
+ insert infnmList;
+ // Database.executeBatch(new SetFrameNumManageBatch(), 100);
+ }
+ }
+ if(UpdateSandMap.size() > 0){
+ List<FrameNumManage__c> upfnmList = new List<FrameNumManage__c>();
+ for (Statu_Achievements_DN_details__c s:UpdateSandMap.values()) {
+ FrameNumManage__c temp = new FrameNumManage__c();
+ temp.id = UpdateFIdMap.get(s.TracingCode_Raw__c);
+ temp.Statu_Achievements_DN_details__c = s.Id;
+ temp.Asset__c = s.asset__c;
+ temp.signInForm__c = eSignFormMap.get(s.TracingCode_Raw__c);
+ upfnmList.add(temp);
+ }
+ update upfnmList;
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1