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/LaboratoryMngController.java | 103 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 73 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java index 5153a26..dce2411 100644 --- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java @@ -2,16 +2,18 @@ import java.io.InputStream; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; import javax.annotation.Resource; import com.nanometer.smartlab.entity.BaseMeta; +import com.nanometer.smartlab.entity.SysProject; import com.nanometer.smartlab.entity.SysReagent; import com.nanometer.smartlab.service.BaseMetaService; +import com.nanometer.smartlab.service.SysLaboratoryContainerService; +import com.nanometer.smartlab.service.SysProjectService; +import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; @@ -45,7 +47,11 @@ @Resource private SysLaboratoryService sysLaboratoryService; @Resource + private SysLaboratoryContainerService sysLaboratoryContainerService; + @Resource private BaseMetaService baseMetaService; + @Resource + private SysProjectService sysProjectService; /** * 数据源 */ @@ -53,13 +59,14 @@ /** * 数据模型 */ - private SysLaboratory sysLaboratory; + private SysLaboratory sysLaboratory=new SysLaboratory(); /** * 选中的list */ private List<SysLaboratory> selectedList; private String type; private String name; + private String project; private int action; @@ -82,9 +89,22 @@ RequestContext.getCurrentInstance().execute("PF('dialog').show()"); } + public String getProjectName(String project){ + if(StringUtils.isBlank(project)){ + return ""; + } + List<String> idstrs = Arrays.asList(project.split(",")); + List<Long> ids=idstrs.stream().map(item -> Long.valueOf(item)).collect(Collectors.toList()); + List<SysProject> projects=this.sysProjectService.getProjectByIds(ids); + if(projects==null||projects.size()==0){ + return ""; + } + List<String> projectNames=projects.stream().map(SysProject::getProjectName).collect(Collectors.toList()); + return String.join(",",projectNames); + } public void exportLab2Excel(){ try { - List<Map> list = sysLaboratoryService.exportLabList(type, name); + List<SysLaboratory> list = sysLaboratoryService.exportLabList(type, name,project); sysLaboratoryService.exportLab2Excel(list); FacesUtils.info("导出成功"); }catch (Exception e){ @@ -94,7 +114,6 @@ } public void uploadFile(FileUploadEvent event) { - System.out.println("=========导入开始====="); List<BaseMeta> typeList=baseMetaService.getBaseMetaList("laboratory_type"); List<BaseMeta> departList=baseMetaService.getBaseMetaList("user_department"); try{ @@ -150,10 +169,10 @@ } valuesList.add(cellInfo); - - } - System.out.println("value : "+valuesList); + if (valuesList.size() != 8){ + break; + } SysLaboratory laboratory=new SysLaboratory(); laboratory.setType(returnTypeId(typeList,valuesList.get(0))); laboratory.setName(valuesList.get(1)); @@ -162,10 +181,23 @@ laboratory.setLocation1(valuesList.get(4)); laboratory.setLocation2(valuesList.get(5)); laboratory.setDepartment(returnDepartId(departList,valuesList.get(6))); + + if (valuesList.size() > 7 && !valuesList.get(7).replace(" ","").isEmpty()){ + List<String> projects = Arrays.asList(valuesList.get(7).split(",")); + for (String project : projects) { + //不存再就直接推出 + if (!sysProjectService.isExistProject(project)) { + throw new Exception("课题组不存在,(" + i + "行)"); + } + } + //都存在就设置 + laboratory.setProject(valuesList.get(7).replace(" ","")); + }else{ + laboratory.setProject(null); + } sysLaboratories.add(laboratory); } sysLaboratoryService.insertSysReagentList(sysLaboratories); - System.out.println("=========导入结束====="); FacesUtils.info("导入成功。"); }catch (Exception ex) { ex.printStackTrace(); @@ -173,8 +205,8 @@ } } - public String returnTypeId(List<BaseMeta> list,String name){ - String id=""; + public Long returnTypeId(List<BaseMeta> list,String name){ + Long id=null; for(int i=0;i<list.size();i++){ if(name.equals(list.get(i).getMetaValue())){ id=list.get(i).getId(); @@ -183,8 +215,8 @@ return id; } - public String returnDepartId(List<BaseMeta> list,String name){ - String id=""; + public Long returnDepartId(List<BaseMeta> list,String name){ + Long id=null; for(int i=0;i<list.size();i++){ if(name.equals(list.get(i).getMetaValue())){ id=list.get(i).getId(); @@ -227,8 +259,8 @@ } //实体类重新获取项目组信息 - sysLaboratory.setProject(null); - sysLaboratory.getProject(); +// sysLaboratory.setProject(null); +// sysLaboratory.getProject(); this.sysLaboratoryService.updateSysLaboratory(sysLaboratory); FacesUtils.info("修改成功。"); @@ -248,6 +280,7 @@ } this.sysLaboratoryService.deleteSysLaboratory(this.selectedList); + this.sysLaboratoryContainerService.delBySlcIds(this.selectedList); FacesUtils.info("删除成功。"); } catch (Exception e) { @@ -265,11 +298,12 @@ Map<String, Object> filters) { List<SysLaboratory> list = null; try { - int count = sysLaboratoryService.getSysLaboratoryTotalCount(type, name); + int count = sysLaboratoryService.getSysLaboratoryTotalCount(type, name,project); this.setRowCount(count); if (count > 0) { - list = sysLaboratoryService.getSysLaboratoryList(type, name, first, pageSize); + list = sysLaboratoryService.getSysLaboratoryList(type, name,project, first, pageSize); } + selectedList = new ArrayList<> (); } catch (Exception e) { logger.error(e); } @@ -278,17 +312,18 @@ @Override public SysLaboratory getRowData(String rowKey) { - Iterator<SysLaboratory> iterator = this.iterator(); - if (iterator != null) { - SysLaboratory su = null; - while (iterator.hasNext()) { - su = iterator.next(); - if (rowKey.equals(su.getId())) { - return su; - } - } - } - return null; +// Iterator<SysLaboratory> iterator = this.iterator(); +// if (iterator != null) { +// SysLaboratory su = null; +// while (iterator.hasNext()) { +// su = iterator.next(); +// if (rowKey.equals(su.getId())) { +// return su; +// } +// } +// } + Long id=Long.valueOf(rowKey); + return sysLaboratoryService.getSysLaboratory(id); } }; } @@ -330,4 +365,12 @@ public void setType(String type) { this.type = type; } + + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } } -- Gitblit v1.9.2