package com.nanometer.smartlab.controller; import com.nanometer.smartlab.entity.HazardousWaste; import com.nanometer.smartlab.service.HazardousWasteService; import com.nanometer.smartlab.util.FacesUtils; import org.apache.log4j.Logger; import org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import javax.annotation.Resource; import javax.faces.event.ActionListener; import java.util.*; @Controller @Scope("session") public class HazardousWasteController extends BaseController{ private static Logger logger = Logger.getLogger(HazardousWasteController.class); private LazyDataModel dataModel; private Date startTime; private Date endTime; private String status; private String applyPerson; private String project; private String department; private String tid; private List statusList = new ArrayList<> (); private boolean isSearch = false; private boolean isAnalysSearch = false; private LazyDataModel analysisDataModel; @Resource private HazardousWasteService hazardousWasteService; public LazyDataModel getDataModel() { if (this.dataModel == null) { this.dataModel = new LazyDataModel() { public List load (int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { List list = null; try { int pageCount = hazardousWasteService.countAll(startTime,endTime,status,applyPerson,project,department,tid); this.setRowCount(pageCount); if (pageCount > 0) list = hazardousWasteService.selectAll(startTime,endTime,status,applyPerson,project,department,tid,first, pageSize); //查询更换模式 if (isSearch) { isSearch = false; } } catch (Exception e) { logger.error("error occured.", e); } return list; } @Override public HazardousWaste getRowData(String rowKey) { Iterator iterator = this.iterator(); HazardousWaste su = null; while (iterator.hasNext()) { su = iterator.next(); if ( su.getId().equals(Long.parseLong(rowKey))) { return su; } } return null; } }; } return dataModel; } public void modelChange() { this.isSearch = true; } public void setDataModel(LazyDataModel dataModel) { this.dataModel = dataModel; } public LazyDataModel getAnalysisDataModel() { if (this.analysisDataModel == null) { this.analysisDataModel = new LazyDataModel() { public List load (int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { List list = null; try { int pageCount = hazardousWasteService.countStatistics(startTime,endTime,status,applyPerson,project,department); this.setRowCount(pageCount); if (pageCount > 0) list = hazardousWasteService.selectStatistics(startTime,endTime,status,applyPerson,project,department,first, pageSize); //查询更换模式 if (isAnalysSearch) { isAnalysSearch = false; } } catch (Exception e) { logger.error("error occured.", e); } return list; } @Override public HazardousWaste getRowData(String rowKey) { Iterator iterator = this.iterator(); HazardousWaste su = null; while (iterator.hasNext()) { su = iterator.next(); if ( su.getId().equals(Long.parseLong(rowKey))) { return su; } } return null; } }; } return analysisDataModel; } public void modelAnalysisChange() { this.isAnalysSearch = true; } public void setAnalysisDataModel(LazyDataModel dataModel) { this.analysisDataModel = dataModel; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public boolean isSearch() { return isSearch; } public void setSearch(boolean search) { isSearch = search; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getApplyPerson() { return applyPerson; } public void setApplyPerson(String applyPerson) { this.applyPerson = applyPerson; } public String getProject() { return project; } public void setProject(String project) { this.project = project; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } public List getStatusList() { statusList = new ArrayList<> (); statusList.add("全部"); statusList.add("待解决"); statusList.add("已解决"); statusList.add("已拒绝"); return statusList; } public void export2Excel() { List list = hazardousWasteService.exportList(startTime,endTime,status,applyPerson,project,department,tid); try{ hazardousWasteService.export2Excel(list); }catch (Exception e){ e.printStackTrace(); FacesUtils.warn("导出失败"); } } public void exportStatistics2Excel(){ List list = hazardousWasteService.exportStatisticsList(startTime,endTime,status,applyPerson,project,department); try{ hazardousWasteService.exportStatistics2Excel(list); }catch (Exception e){ e.printStackTrace(); FacesUtils.warn("导出失败"); } } public String getTid() { return tid; } public void setTid(String tid) { this.tid = tid; } }