package com.nanometer.smartlab.controller; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.annotation.Resource; import com.nanometer.smartlab.util.Constants; import com.nanometer.smartlab.util.FacesUtils; import org.apache.log4j.Logger; import org.primefaces.context.RequestContext; import org.primefaces.event.SelectEvent; 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.SysWarning; import com.nanometer.smartlab.service.BaseMetaService; import com.nanometer.smartlab.service.SysWarningService; @Controller @Scope("session") public class SysWarningsController extends BaseController { /** * */ private static final long serialVersionUID = 8009757365735077055L; private static Logger logger = Logger.getLogger(SysWarningsController.class); @Resource private SysWarningService sysWarningService; @Resource private BaseMetaService baseMetaService; private LazyDataModel dataModel; private List selectedList; private SysWarning selectedWarning; private String containerCode; private Timestamp startTime; private Timestamp endTime; public LazyDataModel getDataModel() { if (this.dataModel == null) { this.dataModel = new LazyDataModel() { /** * */ private static final long serialVersionUID = 1L; @Override public List load(int first, int pageSize, String sortField, SortOrder sortOrder, Map filters) { List list = null; try { int count = sysWarningService.getSysWarningTotalCount(containerCode, startTime, endTime); this.setRowCount(count); if (count > 0) { list = sysWarningService.getSysWarningList(containerCode, startTime, endTime, first, pageSize); } selectedList = new ArrayList<>(); } catch (Exception e) { logger.error(e); } return list; } @Override public SysWarning getRowData(String rowKey) { // Iterator iterator = this.iterator(); // if (iterator != null) { // SysWarning oa = null; // while (iterator.hasNext()) { // oa = iterator.next(); // if (rowKey.equals(oa.getId())) { // return oa; // } // } // } Long id=Long.valueOf(rowKey); return sysWarningService.getSysWarning(id); } }; } return dataModel; } public void onSaveBtnClick() { try { if (this.selectedWarning == null) { FacesUtils.warn("修改对象为空。"); return; } //不是done 就不用改 if (selectedWarning.getStatus() != 1){ RequestContext.getCurrentInstance().execute("PF('dialog').hide()"); return; } this.sysWarningService.updateSysWarning(selectedWarning); FacesUtils.info("修改成功。"); RequestContext.getCurrentInstance().execute("PF('dialog').hide()"); } catch (Exception e) { logger.error("操作失败。", e); FacesUtils.warn("操作失败。"); } } public void onEditBtnClick() { if (this.selectedList == null || this.selectedList.size() == 0) { FacesUtils.warn("请选择数据。"); return; } if (this.selectedList.size() > 1) { FacesUtils.warn("只能选择一个数据进行修改。"); return; } this.selectedWarning = this.sysWarningService.getSysWarning(this.selectedList.get(0).getId()); RequestContext.getCurrentInstance().execute("PF('dialog').show()"); } public List getSelectedList() { return selectedList; } public void setSelectedList(List selectedList) { this.selectedList = selectedList; } public String getContainerCode() { return containerCode; } public void setContainerCode(String containerCode) { this.containerCode = containerCode; } public Timestamp getStartTime() { return startTime; } public void setStartTime(Timestamp startTime) { this.startTime = startTime; } public Timestamp getEndTime() { return endTime; } public void setEndTime(Timestamp endTime) { this.endTime = endTime; } public void setDataModel(LazyDataModel dataModel) { this.dataModel = dataModel; } public SysWarning getSelectedWarning() { return selectedWarning; } public void setSelectedWarning(SysWarning selectedWarning) { this.selectedWarning = selectedWarning; } }