From 3a414ec8f1715b3b72e06f8598e08e6a8729ca23 Mon Sep 17 00:00:00 2001 From: 彭锟 <pengkun@prec-tech.com> Date: 星期四, 24 三月 2022 17:41:02 +0800 Subject: [PATCH] Merge branch 'master' of http://47.92.229.245:8089/r/OlyMEBG --- force-app/main/default/classes/BatchSelectRepairPageController.cls | 140 +++++++++++++++++++++++++++++----------------- 1 files changed, 88 insertions(+), 52 deletions(-) diff --git a/force-app/main/default/classes/BatchSelectRepairPageController.cls b/force-app/main/default/classes/BatchSelectRepairPageController.cls index 408374c..c64e452 100644 --- a/force-app/main/default/classes/BatchSelectRepairPageController.cls +++ b/force-app/main/default/classes/BatchSelectRepairPageController.cls @@ -1,5 +1,5 @@ public with sharing class BatchSelectRepairPageController { - public List<RetrievalData> RevalInfoList { get; set; } + public RetrievalData RevalInfo { get; set; } public List<RepairData> RAInfoList { get; set; } public List<Repair__c> RepairList { get; set; } public List<String> repairIdList{ get; set; } @@ -12,62 +12,82 @@ } public void init(){ - RetrievalData reval = new RetrievalData(); - RevalInfoList = new List<RetrievalData>(); - reval.RepairName = null; - reval.SAPRepairNo = null; - reval.HospitalName = null; - RevalInfoList.add(reval); + 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>(); - String RepairName; - String SAPRepairNo; - String HospitalName; - for(RetrievalData reval : RevalInfoList){ - if(String.isNotBlank(reval.RepairName)){ - RepairName = reval.RepairName; - } - if(String.isNotBlank(reval.SAPRepairNo)){ - SAPRepairNo = reval.SAPRepairNo; - } - if(String.isNotBlank(reval.HospitalName)){ - HospitalName = reval.HospitalName; - } - } - System.debug('RepairName1:' + RepairName); - if(String.isBlank(RepairName) && String.isBlank(SAPRepairNo) && String.isBlank(HospitalName)){ + 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, 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() + '%\''; + 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.Status1)){ + sql += ' and Status1__c = \'' + RevalInfo.Status1 + '\''; } - sql += ' limit 5000'; - RepairList = Database.query(sql); - if(RepairList.size() >= 5000 ){ - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '妫�绱㈡暟鎹お澶�,璇风缉灏忔绱㈣寖鍥�')); - return null; + if(String.isNotBlank(RevalInfo.RepairName)){ + sql += ' and Name like \'%' + RevalInfo.RepairName + '%\''; } - if(RepairList.size() <= 0 ){ + if(String.isNotBlank(RevalInfo.SAPRepairNo)){ + sql += ' and SAP_Service_Repair_No__c like \'%' + RevalInfo.SAPRepairNo + '%\''; + } + if(String.isNotBlank(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 + '\''; + } + 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; + } + 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){ + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '妫�绱㈡暟鎹お澶�,璇风缉灏忔绱㈣寖鍥达紒')); + } + if(RepairList.size() <= 0){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '娌℃绱㈠埌浠讳綍淇悊')); return null; } @@ -82,7 +102,8 @@ repairIdList = new List<String>(); RepairList = new List<Repair__c>(); String url = '='; - if(RAInfoList == null){ + System.debug('RAInfoList:' + RAInfoList); + if(RAInfoList == null || RAInfoList.isEmpty()){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '璇峰厛妫�绱慨鐞�')); return null; } @@ -100,14 +121,12 @@ 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; } else{ - ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '澶氬崟鎵撳嵃鏈�澶ф暟閲忎负50,璇烽�夋嫨灏戜簬50涓慨鐞�!')); + ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '澶氬崟鎵撳嵃鏈�澶ф暟閲忎负50,璇烽�夋嫨灏戜簬50涓慨鐞嗭紒')); return null; } } else{ @@ -120,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; @@ -139,9 +168,16 @@ } public class RetrievalData { + public String Status1{ get; set; } public String RepairName{ get; set; } public String SAPRepairNo{ get; set; } - public String HospitalName{ 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(); + } } public class RepairData { -- Gitblit v1.9.1