From 24f9763120296b88667f0da4e398184a6aa3d3b7 Mon Sep 17 00:00:00 2001
From: 涂煌豪 <tuhuanghao@prec-tech.com>
Date: 星期四, 24 三月 2022 17:36:40 +0800
Subject: [PATCH] 维修委托书打印

---
 force-app/main/default/classes/BatchSelectRepairPageController.cls |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 15 deletions(-)

diff --git a/force-app/main/default/classes/BatchSelectRepairPageController.cls b/force-app/main/default/classes/BatchSelectRepairPageController.cls
index e1526dd..c64e452 100644
--- a/force-app/main/default/classes/BatchSelectRepairPageController.cls
+++ b/force-app/main/default/classes/BatchSelectRepairPageController.cls
@@ -15,46 +15,77 @@
         RevalInfo = new RetrievalData();
     }
 
+    public List<SelectOption> getStatusItems() {
+        List<SelectOption> options = new List<SelectOption>();
+        options.add(new SelectOption('','--鏃�--'));
+        options.add(new SelectOption('鑽夋涓�','鑽夋涓�'));
+        options.add(new SelectOption('1.鍙楃悊瀹屾瘯','1.鍙楃悊瀹屾瘯'));
+        options.add(new SelectOption('2.缁翠慨鎶ヤ环闃舵','2.缁翠慨鎶ヤ环闃舵'));
+        options.add(new SelectOption('3.缁翠慨闃舵','3.缁翠慨闃舵'));
+        options.add(new SelectOption('4.淇悊鍝佽繑閫侀樁娈�','4.淇悊鍝佽繑閫侀樁娈�'));
+        options.add(new SelectOption('5.瀹屾瘯','5.瀹屾瘯'));
+        options.add(new SelectOption('0.鍙栨秷','0.鍙栨秷'));
+        options.add(new SelectOption('0.鍒犻櫎','0.鍒犻櫎'));
+        options.add(new SelectOption('0.鐢宠瀹屾瘯','0.鐢宠瀹屾瘯'));
+        return options;
+    }
+
+    public List<SelectOption> getSiteRepairItems() {
+        List<SelectOption> options = new List<SelectOption>();
+        options.add(new SelectOption('','--鏃�--'));
+        options.add(new SelectOption('RC淇悊','RC淇悊'));
+        options.add(new SelectOption('鐩撮�丼ORC淇悊','鐩撮�丼ORC淇悊'));
+        options.add(new SelectOption('鐩撮�丱GZ淇悊','鐩撮�丱GZ淇悊'));
+        options.add(new SelectOption('鍔炰簨澶勪慨鐞�','鍔炰簨澶勪慨鐞�'));
+        options.add(new SelectOption('鐜板満淇悊','鐜板満淇悊'));
+        return options;
+    }
+
     public PageReference RetrievalBtn() {
         RepairList = new List<Repair__c>();
         RAInfoList = new List<RepairData>();
-        if(String.isBlank(RevalInfo.Status2) && String.isBlank(RevalInfo.RepairName) && String.isBlank(RevalInfo.SAPRepairNo) 
-            && String.isBlank(RevalInfo.SerialNumber) && String.isBlank(RevalInfo.repair.Incharge_Staff__c) 
-            && String.isBlank(String.valueOf(RevalInfo.repair.Final_complete_day__c))){
+        if(String.isBlank(RevalInfo.Status1) && String.isBlank(RevalInfo.RepairName) && String.isBlank(RevalInfo.SAPRepairNo) 
+            && String.isBlank(RevalInfo.SerialNumber) && String.isBlank(RevalInfo.repair.Incharge_Staff__c) && String.isBlank(RevalInfo.onSiteRepair)
+            && String.isBlank(String.valueOf(RevalInfo.repair.Aware_date__c)) && String.isBlank(RevalInfo.workLocationSelect)){
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '璇疯嚦灏戞坊鍔犱竴涓绱㈡潯浠�!'));
             return null;
         }
         String 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(RevalInfo.Status2)){
-            sql += ' and Status2__c like \'%' + RevalInfo.Status2 + '%\' ';
+        if(String.isNotBlank(RevalInfo.Status1)){
+            sql += ' and Status1__c = \'' + RevalInfo.Status1 + '\'';
         }
         if(String.isNotBlank(RevalInfo.RepairName)){
-            sql += ' and Name like \'%' + RevalInfo.RepairName + '%\' ';
+            sql += ' and Name like \'%' + RevalInfo.RepairName + '%\'';
         }
         if(String.isNotBlank(RevalInfo.SAPRepairNo)){
-            sql += ' and SAP_Service_Repair_No__c like \'%' + RevalInfo.SAPRepairNo + '%\' ';
+            sql += ' and SAP_Service_Repair_No__c like \'%' + RevalInfo.SAPRepairNo + '%\'';
         }
         if(String.isNotBlank(RevalInfo.SerialNumber)){
-            sql += ' and SerialNumber__c like \'%' + RevalInfo.SerialNumber + '%\' ';
+            sql += ' and SerialNumber__c like \'%' + RevalInfo.SerialNumber + '%\'';
         }
         if(String.isNotBlank(RevalInfo.repair.Incharge_Staff__c)){
-            sql += ' and Incharge_Staff__c = \'' + RevalInfo.repair.Incharge_Staff__c + '\' ';
+            sql += ' and Incharge_Staff__c = \'' + RevalInfo.repair.Incharge_Staff__c + '\'';
         }
-        if(String.isNotBlank(String.valueof(RevalInfo.repair.Final_complete_day__c))){
-            String day = String.valueof(RevalInfo.repair.Final_complete_day__c);
+        if(String.isNotBlank(String.valueof(RevalInfo.repair.Aware_date__c))){
+            String day = String.valueof(RevalInfo.repair.Aware_date__c);
             day = day.substring(0,10);
             sql += ' and FSE_ApplyForRepair_Day__c = ' + day;
         }
-        sql += ' limit 201';
+        if(String.isNotBlank(RevalInfo.onSiteRepair)){
+            sql += ' and On_site_repair__c = \'' + RevalInfo.onSiteRepair + '\'';
+        }
+        if(String.isNotBlank(RevalInfo.workLocationSelect)){
+            sql += ' and work_location_select__c like \'%' + RevalInfo.workLocationSelect + '%\'';
+        }
+        sql += ' limit 200';
         System.debug('sql1:' + sql);
         if(String.isNotBlank(sql)){
             RepairList = Database.query(sql);
         }
-        if(RepairList.size() > 200){
+        if(RepairList.size() == 200){
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '妫�绱㈡暟鎹お澶�,璇风缉灏忔绱㈣寖鍥达紒'));
-            return null;
         }
         if(RepairList.size() <= 0){
             ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '娌℃绱㈠埌浠讳綍淇悊'));
@@ -108,6 +139,16 @@
     public static PageReference generateAttachment(List<Repair__c> repList){
         PageReference pdfPage;
         List<Attachment> attachments = new List<Attachment>();
+        List<String> attachmentNameList = new List<String>();
+        List<Attachment> isGeneratedPDFList = new List<Attachment>();
+        //鍒犻櫎宸插瓨鍦ㄧ殑闄勪欢锛岀敓鎴愭柊鐨勯檮浠�
+        for(Repair__c re : repList){   
+            attachmentNameList.add(re.name + '_' + 'MaintenanceCommission.pdf');
+        }
+        isGeneratedPDFList = [select id from Attachment where name IN:attachmentNameList];
+        if(isGeneratedPDFList.size() > 0){
+            delete isGeneratedPDFList;
+        }
         for(Repair__c re : repList){       
             pdfPage = new PageReference('/apex/MaintenanceCommissionPDF?id=' + re.Id);
             Blob pdfBody;
@@ -127,10 +168,12 @@
     }
 
     public class RetrievalData {
-        public String Status2{ get; set; }
+        public String Status1{ get; set; }
         public String RepairName{ get; set; }
         public String SAPRepairNo{ get; set; }
         public String SerialNumber{ get; set; }
+        public String onSiteRepair{ get; set; }
+        public String workLocationSelect{ get; set; }
         public Repair__c repair{ get; set; }
         public RetrievalData(){
             repair = new Repair__c();

--
Gitblit v1.9.1