From bfca7a84bec815da594f1d12558535ed06d2490b Mon Sep 17 00:00:00 2001
From: 沙世明 <shashiming@prec-tech.com>
Date: 星期二, 13 九月 2022 09:57:32 +0800
Subject: [PATCH] 本地提交备份
---
force-app/main/default/classes/RepairAgainAnHandler.cls | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 117 insertions(+), 2 deletions(-)
diff --git a/force-app/main/default/classes/RepairAgainAnHandler.cls b/force-app/main/default/classes/RepairAgainAnHandler.cls
index fb19855..dbe415b 100644
--- a/force-app/main/default/classes/RepairAgainAnHandler.cls
+++ b/force-app/main/default/classes/RepairAgainAnHandler.cls
@@ -3,7 +3,6 @@
private Map<Id, RepairAgainAn__c> oldMap;
private List<RepairAgainAn__c> newList;
private List<RepairAgainAn__c> oldList;
-
public RepairAgainAnHandler() {
this.newMap = (Map<Id, RepairAgainAn__c>) Trigger.newMap;
this.oldMap = (Map<Id, RepairAgainAn__c>) Trigger.oldMap;
@@ -13,12 +12,56 @@
protected override void beforeInsert() {
setPhotoImgText();
+ setRepairAgainName();
}
protected override void beforeUpdate() {
setPhotoImgText();
+ setStatusChange();
}
- public static Set<Id> RA_Ids = new Set<Id>();
+
+ protected override void afterUpdate(){
+ submitRepair();
+ }
+ public static Set<Id> RA_Ids = new Set<Id>();
+
+ //鍐嶆敞鍐屽垎鏋� 闇�姹� 鏂板瀛楁 20220811 sx start
+ public static List<Id> openRepairAgainRepairIds = new List<Id>();
+ public static List<Id> finalRepairAgainRepairIds = new List<Id>();
+ //鍐嶆敞鍐屽垎鏋� 闇�姹� 鏂板瀛楁 20220811 sx end
+
+
+ private void setRepairAgainName() {
+
+ Set<Id> repairSet = new Set<Id>();
+
+ for(RepairAgainAn__c ra : newList){
+ repairSet.add(ra.Repair__c);
+ }
+
+ Map<Id,Repair__c> repairMap = new Map<Id,Repair__c>([SELECT Id,Name, (select Id from reparirAgain01__r) from Repair__c where id in :repairSet]);
+
+ for(RepairAgainAn__c ra : newList){
+
+ if(repairMap.containsKey(ra.Repair__c)){
+
+ Integer repairSize = repairMap.get(ra.Repair__c).reparirAgain01__r.size();
+
+ String repairSizeString = '000' + repairMap.get(ra.Repair__c).reparirAgain01__r.size();
+
+ String cutString = repairSizeString.substring(repairSizeString.length()-3, repairSizeString.length());
+
+ if(repairSize == 0) {
+ ra.Name = repairMap.get(ra.Repair__c).Name + '_001';
+ }else{
+ ra.Name = repairMap.get(ra.Repair__c).Name + '_' + cutString;
+ }
+ }
+ }
+
+ }
+
+
private void setPhotoImgText() {
for (RepairAgainAn__c ra : newList) {
System.debug('ra.Dectect_Picture1__c2:' + ra.Dectect_Picture1__c);
@@ -170,4 +213,76 @@
}
}
}
+
+ public void setStatusChange() {
+ Map<String,id> rtmaps = new Map<String,id>();
+ List<RecordType> rtIds = [SELECT Id,Name FROM RecordType where SobjectType='RepairAgainAn__c'];
+
+ Date todayTemp = Date.today();
+ for (RecordType rt : rtIds) {
+ rtmaps.put(rt.Name, rt.Id);
+ }
+ for (RepairAgainAn__c raa : newList) {
+ RepairAgainAn__c raaOld = oldMap.get(raa.id);
+ //鐘舵�佸彉鏇翠负鑽夋涓�
+ if (String.isBlank(raa.RepairAgain_Status__c)) {
+ raa.RepairAgain_Status__c = '鑽夋涓�';
+ }
+
+ //褰揜C鐨勫唴瀹瑰~鍐欏畬姣�
+ if(raa.RepairAgain_Status__c == 'RC濉啓瀹屾瘯' && raaOld.RepairAgain_Status__c != 'RC濉啓瀹屾瘯') {
+ raa.RecordTypeId = rtmaps.get('2.OSH');
+ // 鍙戣捣鍐嶆敞鍐屽垎鏋愭椂闂�
+ raa.Start_RepairAgainAn_Day__c = todayTemp;
+ // TODO 鍜孲AP浜や簰 OPEN
+ openRepairAgainRepairIds.add(raa.Repair__c);
+ }
+
+ //褰揙SH鍙楃悊
+ if(raa.RepairAgain_Status__c == 'OSH鍙楃悊' && raaOld.RepairAgain_Status__c != 'OSH鍙楃悊') {
+ // OSH鍙楃悊鏃�
+ raa.OSH_Accept_Day__c = todayTemp;
+ }
+
+ //褰揙SH鍐呭濉啓瀹屾瘯
+ if(raa.RepairAgain_Status__c == 'OSH濉啓瀹屾瘯' && raaOld.RepairAgain_Status__c != 'OSH濉啓瀹屾瘯') {
+ raa.RecordTypeId = rtmaps.get('3.OCSM');
+ // OSH鍒ゅ畾缁撹纭鏃�
+ raa.OSH_End_Day__c = todayTemp;
+ }
+
+ //褰揙CSM璺熻繘瀹屾瘯
+ if(raa.RepairAgain_Status__c == '瀹屾瘯' && raaOld.RepairAgain_Status__c != '瀹屾瘯') {
+ raa.RecordTypeId = rtmaps.get('4.Final瀹屾瘯');
+ // OCSM鍒ゅ畾缁撹纭鏃�
+ raa.OCSM_End_Day__c = todayTemp;
+ // TODO 鍜孲AP浜や簰
+ finalRepairAgainRepairIds.add(raa.Repair__c);
+ }
+ }
+ }
+
+ public void submitRepair(){
+
+ if(openRepairAgainRepairIds.size() > 0 || finalRepairAgainRepairIds.size() > 0){
+
+ BatchIF_Log__c iflog = new BatchIF_Log__c();
+ iflog.Type__c = 'NFM103';
+ iflog.Log__c = 'callout start\n';
+ insert iflog;
+
+ if(openRepairAgainRepairIds.size() > 0) {
+ //鍏宠仈涓�涓猳pen鐨勫啀淇悊鍒嗘瀽锛屼紶X
+ NFM103Controller.callout(iflog.Id, openRepairAgainRepairIds,'X');
+ }
+
+ if(finalRepairAgainRepairIds.size() > 0) {
+ //鍏宠仈鍐嶄慨鐞嗗垎鏋愬畬姣曪紝浼燜
+ NFM103Controller.callout(iflog.Id, finalRepairAgainRepairIds,'F');
+ }
+
+ }
+
+
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1