From 1312ba82d4c880bdb5357d28e0d4af5b285f610f Mon Sep 17 00:00:00 2001
From: 高章伟 <gaozhangwei@prec-tech.com>
Date: 星期四, 10 三月 2022 15:54:39 +0800
Subject: [PATCH] 最近一月修改内容

---
 force-app/main/default/classes/BatchSelectRepairPageController.cls |   79 ++++++++++++++++++++-------------------
 1 files changed, 40 insertions(+), 39 deletions(-)

diff --git a/force-app/main/default/classes/BatchSelectRepairPageController.cls b/force-app/main/default/classes/BatchSelectRepairPageController.cls
index 408374c..ae63a1c 100644
--- a/force-app/main/default/classes/BatchSelectRepairPageController.cls
+++ b/force-app/main/default/classes/BatchSelectRepairPageController.cls
@@ -14,56 +14,52 @@
     public void init(){
         RetrievalData reval = new RetrievalData();
         RevalInfoList = new List<RetrievalData>();
-        reval.RepairName = null;
-        reval.SAPRepairNo = null;
-        reval.HospitalName = null;
         RevalInfoList.add(reval);
     }
 
     public PageReference RetrievalBtn() {
         RepairList = new List<Repair__c>();
         RAInfoList = new List<RepairData>();
-        String RepairName;
-        String SAPRepairNo;
-        String HospitalName;
+        String sql;
+        System.debug('RevalInfoList1:' + RevalInfoList);
         for(RetrievalData reval : RevalInfoList){
+            if(String.isBlank(reval.Status2) && String.isBlank(reval.RepairName) && String.isBlank(reval.SAPRepairNo) 
+                && String.isBlank(reval.SerialNumber) && String.isBlank(reval.repair.Incharge_Staff__c) 
+                && String.isBlank(String.valueOf(reval.repair.Final_complete_day__c))){
+                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '璇疯嚦灏戞坊鍔犱竴涓绱㈡潯浠�!'));
+                return null;
+            }
+            sql += 'select Id, Name, SAP_Service_Repair_No__c, Status1__c, Status2__c, Delivered_Product__c, SerialNumber__c, ';
+            sql += 'HP_Name__c, State_Hospital__c, Incharge_Staff__c, FSE_ApplyForRepair_Day__c, work_location_select__c, On_site_repair__c,';
+            sql += 'Number_of_EffectiveContract__c, NewProductGuaranteeObject__c from Repair__c where Id != null ';
+            if(String.isNotBlank(reval.Status2)){
+                sql += ' and Status2__c like \'%' + reval.Status2 + '%\' ';
+            }
             if(String.isNotBlank(reval.RepairName)){
-                RepairName = reval.RepairName;
+                sql += ' and Name like \'%' + reval.RepairName + '%\' ';
             }
             if(String.isNotBlank(reval.SAPRepairNo)){
-                SAPRepairNo = reval.SAPRepairNo;
+                sql += ' and SAP_Service_Repair_No__c like \'%' + reval.SAPRepairNo + '%\' ';
             }
-            if(String.isNotBlank(reval.HospitalName)){
-                HospitalName = reval.HospitalName;
+            if(String.isNotBlank(reval.SerialNumber)){
+                sql += ' and SerialNumber__c like \'%' + reval.SerialNumber + '%\' ';
             }
+            if(String.isNotBlank(reval.repair.Incharge_Staff__c)){
+                sql += ' and Incharge_Staff__c = \'' + reval.repair.Incharge_Staff__c + '\' ';
+            }
+            if(String.isNotBlank(String.valueof(reval.repair.Final_complete_day__c))){
+                String day = String.valueof(reval.repair.Final_complete_day__c);
+                day = day.substring(0,10);
+                sql += ' and FSE_ApplyForRepair_Day__c = ' + day;
+            }
+            sql += ' limit 200';
+            sql = sql.substring(4);
         }
-        System.debug('RepairName1:' + RepairName);
-        if(String.isBlank(RepairName) && String.isBlank(SAPRepairNo) && String.isBlank(HospitalName)){
-            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '璇疯嚦灏戞坊鍔犱竴涓绱㈡潯浠�!'));
-            return null;
+        System.debug('sql1:' + sql);
+        if(String.isNotBlank(sql)){
+            RepairList = Database.query(sql);
         }
-        String sql = 'select Id, Name, SAP_Service_Repair_No__c, HP_Name__c, Department_Name__c from Repair__c ';
-        if(String.isNotBlank(RepairName)){
-            sql += ' where Name like \'%' + RepairName.trim() + '%\'';
-            if(String.isNotBlank(SAPRepairNo)){
-                sql += ' and SAP_Service_Repair_No__c like \'%' + SAPRepairNo.trim() + '%\'';
-                if(String.isNotBlank(HospitalName)){
-                    sql += ' and (HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\')';
-                }
-            } else if(String.isNotBlank(HospitalName)) {
-                sql += ' and (HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\')';
-            }
-        } else if(String.isNotBlank(SAPRepairNo)){
-            sql += ' where SAP_Service_Repair_No__c like \'%' + SAPRepairNo.trim() + '%\'';
-            if(String.isNotBlank(HospitalName)){
-                sql += ' and (HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\')';
-            }
-        } else if(String.isNotBlank(HospitalName)){
-            sql += ' where HP_Name__c like \'%' + HospitalName.trim() + '%\' or Department_Name__c like \'%' + HospitalName.trim() + '%\'';
-        }
-        sql += ' limit 5000';
-        RepairList = Database.query(sql);
-        if(RepairList.size() >= 5000 ){
+        if(RepairList.size() >= 200 ){
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '妫�绱㈡暟鎹お澶�,璇风缉灏忔绱㈣寖鍥�'));
             return null;
         }
@@ -100,9 +96,7 @@
                 for(String Id : repairIdList){
                     url += Id + '=';
                 }
-                System.debug('url1:'+url);
                 url = url.substring(0, url.lastIndexOf('='));
-                System.debug('url2:'+url);
                 PageReference pageRef = new PageReference('/apex/MaintenanceCommissionPDF?id' + url);
                 pageRef.setRedirect(true);
                 return pageRef;
@@ -139,9 +133,16 @@
     }
 
     public class RetrievalData {
+        public String Status2{ get; set; }
         public String RepairName{ get; set; }
         public String SAPRepairNo{ get; set; }
-        public String HospitalName{ get; set; }
+        public String SerialNumber{ get; set; }
+        // public String FSE_ApplyForRepair_Day{ get; set; }
+        // public String InchargeStaffName{ get; set; }
+        public Repair__c repair{ get; set; }
+        public RetrievalData(){
+            repair = new Repair__c();
+        }
     }
 
     public class RepairData {

--
Gitblit v1.9.1