From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 18 八月 2021 14:27:59 +0800 Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错 --- src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java index ab07a2d..aa3190d 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java @@ -38,7 +38,7 @@ @Transactional(propagation = Propagation.REQUIRED) public List<SysLaboratoryContainer> getSysLaboratoryContainerList(String laboratoryType, String laboratoryName, - String laboratoryId, Integer first, Integer pageSize) { + String laboratoryId,String project,String controllerName, Integer first, Integer pageSize) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(laboratoryType)) { @@ -50,6 +50,8 @@ if (StringUtils.isNotBlank(laboratoryId)) { params.put("laboratoryId", laboratoryId); } + params.put("project", project); + params.put("controllerName", controllerName); params.put("first", first); params.put("pageSize", pageSize); return this.sysLaboratoryContainerDao.getSysLaboratoryContainerList(params); @@ -63,11 +65,11 @@ @Transactional(propagation = Propagation.REQUIRED) public List<SysLaboratoryContainer> getSysLaboratoryContainerList( String laboratoryId) { - return getSysLaboratoryContainerList(null,null,laboratoryId,null,null); + return getSysLaboratoryContainerList(null,null,laboratoryId,null,null,null,null); } @Transactional(propagation = Propagation.REQUIRED) - public int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName, String laboratoryId) { + public int getSysLaboratoryContainerTotalCount(String laboratoryType, String laboratoryName, String laboratoryId,String project,String controllerName) { try { Map<String, Object> params = new HashMap<String, Object>(); if (StringUtils.isNotBlank(laboratoryType)) { @@ -79,6 +81,8 @@ if (StringUtils.isNotBlank(laboratoryId)) { params.put("laboratoryId", laboratoryId); } + params.put("project", project); + params.put("controllerName", controllerName); return this.sysLaboratoryContainerDao.getSysLaboratoryContainerTotalCount(params); } catch (DataAccessException e) { logger.error(e.getMessage(), e); @@ -183,8 +187,7 @@ Map<String, Object> params = new HashMap<String, Object>(); params.put("containerCode", containerCode); params.put("editId", editId); - - int count = this.sysLaboratoryContainerDao.getSysLaboratoryContainerTotalCount(params); + int count = this.sysLaboratoryContainerDao.getSysLaboratoryContainerExist(params); return count > 0; } catch (DataAccessException e) { logger.error(e.getMessage(), e); @@ -258,10 +261,12 @@ } @Override - public List<Map> exportExcelList(String laboratoryType, String laboratoryName) { + public List<Map> exportExcelList(String laboratoryType, String laboratoryName,String project,String controllerName) { Map<String, String> params = new HashMap<>(); params.put("type", laboratoryType); params.put("name", laboratoryName); + params.put("project", project); + params.put("controllerName", controllerName); return sysLaboratoryContainerDao.exportExcelList(params); } @@ -276,17 +281,48 @@ map.put("infoCode", "临时存储库状态码"); map.put("structure", "临时存储库结构"); map.put("name", "临时存储库名称"); + map.put("project", "课题组"); ExcelUtils.export2Excel(list,"实验室临时存储库管理",map); } @Override public List<String> selectProjectsByContainerCode(String containerCode) { - String projects = sysLaboratoryContainerDao.selectProjectsByContainerCode(containerCode); - if (projects != null){ - return Arrays.asList(projects.split(",")); + List<String> projects = sysLaboratoryContainerDao.selectProjectsByContainerCode(containerCode); + if (projects.size() > 0){ + List<String> projectList = new ArrayList<>(); + for (String project : projects){ + if (StringUtils.isNotBlank(project)){ + projectList.addAll(Arrays.asList(project.split(","))); + } + } + return projectList; } return null; } + @Override + public boolean delBySlcIds(List<SysLaboratory> sysLaboratoryList) { + try { + if (sysLaboratoryList == null || sysLaboratoryList.size() == 0) { + return false; + } + + List<String> ids = new ArrayList<String>(); + for (SysLaboratory sysLaboratory : sysLaboratoryList) { + ids.add(sysLaboratory.getId()); + } + + int row = this.sysLaboratoryContainerDao.delSlcIds(ids); + return row != 0; + } catch (DataIntegrityViolationException ex) { + logger.warn(ex.getMessage(), ex); + throw new AlarmException(AlarmCode.DATA_CONFICT, MessageUtil.getMessage(AlarmCode.DATA_CONFICT.getCode())); + } catch (DataAccessException ex) { + logger.error(ex.getMessage(), ex); + throw new BusinessException(ExceptionEnumCode.DB_ERR, + MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex); + } + } + } -- Gitblit v1.9.2