From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期一, 01 七月 2024 10:58:35 +0800 Subject: [PATCH] change --- src/main/java/com/nanometer/smartlab/controller/HazardousWasteController.java | 377 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 355 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/HazardousWasteController.java b/src/main/java/com/nanometer/smartlab/controller/HazardousWasteController.java index bafb722..71eff66 100644 --- a/src/main/java/com/nanometer/smartlab/controller/HazardousWasteController.java +++ b/src/main/java/com/nanometer/smartlab/controller/HazardousWasteController.java @@ -2,18 +2,27 @@ import com.nanometer.smartlab.entity.HazardousWaste; +import com.nanometer.smartlab.entity.SysLaboratory; +import com.nanometer.smartlab.entity.SysUser; +import com.nanometer.smartlab.entity.dto.HazardousWasteUser; +import com.nanometer.smartlab.entity.enumtype.Waster; import com.nanometer.smartlab.service.HazardousWasteService; +import com.nanometer.smartlab.service.SysUserService; +import com.nanometer.smartlab.util.Constants; +import com.nanometer.smartlab.util.FacesUtils; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import org.primefaces.context.RequestContext; import org.primefaces.model.LazyDataModel; import org.primefaces.model.SortOrder; +import org.springframework.beans.factory.annotation.Autowired; 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; +import javax.faces.event.ActionListener; +import java.text.SimpleDateFormat; +import java.util.*; @Controller @Scope("session") @@ -25,11 +34,96 @@ private Date startTime; private Date endTime; + private String status; + private String applyPerson; + private Long projectId; + private String department; + private String tid; + private List<String> statusList = new ArrayList<> (); + private boolean isSearch = false; + private boolean isAnalysSearch = false; + private LazyDataModel<HazardousWaste> analysisDataModel; + private HazardousWaste selectedOne; + /** + * 选中的list + */ + private List<HazardousWaste> selectedList; - private boolean isSearch; + private HazardousWaste hazardousWaste=new HazardousWaste(); + + private int action; + @Autowired + private SysUserService sysUserService; + + private List<SysUser> userSelectList; @Resource private HazardousWasteService hazardousWasteService; + + public List<SysUser> getUserSelectList() { + if (userSelectList == null) { + this.initUserSelectList(); + } + return userSelectList; + } + + private void initUserSelectList() { + this.setUserSelectList(this.sysUserService.getSysUserList(null, null, null, null, null,null,null)); + } + + public SysUser getSelectedUserById(Long userId) { + SysUser sysUser=this.sysUserService.getSysUser(userId); + if(sysUser==null){ + return new SysUser(); + } + return sysUser; + } + + public void addHazardousWaste(){ + this.hazardousWaste = new HazardousWaste(); + this.action = Constants.ACTION_ADD; + RequestContext.getCurrentInstance().execute("PF('wastedialog').show()"); + } + + public void editHazardousWaste(){ + if (this.selectedList == null || this.selectedList.size() == 0) { + FacesUtils.warn("请选择数据。"); + return; + } + if (this.selectedList.size() > 1) { + FacesUtils.warn("只能选择一个数据进行修改。"); + return; + } + this.hazardousWaste=this.hazardousWasteService.selectById(this.selectedList.get(0).getId()); + this.action = Constants.ACTION_EDIT; + RequestContext.getCurrentInstance().execute("PF('wastedialog').show()"); + } + + public void onSaveBtnClick(){ + try { + Long userId = this.hazardousWaste.getApplyPerson(); + SysUser sysUser = sysUserService.getSysUser(userId); + this.hazardousWaste.setUnit(sysUser.getCompany()); + String userName = getUserName(); + if (this.action == Constants.ACTION_ADD) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + this.hazardousWaste.setCreator(userName); + this.hazardousWaste.setTid(sdf.format(new Date())); + this.hazardousWaste.setStatus("待确认"); + hazardousWasteService.insertInfo(this.hazardousWaste); + FacesUtils.info("新建成功。"); + RequestContext.getCurrentInstance().execute("PF('wastedialog').hide()"); + } else { + this.hazardousWaste.setUpdator(userName); + hazardousWasteService.updateWaste(this.hazardousWaste); + FacesUtils.info("修改成功。"); + RequestContext.getCurrentInstance().execute("PF('wastedialog').hide()"); + } + }catch (Exception e){ + logger.error("操作失败。", e); + FacesUtils.warn("操作失败。"); + } + } public LazyDataModel<HazardousWaste> getDataModel() { if (this.dataModel == null) { @@ -40,16 +134,26 @@ List<HazardousWaste> list = null; try { - int pageCount = hazardousWasteService.countAll(startTime,endTime); - - this.setRowCount(pageCount); - if (pageCount > 0) - list = hazardousWasteService.selectAll(startTime,endTime, isSearch ? 0 : first, pageSize); + if (getUser().getWaster() != null){ + if (getUser().getWaster().equals(Waster.MANAGE)){ + int pageCount = hazardousWasteService.countAll(startTime,endTime,status,applyPerson,projectId,department,tid); + this.setRowCount(pageCount); + if (pageCount > 0) + list = hazardousWasteService.selectAll(startTime,endTime,status,applyPerson,projectId,department,tid,first, pageSize); + }else if (getUser().getProjectId()!=null){ + int pageCount = hazardousWasteService.countAll(startTime,endTime,status,applyPerson,getUser().getProjectId(),department,tid); + this.setRowCount(pageCount); + if (pageCount > 0) + list = hazardousWasteService.selectAll(startTime,endTime,status,applyPerson,getUser().getProjectId(),department,tid,first, pageSize); + } + }else { + this.setRowCount(0); + } //查询更换模式 if (isSearch) { isSearch = false; } - + selectedOne = null; } catch (Exception e) { logger.error("error occured.", e); } @@ -58,15 +162,15 @@ @Override public HazardousWaste getRowData(String rowKey) { - Iterator<HazardousWaste> iterator = this.iterator(); - HazardousWaste su = null; - while (iterator.hasNext()) { - su = iterator.next(); - if ( su.getId().equals(Long.parseLong(rowKey))) { - return su; - } - } - return null; +// Iterator<HazardousWaste> iterator = this.iterator(); +// HazardousWaste su = null; +// while (iterator.hasNext()) { +// su = iterator.next(); +// if ( su.getId().equals(Long.parseLong(rowKey))) { +// return su; +// } +// } + return hazardousWasteService.selectById(Long.parseLong(rowKey)); } }; } @@ -77,10 +181,68 @@ this.isSearch = true; } - - public void setDataModel(LazyDataModel<HazardousWaste> dataModel) { this.dataModel = dataModel; + } + + public LazyDataModel<HazardousWaste> getAnalysisDataModel() { + if (this.analysisDataModel == null) { + this.analysisDataModel = new LazyDataModel<HazardousWaste>() { + + public List<HazardousWaste> load + (int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) { + + List<HazardousWaste> list = null; + try { + if (getUser().getWaster() != null){ + if (getUser().getWaster().equals(Waster.MANAGE)){ + int pageCount = hazardousWasteService.countStatistics(startTime,endTime,status,applyPerson,projectId,department); + this.setRowCount(pageCount); + if (pageCount > 0) + list = hazardousWasteService.selectStatistics(startTime,endTime,status,applyPerson,projectId,department,first, pageSize); + }else if (getUser().getProjectId()!=null){ + int pageCount = hazardousWasteService.countStatistics(startTime,endTime,status,applyPerson,getUser().getProjectId(),department); + this.setRowCount(pageCount); + if (pageCount > 0) + list = hazardousWasteService.selectStatistics(startTime,endTime,status,applyPerson,getUser().getProjectId(),department,first, pageSize); + } + }else { + this.setRowCount(0); + } + + //查询更换模式 + if (isAnalysSearch) { + isAnalysSearch = false; + } + } catch (Exception e) { + logger.error("error occured.", e); + } + return list; + } + + @Override + public HazardousWaste getRowData(String rowKey) { +// Iterator<HazardousWaste> 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<HazardousWaste> dataModel) { + this.analysisDataModel = dataModel; } public Date getStartTime() { @@ -106,4 +268,175 @@ 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 Long getProjectId() { + return projectId; + } + + public void setProject(Long projectId) { + this.projectId = projectId; + } + + public String getDepartment() { + return department; + } + + public void setDepartment(String department) { + this.department = department; + } + + public List<String> getStatusList() { + statusList = new ArrayList<> (); + statusList.add("全部"); + statusList.add("待确认"); + statusList.add("已确认"); + statusList.add("已拒绝"); + statusList.add("已取消"); + return statusList; + } + + + public void export2Excel() { + List<Map> list = new ArrayList<>(); + if (getUser().getWaster() != null){ + if (getUser().getWaster().equals(Waster.MANAGE)){ + list = hazardousWasteService.exportList(startTime,endTime,status,applyPerson,projectId,department,tid); + }else if (getUser().getProjectId()!=null){ + list = hazardousWasteService.exportList(startTime,endTime,status,applyPerson,getUser().getProjectId(),department,tid); + } + } + + try{ + hazardousWasteService.export2Excel(list); + }catch (Exception e){ + e.printStackTrace(); + FacesUtils.warn("导出失败"); + } + } + + public void exportStatistics2Excel(){ + List<Map> list = new ArrayList<>(); + if (getUser().getWaster() != null){ + if (getUser().getWaster().equals(Waster.MANAGE)){ + list = hazardousWasteService.exportStatisticsList(startTime,endTime,status,applyPerson,projectId,department); + }else if (getUser().getProjectId()!=null){ + list = hazardousWasteService.exportStatisticsList(startTime,endTime,status,applyPerson,getUser().getProjectId(),department); + } + } + try{ + hazardousWasteService.exportStatistics2Excel(list); + }catch (Exception e){ + e.printStackTrace(); + FacesUtils.warn("导出失败"); + } + } + + public void cancelOne(){ + //待确认状态的才能取消 + if (this.selectedList == null || this.selectedList.size() == 0) { + FacesUtils.warn("请选择数据。"); + return; + } + if (this.selectedList.size() > 1) { + FacesUtils.warn("只能选择一个数据进行修改。"); + return; + } + HazardousWaste hwaste=this.selectedList.get(0); + if (!"待确认".equals(hwaste.getStatus())) { + FacesUtils.warn("非待确认不能取消"); + return; + } + try { + hwaste.setStatus("已取消"); + hazardousWasteService.updateWaste(hwaste); + FacesUtils.warn("操作成功"); + } catch (Exception e) { + e.printStackTrace(); + FacesUtils.warn("操作失败"); + } + } + + public void recoverOne(){ + if (this.selectedList == null || this.selectedList.size() == 0) { + FacesUtils.warn("请选择数据。"); + return; + } + if (this.selectedList.size() > 1) { + FacesUtils.warn("只能选择一个数据进行修改。"); + return; + } + HazardousWaste hwaste=this.selectedList.get(0); + if (!"已取消".equals(hwaste.getStatus())) { + FacesUtils.warn("非已取消不能恢复"); + return; + } + try { + hwaste.setStatus("待确认"); + hazardousWasteService.updateWaste(hwaste); + FacesUtils.warn("操作成功"); + } catch (Exception e) { + e.printStackTrace(); + FacesUtils.warn("操作失败"); + } + } + + public String getTid() { + return tid; + } + + public void setTid(String tid) { + this.tid = tid; + } + + public HazardousWaste getSelectedOne() { + return selectedOne; + } + + public void setSelectedOne(HazardousWaste selectedOne) { + this.selectedOne = selectedOne; + } + + public List<HazardousWaste> getSelectedList() { + return selectedList; + } + + public void setSelectedList(List<HazardousWaste> selectedList) { + this.selectedList = selectedList; + } + + public HazardousWaste getHazardousWaste() { + return hazardousWaste; + } + + public void setHazardousWaste(HazardousWaste hazardousWaste) { + this.hazardousWaste = hazardousWaste; + } + + public int getAction() { + return action; + } + + public void setAction(int action) { + this.action = action; + } + + public void setUserSelectList(List<SysUser> userSelectList) { + this.userSelectList = userSelectList; + } } -- Gitblit v1.9.2