public with sharing class AllAssetController { public String assECcode { get; set; } public String assName { get; set; } public Asset rec { get; set; } public String setId { get; set; } public List equipmentSetRecords { get; set; } public List loanerSetRecords { get; set; } private Integer dayCount = 0; private Integer Select_Limit = 200; public AllAssetController() { equipmentSetRecords = new List(); } public Integer loanerSetNo { get { return loanerSetRecords == null ? 0 : loanerSetRecords.size(); } } public Integer pageRecordNo { get { return equipmentSetRecords == null ? 0 : equipmentSetRecords.size(); } } public void init() { List assList = [select Id,Name, SerialNumber, Internal_Asset_number__c, OT_Code__c,EC_Code__c, Name__c,ProductName__c, AssetType__c,status,Count_can_allocate_F__c,RecordTypeId,loaner_place__c,Remarks2__c, Rental_Customer__r.Name,Rental_End_Date__c,Description,Rental_Start_Date__c from Asset WHERE Id != null AND Equipment_Type__c = 'BS']; for(Integer i = 0 ;i(); List loanerSetSearch = [select Id, Name, Equipment_Type__c,Remarks__c,SerialNumber__c,Internal_Asset_number__c,Status__c,loaner_place__c,Reservation_information__c from Loaner_Set__c WHERE Equipment_Type__c = 'BS' order by Name]; Integer line = 0; for(loaner_Set__c ls : loanerSetSearch){ EquipmentSetInfo li = new EquipmentSetInfo(line, ls); loanerSetRecords.add(li); line += 1; } //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, 'loanerSetRecords' + loanerSetRecords)); } public void getLoanerSetdet() { // 样机set中所有样机 List loanerSetDetIDList = new List(); equipmentSetRecords = new List(); for(Loaner_Set_Detail__c lSD : [SELECT Id,Asset__c FROM Loaner_Set_Detail__c WHERE Loaner_Set__c = :setId]){ loanerSetDetIDList.add(lSD.Asset__c); } List queryList = [select Id,Name, SerialNumber, Internal_Asset_number__c,Name__c,AssetType__c, OT_Code__c, EC_Code__c, status,Count_can_allocate_F__c, RecordTypeId,loaner_place__c,Remarks2__c,Rental_Customer__r.Name,Rental_End_Date__c,ProductName__c ,Description,Rental_Start_Date__c from Asset where Id in :loanerSetDetIDList]; // 新明细行做成 for (Integer i = 0; i < queryList.size(); i++) { if (i == Select_Limit) { break; } equipmentSetRecords.add(new EquipmentSetInfo(queryList[i])); } } public void searchLoanerApp() { //已选择个体管理样机 List loanerindividualList = new List(); equipmentSetRecords = new List(); String soql = 'select Id,Name, SerialNumber, Loaner__c,Internal_Asset_number__c, OT_Code__c,EC_Code__c, Name__c,ProductName__c,AssetType__c,'; soql += ' status,Count_can_allocate_F__c,RecordTypeId,loaner_place__c,Remarks2__c,Rental_Customer__r.Name,Rental_End_Date__c ,Description,Rental_Start_Date__c from Asset WHERE Id != null '; if (!String.isBlank(assName)) { soql += ' and Name like \'%' + String.escapeSingleQuotes(assName.trim().replaceAll('%', '\\%')) + '%\''; } if (!String.isBlank(rec.OT_Code__c)) { soql += ' and OT_Code__c like \'%' + String.escapeSingleQuotes(rec.OT_Code__c.trim().replaceAll('%', '\\%')) + '%\''; } if (!String.isBlank(assECcode)) { soql += ' and EC_Code__c like \'%' + String.escapeSingleQuotes(assECcode.trim().replaceAll('%', '\\%')) + '%\''; } soql += ' and Equipment_Type__c = \'BS\''; if (!String.isBlank(rec.loaner_place__c)) { soql += ' and loaner_place__c = \'' + String.escapeSingleQuotes(rec.loaner_place__c) + '\''; } if (!String.isBlank(rec.Status)) { soql += ' and status = \'' + String.escapeSingleQuotes(rec.Status) + '\''; } if (!String.isBlank(rec.SerialNumber)) { soql += ' and SerialNumber like \'%' + String.escapeSingleQuotes(rec.SerialNumber.trim().replaceAll('%', '\\%')) + '%\''; } if (!String.isBlank(rec.Internal_Asset_number__c)) { soql += ' and Internal_Asset_number__c like \'%' + String.escapeSingleQuotes(rec.Internal_Asset_number__c.trim().replaceAll('%', '\\%')) + '%\''; } List queryList = Database.query(soql); System.debug(soql); System.debug(queryList); // 新明细行做成 for (Integer i = 0; i < queryList.size(); i++) { if (i == Select_Limit) { break; } equipmentSetRecords.add(new EquipmentSetInfo(queryList[i])); } System.debug(equipmentSetRecords); } /* private void makeMessage() { if (Over_Limit) { ApexPages.addmessage(new ApexPages.message(ApexPages.severity.INFO, '数据超过' + Select_Limit + '件,只显示前' + Select_Limit + '件')); Over_Limit = false; } }*/ class EquipmentSetInfo implements Comparable { public Boolean check { get; set; } public Boolean oldcheck { get; set; } public loaner_application_detail__c lad { get; set; } public Asset aset { get; set; } public Loaner_Set__c lSet { get; set; } public Date Rental_Start_Date { get; set; } public Date Rental_End_Date { get; set; } //最早可借出时间 public Date earliest_Lend_Date { get; set; } public Integer SEdayCount { get; set; } public Integer deatilNo { get; set; } public Boolean canInput { get; set; } public Boolean showNo { get; set; } public String remark { get; set; } //public Date endDate {get; set; } //转借元申请明细标记 public Boolean firstDet { get; set; } // 已存产品明细 public EquipmentSetInfo(loaner_application_detail__c e) { check = true; oldcheck= true; lad = e; aset = e.LOANER__r; //endDate = aset.Rental_End_Date__c; if(String.isNotBlank(lad.Remark__c)){ remark = lad.Remark__c; }else{ remark = aset.Remarks2__c; } deatilNo = 1; canInput = false; firstDet = false; if(String.valueOf(aset.RecordTypeId).subString(0,15) == System.label.Asset_Record_Type2){ showNo = true; }else{ showNo = false; } } public EquipmentSetInfo(Integer in_line, Loaner_Set__c e) { deatilNo = in_line; lSet = e; } public EquipmentSetInfo(Asset e) { check = false; oldcheck = false; lad = new loaner_application_detail__c(); aset = e; remark = aset.Remarks2__c; firstDet = false; if(String.valueOf(aset.RecordTypeId).subString(0,15) == System.label.Asset_Record_Type2){ canInput = true; showNo = true; }else{ //lad.loaner_ApplyNo__c = 1; deatilNo = 1; canInput = false; showNo = false; } } // 排序 public Integer compareTo(Object compareTo) { return null; } } }