package com.nanometer.smartlab.controller; import java.util.*; import javax.annotation.Resource; 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 com.nanometer.smartlab.entity.OpeUseFlow; import com.nanometer.smartlab.entity.SysReagent; import com.nanometer.smartlab.service.OpeUseFlowService; import com.nanometer.smartlab.service.SysReagentService; @Controller @Scope("session") public class OpeUseFlowInfoController extends BaseController { /** * */ private static final long serialVersionUID = -3727385333864550393L; private static Logger logger = Logger.getLogger(OpeUseFlowInfoController.class); private LazyDataModel dataModel; private String reagentId; private String reagentCode; private String houseName; private Date startDate; private Date endDate; public String getHouseName() { return houseName; } public void setHouseName(String houseName) { this.houseName = houseName; } @Resource private OpeUseFlowService opeUseFlowService; @Resource private SysReagentService sysReagentService; private List reagentSelectList; public List getReagentSelectList() { if (this.reagentSelectList == null) { this.initReagentSelectList(); } return reagentSelectList; } public void setReagentSelectList(List reagentSelectList) { this.reagentSelectList = reagentSelectList; } private void initReagentSelectList() { this.setReagentSelectList(this.sysReagentService.getSysReagentList(null,null, null, null, null, null)); } public void initPage() { this.initReagentSelectList(); } @SuppressWarnings("serial") public LazyDataModel getDataModel(){ if (this.dataModel == null) { this.dataModel = new LazyDataModel() { @Override public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { List list = null; try { int count = opeUseFlowService.getOpeUseFlowTotalCountByName(houseName,reagentId, reagentCode, null, getUserId(),startDate,endDate); this.setRowCount(count); if (count > 0) { list = opeUseFlowService.getOpeUseFlowListByName(houseName,reagentId, reagentCode, null, getUserId(),startDate,endDate, first, pageSize); } } catch (Exception e) { logger.error(e); } return list; } @Override public OpeUseFlow getRowData(String rowKey) { Iterator iterator = this.iterator(); OpeUseFlow temp = null; if(iterator!= null) { while(iterator.hasNext()) { temp=iterator.next(); if(rowKey.equals(temp.getId())) { return temp; } } } return temp; } }; } return dataModel; } public String getReagentId() { return reagentId; } public void setReagentId(String reagentId) { this.reagentId = reagentId; } public String getReagentCode() { return reagentCode; } public void setReagentCode(String reagentCode) { this.reagentCode = reagentCode; } public Date getStartDate() { if (null == startDate){ Date now = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(now); cal.add(Calendar.DATE, -7); return cal.getTime(); }else { return startDate; } } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getEndDate() { if (null == endDate){ return new Date(); }else { return endDate; } } public void setEndDate(Date endDate) { this.endDate = endDate; } }