From b7735518ee19f52e6fbc5ae5f047f916ec5bddee Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期五, 18 六月 2021 17:10:57 +0800 Subject: [PATCH] 修改按钮权限、删除实验室时同时删除存储柜、添加存储柜时条码你不能重复 --- src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java | 3 + src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java | 4 ++ src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml | 19 +++++++++ src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java | 3 + src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java | 6 ++- src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java | 12 ++++-- src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java | 4 ++ src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java | 3 + src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java | 2 + src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java | 27 ++++++++++++- 10 files changed, 71 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java index 3b541bc..9144e5d 100644 --- a/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/ApprovalMngController.java @@ -93,7 +93,8 @@ String id=getUserId(); SysUser sysUser = sysUserService.getSysUser(id); // 不是管理员时 - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { this.approvalFlag=false; }else { this.approvalFlag=true; diff --git a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java index 0238a7f..a484ce3 100644 --- a/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/LaboratoryMngController.java @@ -9,6 +9,7 @@ import com.nanometer.smartlab.entity.BaseMeta; 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.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -42,6 +43,8 @@ @Resource private SysLaboratoryService sysLaboratoryService; + @Resource + private SysLaboratoryContainerService sysLaboratoryContainerService; @Resource private BaseMetaService baseMetaService; @Resource @@ -264,6 +267,7 @@ } this.sysLaboratoryService.deleteSysLaboratory(this.selectedList); + this.sysLaboratoryContainerService.delBySlcIds(this.selectedList); FacesUtils.info("删除成功。"); } catch (Exception e) { diff --git a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java index 98deb6d..aceb47d 100644 --- a/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/WarehouseStockMngController.java @@ -426,7 +426,8 @@ System.out.println(getUser().getSeeFlag().getKey()); //SysUser u=sysUserService.getSysUser(getUserId()); //System.out.println(u); - if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (getUser().getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && getUser().getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { editFlag=0; }else{ editFlag=1; diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java index 0fa11d9..ae1af69 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java +++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.java @@ -48,4 +48,8 @@ List<Map> exportExcelList(Map params); List<String> selectProjectsByContainerCode(String containerCode); + + int delSlcIds(List<String> ids); + + int getSysLaboratoryContainerExist(Map<String, Object> params); } diff --git a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml index 7b9520c..bf8afd8 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysLaboratoryContainerDao.xml @@ -24,7 +24,13 @@ <update id="updateInfo" parameterType="java.util.Map"> update sys_laboratory_container set temp=#{temp},humidity=#{humidity},voc1=#{voc1},flag=#{flag} where id=#{containerId} </update> - + <update id="delSlcIds" parameterType="java.util.List"> + update sys_laboratory_container set valid_flag=0, update_time=now() + where laboratory_id in + <foreach collection="list" item="item" index="index" open="(" separator="," close=")"> + #{item} + </foreach> + </update> <select id="getSysLaboratoryContainerInfoList" parameterType="java.util.Map" resultMap="SysLaboratoryContainer" > select container_code,name,valid_flag,type,character_left,character_right from sys_laboratory_container where update_time >= #{startTime} and #{endTime} > update_time </select> @@ -254,4 +260,15 @@ AND slc.valid_flag = 1 AND sl.valid_flag = 1 </select> + <select id="getSysLaboratoryContainerExist" resultType="java.lang.Integer"> + select count(1) + from sys_laboratory_container as su + where su.valid_flag = 1 + <if test="containerCode != null and containerCode != ''"> + and su.container_code = #{containerCode} + </if> + <if test="editId != null and editId != ''"> + and su.id != #{editId} + </if> + </select> </mapper> diff --git a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java index 88d24c1..4da1d67 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeApplyServiceImpl.java @@ -71,7 +71,8 @@ if (StringUtils.isNotBlank(applyUserId)) { SysUser sysUser = sysUserService.getSysUser(applyUserId); // 不是管理员时,加入applyUserId - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { params.put("applyUserId", applyUserId); } @@ -112,7 +113,8 @@ if (StringUtils.isNotBlank(approveUserId)) { SysUser sysUser = sysUserService.getSysUser(approveUserId); // 不是管理员时,加入applyUserId - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { params.put("approveUserId", approveUserId); } } @@ -151,7 +153,8 @@ if (StringUtils.isNotBlank(approveUserId)) { SysUser sysUser = sysUserService.getSysUser(approveUserId); // 不是管理员时,加入applyUserId - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { params.put("approveUserId", approveUserId); } } @@ -189,7 +192,8 @@ if (StringUtils.isNotBlank(applyUserId)) { SysUser sysUser = sysUserService.getSysUser(applyUserId); // 不是管理员时,加入applyUserId - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { params.put("applyUserId", applyUserId); } diff --git a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java index eb87d2a..69b6471 100644 --- a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java @@ -335,7 +335,8 @@ // 不是管理员时,加入userid //if (sysUser.getSeeFlag().getKey() == SeeFlag.MANAGE.getKey()||sysUser.getSeeFlag().getKey() == SeeFlag.LEADING.getKey()) { - if (sysUser.getSeeFlag().getKey() == SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() == SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { } else { params.put("userId", userId); diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java index 737f8dd..b4685e6 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerService.java @@ -1,5 +1,6 @@ package com.nanometer.smartlab.service; +import com.nanometer.smartlab.entity.SysLaboratory; import com.nanometer.smartlab.entity.SysLaboratoryContainer; import com.nanometer.smartlab.entity.SysUser; @@ -37,4 +38,5 @@ List<String> selectProjectsByContainerCode(String containerCode); + boolean delBySlcIds(List<SysLaboratory> selectedList); } diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java index 5a5a6f6..aa3190d 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryContainerServiceImpl.java @@ -187,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); @@ -302,4 +301,28 @@ 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); + } + } + } diff --git a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java index 806cfef..e82e8a7 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysProjectServiceImpl.java @@ -120,7 +120,8 @@ if (StringUtils.isNotBlank(createrUser)) { SysUser sysUser = sysUserService.getSysUser(createrUser); // 不是管理员时,加入applyUserId - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { params.put("createrUser", createrUser); } } @@ -144,7 +145,8 @@ if (StringUtils.isNotBlank(createrUser)) { SysUser sysUser = sysUserService.getSysUser(createrUser); // 不是管理员时,加入applyUserId - if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey()) { + if (sysUser.getSeeFlag().getKey() != SeeFlag.MANAGE.getKey() + && sysUser.getSeeFlag().getKey() != SeeFlag.LEADING.getKey()) { params.put("createrUser", createrUser); } } -- Gitblit v1.9.2