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/service/SysLaboratoryServiceImpl.java | 122 +++++++++++++++++++++++++++++----------- 1 files changed, 88 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java index 065b099..e5fb743 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java @@ -3,18 +3,19 @@ import com.nanometer.smartlab.dao.SysLaboratoryDao; import com.nanometer.smartlab.dao.SysUserDao; import com.nanometer.smartlab.entity.SysLaboratory; +import com.nanometer.smartlab.entity.SysProject; import com.nanometer.smartlab.entity.SysUser; import com.nanometer.smartlab.entity.dto.LaboratoryVo; import com.nanometer.smartlab.exception.AlarmCode; import com.nanometer.smartlab.exception.AlarmException; import com.nanometer.smartlab.exception.BusinessException; import com.nanometer.smartlab.exception.ExceptionEnumCode; +import com.nanometer.smartlab.model.CommonPage; import com.nanometer.smartlab.util.ExcelUtils; import com.nanometer.smartlab.util.IDUtils; import com.nanometer.smartlab.util.MessageUtil; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.dao.DataAccessException; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DuplicateKeyException; @@ -23,12 +24,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import javax.faces.context.FacesContext; -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.InputStream; import java.util.*; +import java.util.stream.Collectors; /** * Created by cmower on 17/11/20. @@ -43,7 +40,6 @@ @Resource SysUserDao sysUserDao; - @Transactional(propagation = Propagation.REQUIRED) public List<SysLaboratory> getSysLaboratoryList(String type, String name,String project,Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); @@ -64,7 +60,35 @@ } } - @Transactional(propagation = Propagation.REQUIRED) + @Override + public CommonPage<SysLaboratory> getSysLaboratoryList(Integer pageNum, Integer pageSize, String name) { + if(pageNum==null||pageNum<1){ + pageNum=1; + } + if(pageSize==null||pageSize<1){ + pageSize=10; + } + if(pageSize>50){ + pageSize=50; + } + Map<String, Object> params = new HashMap<>(); + if(StringUtils.isNotBlank(name)){ + params.put("name","%"+name+"%"); + } + params.put("first", (pageNum-1)*pageSize); + params.put("pageSize", pageSize); + CommonPage commonPage=new CommonPage(); + commonPage.setPageNum(pageNum); + commonPage.setPageSize(pageSize); + Long total=new Long(sysLaboratoryDao.getSysLaboratoryTotalCount(params)); + commonPage.setTotal(total); + commonPage.setTotalPage(CommonPage.getTotalPage(total,pageSize)); + List<SysLaboratory> sysReagents=sysLaboratoryDao.getSysLaboratorySimpleInfoList(params); + commonPage.setList(sysReagents); + return commonPage; + } + + public int getSysLaboratoryTotalCount(String type, String name,String project) { try { Map<String, Object> params = new HashMap<String, Object>(); @@ -83,8 +107,7 @@ } } - @Transactional(propagation = Propagation.REQUIRED) - public SysLaboratory getSysLaboratory(String id) { + public SysLaboratory getSysLaboratory(Long id) { try { return this.sysLaboratoryDao.getSysLaboratory(id); } catch (DataAccessException e) { @@ -94,12 +117,21 @@ } } - @Transactional(propagation = Propagation.REQUIRED) + public SysLaboratory getSysLaboratorySimpleInfo(Long id) { + try { + return this.sysLaboratoryDao.getSysLaboratorySimpleInfo(id); + } catch (DataAccessException e) { + logger.error(e.getMessage(), e); + throw new BusinessException(ExceptionEnumCode.DB_ERR, + MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e); + } + } + public SysLaboratory insertSysLaboratory(SysLaboratory sysLaboratory) { try { - if (sysLaboratory.getId() == null) { - sysLaboratory.setId(IDUtils.uuid()); - } +// if (sysLaboratory.getId() == null) { +// sysLaboratory.setId(IDUtils.uuid()); +// } this.sysLaboratoryDao.insertSysLaboratory(sysLaboratory); return sysLaboratory; } catch (DuplicateKeyException ex) { @@ -116,7 +148,6 @@ } } - @Transactional(propagation = Propagation.REQUIRED) public boolean updateSysLaboratory(SysLaboratory sysLaboratory) { try { int row = this.sysLaboratoryDao.updateSysLaboratory(sysLaboratory); @@ -136,14 +167,14 @@ } } - @Transactional(propagation = Propagation.REQUIRED) + public boolean deleteSysLaboratory(List<SysLaboratory> sysLaboratoryList) { try { if (sysLaboratoryList == null || sysLaboratoryList.size() == 0) { return false; } - List<String> ids = new ArrayList<String>(); + List<Long> ids = new ArrayList<Long>(); for (SysLaboratory sysLaboratory : sysLaboratoryList) { ids.add(sysLaboratory.getId()); } @@ -170,8 +201,8 @@ } } - @Transactional(propagation = Propagation.REQUIRED) - public boolean isSysLaboratoryExist(String barCode, String editId) { + + public boolean isSysLaboratoryExist(String barCode, Long editId) { try { Map<String, Object> params = new HashMap<String, Object>(); params.put("barCode", barCode); @@ -186,7 +217,7 @@ } } - @Transactional(propagation = Propagation.REQUIRED) + public SysLaboratory getSysLaboratoryByBarCode(String barCode) { try { Map<String, Object> params = new HashMap<String, Object>(); @@ -216,9 +247,9 @@ sysLaboratory.setId(sysLaboratoryTmpl.getId()); this.sysLaboratoryDao.updateLabExport(sysLaboratory); }else{ - if (sysLaboratoryTmpl == null) { - sysLaboratory.setId(IDUtils.uuid()); - } +// if (sysLaboratoryTmpl == null) { +// sysLaboratory.setId(IDUtils.uuid()); +// } this.sysLaboratoryDao.insertSysLaboratory(sysLaboratory); } } @@ -236,7 +267,7 @@ } @Override - public void exportLab2Excel(List<Map> list) throws Exception { + public void exportLab2Excel(List<SysLaboratory> list) throws Exception { Map<String, String> map = new LinkedHashMap<>(); map.put("type", "类型"); @@ -246,13 +277,30 @@ map.put("location", "地址"); map.put("department", "部门"); map.put("project", "课题组"); - ExcelUtils.export2Excel(list,"实验室信息",map); + List<Map> labList=new ArrayList<>(); + for(SysLaboratory sysLaboratory:list){ + Map<String,Object> labmap=new HashMap<>(); + labmap.put("type",sysLaboratory.getTypeName()); + labmap.put("name",sysLaboratory.getName()); + labmap.put("infoCode",sysLaboratory.getInfoCode()); + labmap.put("barCode",sysLaboratory.getBarCode()); + labmap.put("location",sysLaboratory.getLocation()); + labmap.put("department",sysLaboratory.getDepartmentName()); + List<SysProject> projects=sysLaboratory.getProjects(); + List<String> projectNames=new ArrayList<>(); + if(projects!=null&&projects.size()>0){ + projectNames=projects.stream().map(SysProject::getProjectName).collect(Collectors.toList()); + } + labmap.put("project",String.join(",",projectNames)); + labList.add(labmap); + } + ExcelUtils.export2Excel(labList,"实验室信息",map); } @Override - public List<Map> exportLabList(String type, String name,String project) { + public List<SysLaboratory> exportLabList(String type, String name,String project) { Map<String,String> params = new HashMap<>(); params.put("type", type); params.put("name", name); @@ -261,17 +309,17 @@ } @Override - public List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project) { - return sysLaboratoryDao.getLaboratoryByProject(project); + public List<LaboratoryVo.Laboratory> getLaboratoryByProject(Long projectId) { + return sysLaboratoryDao.getLaboratoryByProject(projectId); } @Override - public List<SysLaboratory> getSysLaboratoryListByUserId(String userId) { + public List<SysLaboratory> getSysLaboratoryListByUserId(Long userId) { //1.根据用户的课题组获取实验室,没有就按照部门 SysUser user = sysUserDao.getSysUser(userId); Map<String,Object> params = new HashMap<>(); - if (StringUtils.isNotBlank(user.getProject())){ - params.put("project", user.getProject()); + if (user.getProjectId()!=null){ + params.put("project", user.getProjectId()); List<SysLaboratory> list = sysLaboratoryDao.getSysLaboratoryList(params); if (list.size() < 1) { return this.getSysLaboratoryListByDep(user.getDepartment()); @@ -299,11 +347,17 @@ } @Override - @Transactional(propagation = Propagation.REQUIRED) - public List<SysLaboratory> getSysLaboratoryListByDep(String depId) { + public List<SysLaboratory> getLaboratoryByProjectId(Long projectId) { + return sysLaboratoryDao.getLaboratoryByProjectId(projectId); + } + + + + @Override + public List<SysLaboratory> getSysLaboratoryListByDep(Long depId) { try { Map<String, Object> params = new HashMap<String, Object>(); - if (StringUtils.isNotBlank(depId)) { + if (depId!=null) { params.put("department", depId); } return this.sysLaboratoryDao.getSysLaboratoryList(params); -- Gitblit v1.9.2