From 8749760be3e1ba64edd4ada506bdf628e5bee852 Mon Sep 17 00:00:00 2001
From: unknown <sunxia@prec-tech.com>
Date: 星期三, 23 八月 2023 14:54:38 +0800
Subject: [PATCH] 再修理返品分析-修理 按钮

---
 force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js          |   78 +++++++++++++++
 force-app/main/default/classes/lexRepairAgainAnController.cls                          |  195 +++++++++++++++++++++++++++++++++++++++
 force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js-meta.xml |   11 ++
 force-app/main/default/classes/lexRepairAgainAnController.cls-meta.xml                 |    5 +
 force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.html        |    3 
 5 files changed, 292 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/lexRepairAgainAnController.cls b/force-app/main/default/classes/lexRepairAgainAnController.cls
new file mode 100644
index 0000000..d3e5329
--- /dev/null
+++ b/force-app/main/default/classes/lexRepairAgainAnController.cls
@@ -0,0 +1,195 @@
+/**
+ * *
+    ODescription:
+    GAuthor: sun xia
+    @Date: 2023-07-17 14:31:56
+    GIastEditors: sun xia
+    @IastEditTime: 2023-07-27 14:31:56
+ * */
+public without sharing class lexRepairAgainAnController{
+
+    @AuraEnabled
+    public static InitData initRepair(String recordId){
+        InitData res = new InitData();
+        try {
+            List<Repair__c> reList = [SELECT Id, Name, SAP_Service_Repair_No__c FROM Repair__c WHERE Id = :recordId];
+            List<RepairAgainAn__c> raaList = [SELECT Id, Repair__c, RepairAgain_Status__c, ActionOCM__c, Technical_Responsibility__c, 
+                                                OCM_Confirmer__c, RepairAgainAn_Approve_status__c, JudgementOSH__c, AnalysisOSH__c, AnalysisReasonOSH__c, ActionOSH__c,
+                                                JudgementOSH2__c, AnalysisOSH2__c, AnalysisReasonOSH2__c, ActionOSH2__c, RC_Confirmer__c, RepairLast__c FROM RepairAgainAn__c where Repair__c = :recordId];
+            if(reList.size()>0){
+                    res.sAPServiceRepairNo = reList[0].SAP_Service_Repair_No__c;      
+            }
+            if(raaList.size()>0){
+                res.repairAgainAnLength = raaList.size();
+            }
+        }
+        catch (Exception e) {
+            System.debug('lexRepairAgainAnController==='+e.getMessage());
+        }
+        
+        
+        return res;
+    }
+
+    //浠庝慨鐞嗗崟鑾峰彇Id 鏌ユ湁鏃犲啀淇悊杩斿搧鍒嗘瀽
+    @AuraEnabled
+    public static InitData init(String recordId){
+        InitData res = new InitData();
+        try {  
+            List<Repair__c> reList = [SELECT Id, Name, SAP_Service_Repair_No__c FROM Repair__c WHERE Id = :recordId];
+            List<RepairAgainAn__c> raaList = [SELECT Id, Repair__c, RepairAgain_Status__c, ActionOCM__c, Technical_Responsibility__c, 
+                                            OCM_Confirmer__c, RepairAgainAn_Approve_status__c, JudgementOSH__c, AnalysisOSH__c, AnalysisReasonOSH__c, ActionOSH__c,
+                                            JudgementOSH2__c, AnalysisOSH2__c, AnalysisReasonOSH2__c, ActionOSH2__c, RC_Confirmer__c, RepairLast__c FROM RepairAgainAn__c where Id = :recordId];
+            //Repair__c =:recordId AND RepairAgain_Status__c !='鍙栨秷'
+            if(raaList.size()>0){
+                res.repairAgainAnLength = raaList.size();
+                res.repairAgainStatus = raaList[0].RepairAgain_Status__c;
+                res.actionOCM = raaList[0].ActionOCM__c;
+                res.oCMConfirmer = raaList[0].OCM_Confirmer__c;
+                res.technicalResponsibility = raaList[0].Technical_Responsibility__c;
+                res.repairAgainAnApproveStatus = raaList[0].RepairAgainAn_Approve_status__c;
+                res.judgementOSH = raaList[0].JudgementOSH__c;
+                res.analysisOSH = raaList[0].AnalysisOSH__c;
+                res.analysisReasonOSH = raaList[0].AnalysisReasonOSH__c;
+                res.actionOSH = raaList[0].ActionOSH__c;
+                res.judgementOSH2 = raaList[0].JudgementOSH2__c;
+                res.analysisOSH2 = raaList[0].AnalysisOSH2__c;
+                res.analysisReasonOSH2 = raaList[0].AnalysisReasonOSH2__c;
+                res.actionOSH2 = raaList[0].ActionOSH2__c;
+                res.rCConfirmer = raaList[0].RC_Confirmer__c;
+                res.repairLast = raaList[0].RepairLast__c;
+                res.repairAgainAnName = raaList[0].Name;
+            }else{
+                res.repairAgainAnLength = 0;
+            }
+
+            if(reList.size()>0){
+                res.sAPServiceRepairNo = reList[0].SAP_Service_Repair_No__c;      
+            }
+            System.debug('reList======='+reList);
+            System.debug('lexRepairAgainAnController==='+res);
+        }
+        catch (Exception e) {
+            System.debug('lexRepairAgainAnController==='+e.getMessage());
+        }
+        return res;
+    }
+
+    //鏇存柊OCSM鎻愪氦鐘舵��
+    @AuraEnabled
+    public static String updateStatus(String recordId, String updateStatus){
+        RepairAgainAn__c updateRepairAgainAn = new RepairAgainAn__c();
+        try {
+           updateRepairAgainAn.Id = recordId;
+            updateRepairAgainAn.OCSM_Approve_Status__c = updateStatus;
+            UPDATE updateRepairAgainAn; 
+            return 'SUCCESS';
+        }
+        catch (Exception e) {
+            System.debug('lexRepairAgainAnController===updateStatus'+e.getMessage());
+            return 'ERROR';
+        }
+    }
+
+    //鏇存柊鍐嶄慨鐞嗚繑鍝佸垎鏋愮姸鎬�
+    @AuraEnabled
+    public static String updateRepairAgainStatus(String recordId, String updateStatus){
+        RepairAgainAn__c updateRepairAgainAn = new RepairAgainAn__c();
+        try {
+           updateRepairAgainAn.Id = recordId;
+            updateRepairAgainAn.RepairAgain_Status__c  = updateStatus;
+            UPDATE updateRepairAgainAn; 
+
+            // Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest(); 
+            // req.setObjectId(recordId); 
+            // // 璁剧疆瀵硅薄ID锛屽彲浠ユ槸瑕佹彁浜ゅ鎵圭殑璁板綍ID 
+            // Approval.ProcessResult result = Approval.process(req); 
+            // if (result.isSuccess()) { System.debug('Approval request successfully submitted.'); } 
+            // else { System.debug('Approval request submission failed: ' + result.getErrors()[0].getMessage()); }
+            return 'SUCCESS';
+        }
+        catch (Exception e) {
+            System.debug('lexRepairAgainAnController===updateRepairAgainStatus'+e.getMessage());
+            return 'ERROR';
+        }
+    }
+
+    //鏇存柊OSH瀹℃壒鐘舵��
+    @AuraEnabled
+    public static String updateRepairAgainAnApproveStatus(String recordId, String updateStatus){
+        RepairAgainAn__c updateRepairAgainAn = new RepairAgainAn__c();
+        try {
+            updateRepairAgainAn.Id = recordId;
+            updateRepairAgainAn.RepairAgainAn_Approve_status__c  = updateStatus;
+            updateRepairAgainAn.OSH_Detector__c = UserInfo.getUserId();
+            UPDATE updateRepairAgainAn; 
+            return 'SUCCESS';
+        }
+        catch (Exception e) {
+            System.debug('lexRepairAgainAnController===updateRepairAgainAnApproveStatus'+e.getMessage());
+            return 'ERROR';
+        }
+    }
+
+
+    //鏇存柊OSH瀹℃壒鐘舵�� 浜屾
+    @AuraEnabled
+    public static String updateRepairAgainAnApproveStatus2(String recordId, String judgementOSH2){
+        RepairAgainAn__c updateRepairAgainAn = new RepairAgainAn__c();
+        try {
+            updateRepairAgainAn.Id = recordId;
+            if(judgementOSH2.equals('鏁呴殰鏈啀鐜�')){
+                updateRepairAgainAn.RepairAgain_Status__c = 'OSH濉啓瀹屾瘯';
+            }else{
+                updateRepairAgainAn.RepairAgainAn_Approve_status2__c = '宸叉彁浜�';
+            }
+            updateRepairAgainAn.OSH_Detector2__c = UserInfo.getUserId();
+            UPDATE updateRepairAgainAn;
+            return 'SUCCESS';
+        }
+        catch (Exception e) {
+            System.debug('lexRepairAgainAnController===updateRepairAgainAnApproveStatus2'+e.getMessage());
+            return 'ERROR';
+        }
+        
+    }
+
+    public class InitData{
+        @AuraEnabled
+        public Integer repairAgainAnLength;      //鍐嶄慨鐞嗚繑鍝佷釜鏁�
+        @AuraEnabled
+        public String repairAgainAnName;
+        @AuraEnabled
+        public String sAPServiceRepairNo;       //淇悊.SAP_Service_Repair_No__c
+        @AuraEnabled
+        public String repairAgainStatus;        //鐘舵��
+        @AuraEnabled
+        public String actionOCM;                //瀹㈡埛瀵瑰簲锛圤CSM锛�
+        @AuraEnabled
+        public String technicalResponsibility;      //鎶�鏈媴褰�
+        @AuraEnabled
+        public String oCMConfirmer;             //OCSM纭鑰�
+        @AuraEnabled
+        public String repairAgainAnApproveStatus;   //OSH瀹℃壒鐘舵��
+        @AuraEnabled
+        public String judgementOSH;             //缁撹锛圤SH锛�
+        @AuraEnabled
+        public String analysisOSH;              //鎶�鏈娴嬪垎鏋愶紙OSH鍖荤枟鍝佽川淇濋殰閮ㄥ~鍐欙級
+        @AuraEnabled
+        public String analysisReasonOSH;        //鎶�鏈娴嬪垎鏋愬師鍥�
+        @AuraEnabled
+        public String actionOSH;                //鎶�鏈搴�
+        @AuraEnabled
+        public String judgementOSH2;            //缁撹锛圤SH锛変簩娆�
+        @AuraEnabled
+        public String analysisOSH2;             //鎶�鏈娴嬪垎鏋愶紙OSH鍖荤枟鍝佽川淇濋殰閮ㄥ~鍐欙級浜屾
+        @AuraEnabled
+        public String analysisReasonOSH2;       //鎶�鏈娴嬪垎鏋愬師鍥�(浜屾)
+        @AuraEnabled
+        public String actionOSH2;               //鎶�鏈搴�(浜屾)
+        @AuraEnabled
+        public String rCConfirmer;              //
+        @AuraEnabled
+        public String repairLast;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/lexRepairAgainAnController.cls-meta.xml b/force-app/main/default/classes/lexRepairAgainAnController.cls-meta.xml
new file mode 100644
index 0000000..541584f
--- /dev/null
+++ b/force-app/main/default/classes/lexRepairAgainAnController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>50.0</apiVersion>
+    <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.html b/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.html
new file mode 100644
index 0000000..af9fa97
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.html
@@ -0,0 +1,3 @@
+<template>
+
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js b/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js
new file mode 100644
index 0000000..2b04629
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js
@@ -0,0 +1,78 @@
+import { LightningElement, track, wire, api } from 'lwc';
+import { CurrentPageReference } from 'lightning/navigation';
+import { NavigationMixin } from 'lightning/navigation';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { CloseActionScreenEvent } from 'lightning/actions';
+
+import initRepair from '@salesforce/apex/lexRepairAgainAnController.initRepair';
+export default class lexRepairReturnAnalysis extends NavigationMixin(LightningElement) {
+
+	@api recordId;
+
+	@wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+		if (currentPageReference) {
+			const urlValue = currentPageReference.state.recordId;
+			if (urlValue) {
+			 let str = `${urlValue}`;
+			 this.recordId = str;
+			}
+		}
+ 	}
+
+ 	connectedCallback(){
+ 		initRepair({
+ 			recordId: this.recordId
+ 		}).then(res=>{
+ 			console.log('init====='+JSON.stringify(res));
+ 			if(res){
+	 			if(res.repairAgainAnLength > 0){
+	 				this.showToast('璇ヤ慨鐞嗗凡瀛樺湪鍐嶄慨鐞嗗垎鏋愶紝涓嶈兘鏂板缓','warning');
+	 				return;
+	 			}
+
+	 			if(res.sAPServiceRepairNo == '' || res.sAPServiceRepairNo==null){
+	 				this.showToast('璇ヤ慨鐞嗚繕娌℃湁涓婁紶SAP锛屼笉鑳藉鏂板缓鍐嶄慨鐞嗗垎鏋�','warning');
+	 				return;
+	 			}
+	 			this.showNewObject()
+ 			}
+ 		})
+ 	}
+
+	showNewObject(){
+ 		console.log('showNewObject==');
+ 		const defaultFieldValues = encodeDefaultFieldValues({
+ 			Repair__c: this.recordId,
+ 			Name: '*'
+ 		});
+
+ 		this[NavigationMixin.Navigate]({
+ 			type: 'standard__objectPage',
+              attributes: {
+                objectApiName: 'RepairAgainAn__c',
+                actionName: 'new',
+                RecordType:''
+            },
+            state: {
+                nooverride: '1',
+                defaultFieldValues: defaultFieldValues
+            }
+ 		})
+ 		this.dispatchEvent(new CloseActionScreenEvent());
+ 	}
+
+ 	showToast(msg,type) {
+        const event = new ShowToastEvent({
+            message: msg,
+            variant: type
+        });
+        if(type == 'success'){
+            this.updateRecordView(this.recordId);
+        }
+        this.dispatchEvent(event);
+        this.dispatchEvent(new CloseActionScreenEvent());
+    }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js-meta.xml b/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js-meta.xml
new file mode 100644
index 0000000..fde43eb
--- /dev/null
+++ b/force-app/main/default/lwc/lexRepairReturnAnalysis/lexRepairReturnAnalysis.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRepairReturnAnalysis">
+    <apiVersion>54.0</apiVersion>
+    <isExposed>true</isExposed>
+    <targets>
+        <target>lightning__RecordPage</target>
+        <target>lightning__AppPage</target>
+        <target>lightning__HomePage</target>
+        <target>lightning__RecordAction</target>
+    </targets>
+</LightningComponentBundle>
\ No newline at end of file

--
Gitblit v1.9.1