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