From de8c520114fc0e875b784e1cfa3ebded124c8be2 Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 29 三月 2023 17:06:15 +0800
Subject: [PATCH] 黄千龙修改按钮(更新至2023.3.29)

---
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js                                |  101 +++++
 force-app/main/default/lwc/oshRecieved/oshRecieved.css                                 |   10 
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html                              |    5 
 force-app/main/default/lwc/oshRecieved/oshRecieved.js                                  |   81 ++++
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js                                |  133 +++++++
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml                       |   11 
 force-app/main/default/classes/QISReportController.cls-meta.xml                        |    5 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html        |    5 
 force-app/main/default/classes/QISReportController.cls                                 |  269 +++++++++++++++
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html                                |    5 
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html                              |    5 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml                         |   11 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js          |   63 +++
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml                       |   11 
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml |   11 
 force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css                               |   22 +
 force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css                               |   10 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js                                  |  163 +++++++++
 force-app/main/default/lwc/oshRecieved/oshRecieved.html                                |    5 
 force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css                                 |   22 +
 force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css         |   10 
 force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml                         |   11 
 22 files changed, 969 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/QISReportController.cls b/force-app/main/default/classes/QISReportController.cls
new file mode 100644
index 0000000..e2eb1d3
--- /dev/null
+++ b/force-app/main/default/classes/QISReportController.cls
@@ -0,0 +1,269 @@
+public with sharing class QISReportController {
+   @AuraEnabled
+    public static InitData initForQisUniversalFailureCodeButton (String recordId){
+        InitData res = new initData();
+        try{
+            QIS_Report__c report = [SELECT  id FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];  
+            res.Id = report.Id;
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public  static InitData sqlForPAE (String qisReportId){
+        InitData res = new initData();
+        String RecordTypeId = 'ASACDecision';
+        try{
+            PAE_DecisionRecord__c RCPAED_IdList = [SELECT LastModifiedDate, Id, Name, LastModifiedById,RecordType.DeveloperName FROM PAE_DecisionRecord__c where PAE_QIS__c = :qisReportId  And RecordType.DeveloperName =  :RecordTypeId limit 1]; 
+            res.PAEid = RCPAED_IdList.id;
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public static InitData initForOSHRecievedButton (String recordId){
+        InitData res = new initData();
+        try{
+            QIS_Report__c report = [SELECT  id,QIS_Status__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];  
+            res.Id = report.Id;
+            res.QIStatus = report.QIS_Status__c;
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public static String updateQis (String recordId){
+        String re = '鎴愬姛';
+        try{
+            ID myUserID = UserInfo.getUserId();
+            User tempUser = [select id,Alias,Email from user where id = : myUserID ];
+            QIS_Report__c rac  = new QIS_Report__c();   
+            rac.id = recordId;
+            rac.QIS_Status__c = 'OSH妫�娴嬩腑';
+            // 寰呰ˉ鍏�
+            rac.OSHRecievedDate__c  = Date.today();
+            System.debug( 'OSHRecievedDate__c=' + rac.OSHRecievedDate__c);
+            rac.OSH_Receive_staff__c = tempUser.Alias;
+            rac.OSH_staff__c = tempUser.Alias;
+            rac.OSH_staff_email__c = tempUser.email;
+            rac.Is_ProductGot__c = true;
+            rac.OSH_GotProductPeople__c = tempUser.id;
+            User resultSet = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id = :myUserID];
+            if (resultSet!=null && resultSet.JingliApprovalManager__c != null && resultSet.BuchangApprovalManager__c != null ) {
+                rac.OSH_Manager__c = resultSet.JingliApprovalManager__c;
+                rac.OSH_Buzhang__c = resultSet.BuchangApprovalManager__c;
+            }else{
+                rac.OSH_Manager__c= myUserID;
+                rac.OSH_Buzhang__c= myUserID;
+            }
+            Oly_TriggerHandler.bypass('QIS_ReportTrigger');
+            update rac;
+            
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            re = e.getMessage();
+        }
+         return re;
+    }
+
+
+    @AuraEnabled
+    public static InitData initForOSHSubmitButton (String recordId){
+        InitData res = new initData();
+        try{
+            QIS_Report__c report = [SELECT  id,QIS_Status__c,OSH_staff__c,OSH_staff_email__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];  
+            res.Id = report.Id;
+            res.QIStatus = report.QIS_Status__c;
+            res.OSHstaff = report.OSH_staff__c;
+            res.OSHstaffEmail = report.OSH_staff_email__c;
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+    @AuraEnabled
+    public static String updateQis1 (String recordId){
+        String re = '鎴愬姛';
+        try{
+            QIS_Report__c rac  = new QIS_Report__c();   
+            rac.id = recordId;
+            rac.QIS_Status__c = 'OSH濉啓瀹屾瘯';
+            update rac;
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            re = e.getMessage();
+        }
+         return re;
+    }
+
+     @AuraEnabled
+    public static InitData initForRCSubmitButton (String recordId){
+        InitData res = new initData();
+        try{
+            QIS_Report__c report = [SELECT  id,RC_problem_not_found__c,QIS_Reply_day__c,RC_inspection_date__c,QIS_Status__c,Cancel_QIS_Reason__c,OSH_staff__c,OSH_staff_email__c,RC__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];  
+            res.Id = report.Id;
+            res.QIStatus = report.QIS_Status__c;
+            res.OSHstaff = report.OSH_staff__c;
+            res.OSHstaffEmail = report.OSH_staff_email__c;
+            res.CancelQISReason = report.Cancel_QIS_Reason__c;
+            res.RCid = report.RC__c;
+            res.RCinspectionDate = report.RC_inspection_date__c;
+            res.QISReplyDay = report.QIS_Reply_day__c;
+            res.RCproblemnotfound = report.RC_problem_not_found__c;
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public static String updateQisWithRC (String recordId,String type,String oldQIStatus){
+        String re = '鎴愬姛';
+        ID myUserID = UserInfo.getUserId();
+        User userinfo = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c, BuchangApprovalManagerSales__c, SalesManager__c FROM User WHERE Id = :myUserID LIMIT 1];  
+        QIS_Report__c rac  = new QIS_Report__c();  
+        rac.id = recordId;
+        if (type == '1') {
+            QIS_Report__c report1 = [SELECT  id,RC_problem_not_found__c,RC_FixedJudgement__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];  
+            rac.QIS_Status__c = 'RC濉啓瀹屾瘯';
+            if (report1.RC_problem_not_found__c == true && report1.RC_FixedJudgement__c == false) {
+                QIS_Report__c qisreport = [SELECT Id, Reason_bloken__c, Special_follow__c, next_action__c, QIS_Reply_Comment__c, OCM_judgement__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];
+                if (qisreport != null) {
+                   rac.Reason_bloken1__c       = qisreport.Reason_bloken__c;
+                   rac.Special_follow1__c      = qisreport.Special_follow__c;
+                   rac.next_action1__c         = qisreport.next_action__c;
+                   rac.QIS_Reply_Comment1__c   = qisreport.QIS_Reply_Comment__c;
+                   rac.OCM_judgement1__c       = qisreport.OCM_judgement__c;
+                }
+            }
+        }
+        if (type == '2') {
+            rac.QIS_Status__c = '鍙栨秷鐢宠';
+            rac.QIS_Cancel_Submit_day__c  = Date.today();
+        }
+        try{
+            if (userinfo!=null && userinfo.BuchangApprovalManagerSales__c != null) {
+                rac.RC_Manager__c = userinfo.BuchangApprovalManagerSales__c;
+            }else{
+                rac.RC_Manager__c = myUserID;
+            }
+            if (userinfo!=null) {
+                if (oldQIStatus == 'RC妫�娴嬩腑') {
+                    rac.RC__c = myUserID;
+                }
+                if (userinfo.SalesManager__c != null ) {
+                    rac.ApproveManager__c  = userinfo.SalesManager__c;
+                }else{
+                    rac.ApproveManager__c  = myUserID;
+                }
+                if (userinfo.BuchangApprovalManagerSales__c != null ) {
+                    rac.ApproveBuZhang__c  = userinfo.BuchangApprovalManagerSales__c ;
+                }else{
+                    rac.ApproveBuZhang__c  = myUserID;
+                }
+                if (userinfo.ZongjianApprovalManager__c != null ) {
+                    rac.AppeoveZongJian__c = userinfo.ZongjianApprovalManager__c  ;
+                }else{
+                    rac.AppeoveZongJian__c = myUserID;
+                }
+            }
+            update rac; 
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            re = e.getMessage();
+        }
+         return re;
+    }
+
+     @AuraEnabled
+    public static InitData initForOCMSubmitButton (String recordId){
+        InitData res = new initData();
+        try{
+            QIS_Report__c report = [SELECT  id,is_aohui_product__c,QIS_Status__c,OCM_Manager_Mail_F__c,QISInstallDate__c,contract_number__c FROM QIS_Report__c WHERE Id = :recordId LIMIT 1];  
+            res.Id = report.Id;
+            res.QIStatus = report.QIS_Status__c;
+            res.QISInstallDate = report.QISInstallDate__c;
+            res.contractnumber = report.contract_number__c;
+            res.isaohuiproduct = report.is_aohui_product__c;
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }
+
+    @AuraEnabled
+    public static String updateQisWithOCM (String recordId){
+        String re = '鎴愬姛';
+        QIS_Report__c report = [SELECT  id,QIS_Status__c,QISInstallDate__c,contract_number__c,OCM_Manager_Mail_F__c
+                                ,OCM_Member_Mail_F__c,OCM_Repair_Mail_F__c,OCM_Repair_Mail1_F__c,FSE_Special_Mail_F__c,FSE_Special_Manager_Mail_F__c
+                                    ,WorkLocation_CC_Mail_F__c,is_aohui_product__c,QuolityApproveResult__c
+                                FROM QIS_Report__c WHERE Id = :recordId LIMIT 1]; 
+        try{
+            QIS_Report__c rac  = new QIS_Report__c();   
+            rac.id = recordId;
+            rac.QIS_Status__c = 'FSE濉啓瀹屾瘯';
+            rac.OCM_Manager_Mail__c = report.OCM_Manager_Mail_F__c;
+            rac.OCM_Member_Mail__c = report.OCM_Member_Mail_F__c;
+            rac.OCM_Repair_Mail__c = report.OCM_Repair_Mail_F__c;
+            rac.OCM_Repair_Mail1__c = report.OCM_Repair_Mail1_F__c;
+            rac.FSE_Special_Mail__c = report.FSE_Special_Mail_F__c;
+            rac.FSE_Special_Manager_Mail__c = report.FSE_Special_Manager_Mail_F__c;
+            rac.WorkLocation_CC_Mail__c = report.WorkLocation_CC_Mail_F__c;
+            rac.Cancel_QIS_Reason__c = null;
+            if (report.is_aohui_product__c == true) {
+                    rac.OCM_judgement__c = '璐ㄩ噺闂';
+                    rac.next_action__c = '鏃犲伩缁翠慨';
+                    rac.RecordTypeId = '01210000000RLWm';
+                    rac.QIS_Status__c = 'OSH妫�娴嬬敵璇�';
+            }
+            if (report.QuolityApproveResult__c == null || report.QuolityApproveResult__c == '') {
+                rac.QuolityApproveResult__c = '3.宸插鏍革紝涓�鑸川閲忛棶棰�';
+            }
+            update rac;
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+            re = e.getMessage();
+        }
+         return re;
+    }
+    public class InitData{
+        @AuraEnabled
+        public String Id;
+        @AuraEnabled
+        public String PAEid;
+        @AuraEnabled
+        public String QIStatus;
+        @AuraEnabled
+        public String OSHstaff;
+        @AuraEnabled
+        public String OSHstaffEmail;
+        @AuraEnabled
+        public String CancelQISReason;
+        @AuraEnabled
+        public String RCid;
+        @AuraEnabled
+        public String contractnumber;
+        @AuraEnabled
+        public Date RCinspectionDate;
+        @AuraEnabled
+        public Date QISReplyDay;
+        @AuraEnabled
+        public Date QISInstallDate;
+        @AuraEnabled
+        public Boolean RCproblemnotfound;
+        @AuraEnabled
+        public Boolean isaohuiproduct;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/QISReportController.cls-meta.xml b/force-app/main/default/classes/QISReportController.cls-meta.xml
new file mode 100644
index 0000000..9662499
--- /dev/null
+++ b/force-app/main/default/classes/QISReportController.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>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css
new file mode 100644
index 0000000..635bc6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js
new file mode 100644
index 0000000..d6c2e68
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js
@@ -0,0 +1,133 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForOCMSubmitButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisWithOCM';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexOCMSubmit extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	QISInstallDate;
+	qisStatus;
+	contractnumber;
+	isaohuiproduct;
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.QIStatus;
+            this.QISInstallDate = result.QISInstallDate;
+            this.contractnumber = result.contractnumber;
+            this.isaohuiproduct = result.isaohuiproduct;
+            console.log('this.qisStatus='+this.qisStatus);
+            console.log('this.isaohuiproduct='+this.isaohuiproduct);
+         	if (this.qisStatus!='鑽夋涓�' && this.qisStatus!='鍙栨秷') {
+         		const evt = new ShowToastEvent({
+                        title : '宸茬粡鎻愪氦',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+         		return;
+         	}else{
+         		if (this.qisStatus == '鍙栨秷') {
+         			const evt = new ShowToastEvent({
+                        title : '鍙栨秷鍚庣殑QIS涓嶅厑璁稿啀鎻愪氦锛屽鏋滈渶瑕佹彁浜よ鐐瑰嚮\"澶嶅埗\"鎸夐挳閲嶆柊鐢熸垚涓�涓猀IS',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+					this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         	}
+         	
+         	if (this.QISInstallDate == null) {
+         		const evt = new ShowToastEvent({
+                        title : '銆愯喘涔版棩鏈�/瀹夎鏃ユ湡銆戜负绌烘椂涓嶈兘鎻愪氦鐢宠',
+                        message: '',
+                        variant: 'error'
+                    });
+                 this.dispatchEvent(evt);
+         		this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+         	}
+
+         	if (this.contractnumber == null) {
+         		const evt = new ShowToastEvent({
+                        title : '銆愰攢鍞悎鍚屼笂璁㈠崟鍙风爜銆戜负绌烘椂涓嶈兘鎻愪氦鐢宠',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+         		this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+         	}
+
+         	if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+         		this.dispatchEvent(new CloseActionScreenEvent());
+				return;
+			}
+			this.updateQisSubmit();
+			if (this.isaohuiproduct == 'true') {
+				this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+			}
+			this.dispatchEvent(new CloseActionScreenEvent());
+            this.updateRecordView(this.recordId);
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+        				const evt = new ShowToastEvent({
+	                        title : '鏇存柊澶辫触',
+	                        message: result,
+	                        variant: 'error'
+                    	});
+                    	this.dispatchEvent(evt);
+        			}
+                this.dispatchEvent(new CloseActionScreenEvent());
+        		}).catch(error => {
+            			console.log('error='+error);
+		        }).finally(() => {
+		            
+		        });
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml
new file mode 100644
index 0000000..74849f3
--- /dev/null
+++ b/force-app/main/default/lwc/lexOCMSubmit/lexOCMSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOCMSubmit">
+    <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
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css
new file mode 100644
index 0000000..f708a55
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.css
@@ -0,0 +1,10 @@
+.opdToSISHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html
new file mode 100644
index 0000000..cc6a015
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="opdToSISHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
new file mode 100644
index 0000000..e4901c7
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js
@@ -0,0 +1,101 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import init  from '@salesforce/apex/QISReportController.initForOSHSubmitButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQis1';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+export default class lexOSHSubmit extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	OSHstaff;
+	OSHstaffEmail;
+
+    @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.QIStatus;
+            this.OSHstaff = result.OSHstaff;
+            this.OSHstaffEmail = result.OSHstaffEmail;
+            console.log('this.qisStatus='+this.qisStatus);
+            console.log('this.OSHstaff='+this.OSHstaff);
+            console.log('this.OSHstaffEmail='+this.OSHstaffEmail);
+         	if (this.qisStatus=='OSH妫�娴嬬敵璇�' && this.qisStatus=='瀹屾瘯') {
+         		alert('闇�瑕佸厛鐐瑰嚮锛籓SH妫�鏌ュ彈鐞嗭冀'); 
+         		return;
+         	}
+         	if (this.qisStatus!='OSH妫�娴嬩腑') {
+         		alert('宸茬粡鎻愪氦瀹℃壒');
+         		return;
+         	}
+         	if (!confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+				return;
+			}
+			if (this.OSHstaff==null||this.OSHstaffEmail==null) {
+				alert("OSH鎷呭綋蹇呴』濉啓");
+				return;
+			}
+            try{
+                this.updateQisSubmit();
+            }catch(err){
+                if(err.faultstring !=undefined && err.faultstring.indexOf('INVALID_SESSION_ID') != -1) {
+                    alert('褰撳墠缃戦〉宸茬櫥鍑猴紝璇锋偍閲嶆柊鐧诲綍鍚庡埛鏂拌缃戦〉锛�');
+                } else {
+                    alert(err.faultstring);
+                }
+                return;
+            }
+			
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+        				alert(result); 
+        			}
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml
new file mode 100644
index 0000000..a17e350
--- /dev/null
+++ b/force-app/main/default/lwc/lexOSHSubmit/lexOSHSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexOSHSubmit">
+     <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
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css
new file mode 100644
index 0000000..79456f2
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.css
@@ -0,0 +1,22 @@
+.outerBorderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    border-top : 3px solid #565959;
+}
+.borderCss{
+    border: 1px solid #D4D4D4;
+    border-radius : 5px;
+    margin-bottom : 7px;
+    border-top : 3px solid #565959;
+}
+.headerDorderCss{
+    border-top: 1px solid #565959;
+    border-bottom: 1px solid #D4D4D4;
+    padding:3px;
+}
+.centerCss{
+    text-align: center;
+}
+.centerCss .left{
+    margin-left: 100px;
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html
new file mode 100644
index 0000000..49a10f7
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="sisToOPDHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js
new file mode 100644
index 0000000..002e02a
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js
@@ -0,0 +1,163 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForRCSubmitButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQisWithRC';
+import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
+import { updateRecord } from 'lightning/uiRecordApi';
+
+export default class lexRCSubmit extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	OSHstaff;
+	OSHstaffEmail;
+	CancelQISReason;
+	Rcid;
+	RCinspectionDate;
+	QISReplyDay;
+	RCproblemnotfound;
+	type;
+	@wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+    }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.QIStatus;
+            this.OSHstaff = result.OSHstaff;
+            this.OSHstaffEmail = result.OSHstaffEmail;
+            this.CancelQISReason = result.CancelQISReason;
+            this.Rcid = result.RCid;
+            this.RCinspectionDate = result.RCinspectionDate;
+            this.QISReplyDay = result.QISReplyDay;
+            this.RCproblemnotfound = result.RCproblemnotfound;
+            console.log('this.qisStatus='+this.qisStatus);
+            console.log('this.CancelQISReason='+this.CancelQISReason);
+            console.log('this.Rcid='+this.Rcid);
+            console.log('this.RCproblemnotfound='+this.RCproblemnotfound);
+            console.log('this.RCinspectionDate='+this.RCinspectionDate);
+         	if (this.qisStatus!='RC妫�娴嬩腑') {
+                const evt = new ShowToastEvent({
+                        title : '宸茬粡鎻愪氦瀹℃壒',
+                        message: '',
+                        variant: 'error'
+                    });
+                 this.dispatchEvent(evt);
+                this.dispatchEvent(new CloseActionScreenEvent());
+         		return;
+         	}
+         	if (this.CancelQISReason!=null) {
+         		if (this.qisStatus == 'RC妫�娴嬬敵璇�') {
+                    const evt = new ShowToastEvent({
+                        title : '闇�瑕佸厛鐐瑰嚮锛籓CM鏈嶅姟鏈儴鏀跺埌瀹炵墿锛�',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (this.Rcid ==null) {
+                    const evt = new ShowToastEvent({
+                        title : '鍒ゅ畾鎷呭綋蹇呴』濉啓',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (this.RCinspectionDate == null) {
+                    const evt = new ShowToastEvent({
+                        title : 'OCM鏈嶅姟鏈儴杩樻病鏈夋娴嬪畬姣�',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (this.QISReplyDay!=null  && this.RCproblemnotfound == 'true') {
+                    const evt = new ShowToastEvent({
+                        title : '鏈�缁堝垽瀹氭椂锛岃鍙栨秷[鏁呴殰鏈彂鐜扮暀涓嬬户缁瀵焆骞堕�夋嫨[瀵瑰簲鏂规硶]',
+                        message: '',
+                        variant: 'error'
+                    });
+                    this.dispatchEvent(evt);
+                    this.dispatchEvent(new CloseActionScreenEvent());
+					return;
+         		}
+         		if (confirm("涓�鏃︽彁浜ゆ璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+         			this.type = '1';
+				}else{
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+                }
+         	}else{
+         		if (confirm("涓�鏃︽彁浜ゅ叧闂璁板綍浠ュ緟鎵瑰噯锛屾牴鎹偍鐨勮缃偍鍙兘涓嶅啀鑳藉缂栬緫姝よ褰曟垨灏嗕粬浠庢壒鍑嗚繃绋嬩腑璋冨洖銆傛槸鍚︾户缁紵")) {
+					this.type = '2';
+				}else{
+                    this.dispatchEvent(new CloseActionScreenEvent());
+                    return;
+                }
+         	}
+         	console.log('this.type='+this.type);
+         	// this.dispatchEvent(new CloseActionScreenEvent());
+         	this.updateQisSubmit();
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId,
+        		 type: this.type,
+        		 oldQIStatus: this.qisStatus
+        		}).then(result =>{
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: result,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+    }
+
+ 
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml
new file mode 100644
index 0000000..87bc598
--- /dev/null
+++ b/force-app/main/default/lwc/lexRCSubmit/lexRCSubmit.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexRCSubmit">
+    <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
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.css b/force-app/main/default/lwc/oshRecieved/oshRecieved.css
new file mode 100644
index 0000000..a612ca7
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.css
@@ -0,0 +1,10 @@
+.VOCSubmitHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.html b/force-app/main/default/lwc/oshRecieved/oshRecieved.html
new file mode 100644
index 0000000..1d3b62c
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="VOCSubmitHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.js b/force-app/main/default/lwc/oshRecieved/oshRecieved.js
new file mode 100644
index 0000000..b8a7590
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.js
@@ -0,0 +1,81 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { updateRecord } from 'lightning/uiRecordApi';
+import init  from '@salesforce/apex/QISReportController.initForOSHRecievedButton';
+import updateQis  from '@salesforce/apex/QISReportController.updateQis';
+export default class oshRecieved extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	qisStatus;
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+     connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            this.IsLoading = false;
+            this.qisReportId = result.Id;
+            this.qisStatus = result.QIStatus;
+            console.log('this.qisStatus='+this.qisStatus);
+         	if (this.qisStatus!='OSH妫�娴嬬敵璇�' && this.qisStatus!='瀹屾瘯') {
+                const evt = new ShowToastEvent({
+                        title : 'OSH宸茬粡鏀跺埌瀹炵墿',
+                        message: '',
+                        variant: 'error'
+                    });
+                this.dispatchEvent(evt);
+         	}else{
+         		this.updateQisSubmit();
+         	}
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        }); 
+    }
+
+    updateRecordView(recordId) {
+        updateRecord({fields: { Id: recordId }});
+    }
+
+    updateQisSubmit(){
+        	updateQis({
+        		 recordId: this.recordId
+        		}).then(result =>{
+                    
+        			console.log('result'+result);
+        			if (result!='鎴愬姛') {
+                        const evt = new ShowToastEvent({
+                            title : '鏇存柊澶辫触',
+                            message: result,
+                            variant: 'error'
+                        });
+                        this.dispatchEvent(evt);
+                    }
+                this.dispatchEvent(new CloseActionScreenEvent());
+                this.updateRecordView(this.recordId);
+        		}).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });
+        }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml b/force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml
new file mode 100644
index 0000000..35ad9fc
--- /dev/null
+++ b/force-app/main/default/lwc/oshRecieved/oshRecieved.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="oshRecieved">
+    <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
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css
new file mode 100644
index 0000000..66b51b5
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.css
@@ -0,0 +1,10 @@
+.exampleHolder{
+    position: relative;
+    display: inline-block;
+    width: 80px;
+    height: 80px;
+    text-align: center;
+}
+.container .uiContainerManager{
+	display: none !important;
+}/* sample css file */
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html
new file mode 100644
index 0000000..33549d5
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js
new file mode 100644
index 0000000..4e4a05c
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js
@@ -0,0 +1,63 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { NavigationMixin } from 'lightning/navigation';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import init  from '@salesforce/apex/QISReportController.initForQisUniversalFailureCodeButton';
+import sqlForPAE  from '@salesforce/apex/QISReportController.sqlForPAE';
+
+export default class qisUniversalFailureCode extends LightningElement {
+	@api recordId;
+	IsLoading = true;
+	qisReportId;
+	paeId;
+	 @wire(CurrentPageReference)
+     getStateParameters(currentPageReference) {
+             console.log(111);
+             console.log(currentPageReference);
+
+         if (currentPageReference) {
+           const urlValue = currentPageReference.state.recordId;
+           if (urlValue) {
+             let str = `${urlValue}`;
+             console.log("str");
+             console.log(str);
+             this.recordId = str;
+           }
+         }
+     }
+
+    connectedCallback () {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.qisReportId = result.Id;
+                var RecordTypeId = "ASACDecision";
+                sqlForPAE({
+                	qisReportId: this.qisReportId
+           		 }).then(result => {
+	            	if (result!=null) {
+	            		this.paeId = result.PAEid;
+	            		console.log('result='+this.paeId);
+	            	}   
+	            	var url = '';
+					if (result!=null&&result.length>0){
+						url = "/apex/PAEDecisionRecord?Id="+this.paeId+"&QISReportId="+this.qisReportId +"&RecordTypeIds="+RecordTypeId ;
+					} else {
+						url = "/apex/PAEDecisionRecord?QISReportId="+this.qisReportId +"&RecordTypeIds="+RecordTypeId;
+					} 
+					console.log('url='+url);
+					// window.open(url,'_self');
+                    window.location.replace(url);
+		        }); 
+            }
+        }).catch(error => {
+            console.log('error='+error);
+        }).finally(() => {
+            
+        });   
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml
new file mode 100644
index 0000000..f9e530d
--- /dev/null
+++ b/force-app/main/default/lwc/qisUniversalFailureCode/qisUniversalFailureCode.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="qisUniversalFailureCode">
+   <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