package com.nanometer.smartlab.controller; import com.nanometer.smartlab.entity.DangerousEncode; import com.nanometer.smartlab.service.DangerousEncodeService; import com.nanometer.smartlab.util.FacesUtils; import com.nanometer.smartlab.util.IDUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.primefaces.context.RequestContext; import org.primefaces.event.FileUploadEvent; 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 java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Map; @Controller @Scope("session") public class DangerousEncodeController extends BaseController{ private static Logger logger = Logger.getLogger(DangerousEncodeController.class); @Resource private DangerousEncodeService dangerousEncodeService; private LazyDataModel dataModel; private boolean isSearch; private DangerousEncode dangerousEncode; private DangerousEncode selectOne; private DangerousEncode dangerousEncodeFilter = new DangerousEncode(); 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 = dangerousEncodeService.countAll(dangerousEncodeFilter); this.setRowCount(pageCount); if (pageCount > 0) list = dangerousEncodeService.selectAll(dangerousEncodeFilter, isSearch?0:first, pageSize); //查询更换模式 if (isSearch){ isSearch = false; } selectOne = null; } catch (Exception e) { logger.error("error occured.", e); } return list; } @Override public DangerousEncode getRowData(String rowKey) { // Iterator iterator = this.iterator(); // DangerousEncode su = null; // while (iterator.hasNext()) { // su = iterator.next(); // if (Long.parseLong(rowKey) == (su.getId())) { // return su; // } // } return dangerousEncodeService.selectById(Long.parseLong(rowKey)); } }; } return dataModel; } public void onNewBtnClick(){ this.dangerousEncode = new DangerousEncode(); } //保存 public void onSaveBtnClick(){ try { String retmsg = ""; //插入 if (dangerousEncode.getId() == null) { //设置 id,创建者和更新时间 dangerousEncode.setCreator(getUser().getName()); dangerousEncode.setUpdateTime(new Date()); if (StringUtils.isBlank(dangerousEncode.getReagentCode())){ retmsg +=("试剂名称码不能为空"); }else { List list1 = dangerousEncodeService.selectByCodeAndName(dangerousEncode.getReagentCode(),null,null,null); if (list1.size() > 0){ retmsg +=("试剂名称码已存在,请更换"); } } if (StringUtils.isBlank(dangerousEncode.getReagentName())){ retmsg +=("试剂名称不能为空"); }else { List list1 = dangerousEncodeService.selectByCodeAndName(null,dangerousEncode.getReagentName(),null,null); if (list1.size() > 0){ retmsg +=("试剂名称已存在,请更换"); } } if (StringUtils.isBlank(dangerousEncode.getCode())){ retmsg +=("编码不能为空"); }else { List list1 = dangerousEncodeService.selectByCodeAndName(null,null,null,dangerousEncode.getCode()); if (list1.size() > 0){ retmsg +=("编码已存在,请更换"); } } //插入 if (StringUtils.isBlank(retmsg)) { dangerousEncodeService.insertOne(dangerousEncode); } } //更新 else{ if (StringUtils.isBlank(dangerousEncode.getReagentCode())){ retmsg +=("试剂名称码不能为空"); }else { List list1 = dangerousEncodeService.selectByCodeAndName(dangerousEncode.getReagentCode(),null,null,null); if (list1.size() > 0 && !list1.get(0).getId().equals(dangerousEncode.getId())){ retmsg +=("试剂名称码已存在,请更换"); } } if (StringUtils.isBlank(dangerousEncode.getReagentName())){ retmsg +=("试剂名称不能为空"); }else { List list1 = dangerousEncodeService.selectByCodeAndName(null,dangerousEncode.getReagentName(),null,null); if (list1.size() > 0 && !list1.get(0).getId().equals(dangerousEncode.getId())){ retmsg +=("试剂名称已存在,请更换"); } } if (StringUtils.isBlank(dangerousEncode.getCode())){ retmsg +=("编码不能为空"); }else { List list1 = dangerousEncodeService.selectByCodeAndName(null,null,null,dangerousEncode.getCode()); if (list1.size() > 0 && !list1.get(0).getId().equals(dangerousEncode.getId())){ retmsg += "编码已存在,请更换"; } } if (StringUtils.isBlank(retmsg)) { dangerousEncode.setUpdateTime(new Date()); dangerousEncodeService.updateOne(dangerousEncode); } } if (StringUtils.isNotBlank(retmsg)){ FacesUtils.error(retmsg); }else { RequestContext.getCurrentInstance().execute("PF('dialog').hide()"); FacesUtils.info("操作成功"); } }catch (Exception e){ e.printStackTrace(); FacesUtils.warn("操作失败"); } } //编辑 public void onEditBtnClick(){ if (this.selectOne == null) { FacesUtils.warn("请选择数据"); } else{ this.dangerousEncode = this.selectOne; RequestContext.getCurrentInstance().execute("PF('dialog').show()"); } } //删除 public void onDeleteBtnClick(){ if (this.selectOne == null) { FacesUtils.warn("请选择数据"); } else{ try { dangerousEncodeService.deleteOne(this.selectOne.getId()); FacesUtils.info("删除成功"); }catch (Exception e){ e.printStackTrace(); FacesUtils.warn("操作失败"); } } } //导入 public void importByExcel(FileUploadEvent event){ try { dangerousEncodeService.importInfoByExcel(event,getUser()); FacesUtils.info("导入完成"); } catch(Exception e){ e.printStackTrace(); FacesUtils.warn(e.getMessage()); } } //导出 public void export2Excel(){ List list = dangerousEncodeService.exportList(dangerousEncodeFilter); try{ dangerousEncodeService.export2Excel(list); }catch (Exception e){ e.printStackTrace(); FacesUtils.warn("导出失败"); } } public void modelChange(){ this.isSearch = true; } public DangerousEncode getDangerousEncode() { return dangerousEncode; } public void setDangerousEncode(DangerousEncode dangerousEncode) { this.dangerousEncode = dangerousEncode; } public DangerousEncode getSelectOne() { return selectOne; } public void setSelectOne(DangerousEncode selectOne) { this.selectOne = selectOne; } public DangerousEncode getDangerousEncodeFilter() { return dangerousEncodeFilter; } public void setDangerousEncodeFilter(DangerousEncode dangerousEncodeFilter) { this.dangerousEncodeFilter = dangerousEncodeFilter; } }