From a061540bf4c2bdb81edc3898cd27f4ba18512846 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Thu, 22 Apr 2021 11:47:43 +0800
Subject: [PATCH] 实验室库存导出
---
src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java | 72 +++++++++++++++++++++++++++++++++++-
1 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java
index f4c3e7a..b2245e9 100644
--- a/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/OpeReagentStatusServiceImpl.java
@@ -11,12 +11,14 @@
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.dto.PersonUseDetail;
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
+import com.nanometer.smartlab.util.ExcelUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Lazy;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.dao.DuplicateKeyException;
+import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@@ -62,6 +64,8 @@
private OpeUseFlowDao opeUseFlowDao;
@Resource
private OpeWarehouseReserveDao opeWarehouseReserveDao;
+ @Resource
+ private BaseRoleService baseRoleService;
@Resource(name="baseMetaDao")
BaseMetaDao baseMetaDao;
@@ -106,7 +110,18 @@
params.put("name", "%" + name + "%");
params.put("articleNumber", articleNumber);
params.put("status", status);
- addParamByUserId(userId, params);
+// addParamByUserId(userId, params);
+ if (StringUtils.isNotBlank(userId)) {
+ SysUser sysUser = sysUserService.getSysUser(userId);
+ BaseRole baseRole = baseRoleService.getBaseRole(sysUser.getRoleId());
+ //不是系统管理员 根据用户的课题组判断可视(用户所在课题组是否 在实验室的课题组下)
+ if (!"系统管理员".equals(baseRole.getName())) {
+ if (StringUtils.isBlank(sysUser.getProject())) {
+ return null;
+ }
+ params.put("project", sysUser.getProject());
+ }
+ }
if (StringUtils.isNotBlank(reagentCode)) {
params.put("reagentCode", "%" + reagentCode + "%");
}
@@ -127,8 +142,19 @@
Map<String, Object> params = new HashMap<String, Object>();
params.put("name", "%" + name + "%");
- addParamByUserId(userId, params);
+// addParamByUserId(userId, params);
params.put("articleNumber", articleNumber);
+ if (StringUtils.isNotBlank(userId)) {
+ SysUser sysUser = sysUserService.getSysUser(userId);
+ BaseRole baseRole = baseRoleService.getBaseRole(sysUser.getRoleId());
+ //不是系统管理员 根据用户的课题组判断可视(用户所在课题组是否 在实验室的课题组下)
+ if (!"系统管理员".equals(baseRole.getName())) {
+ if (StringUtils.isBlank(sysUser.getProject())) {
+ return 0;
+ }
+ params.put("project", sysUser.getProject());
+ }
+ }
if (StringUtils.isNotBlank(reagentCode)) {
params.put("reagentCode", "%" + reagentCode + "%");
}
@@ -1059,4 +1085,46 @@
}
+ /**
+ * @Description: 导出
+ * @date 2021/4/22 10:33
+ */
+ @Override
+ public List<Map> selectExportList(String name, String articleNumber, Integer status, String reagentCode, String userId) {
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("name", name);
+ params.put("articleNumber", articleNumber);
+ params.put("status", status);
+ if (StringUtils.isNotBlank(userId)) {
+ SysUser sysUser = sysUserService.getSysUser(userId);
+ BaseRole baseRole = baseRoleService.getBaseRole(sysUser.getRoleId());
+ //不是系统管理员 根据用户的课题组判断可视(用户所在课题组是否 在实验室的课题组下)
+ if (!"系统管理员".equals(baseRole.getName())) {
+ if (StringUtils.isBlank(sysUser.getProject())) {
+ return null;
+ }
+ params.put("project", sysUser.getProject());
+ }
+ }
+ params.put("reagentCode", reagentCode);
+ return opeReagentStatusDao.selectExportList(params);
+ }
+
+ @Override
+ public void exportLabStock2Excel(List<Map> list) throws Exception {
+ Map<String, String> map = new LinkedHashMap<>();
+ map.put("houseName", "实验室名称");
+ map.put("containerCode", "临时存储库条码");
+ map.put("reagentName", "试剂名称");
+ map.put("reagentCode", "试剂条形码");
+ map.put("articleNumber", "批号");
+ map.put("cas", "cas");
+ map.put("productHome", "厂家");
+ map.put("supplierName", "供应商");
+ map.put("remainder", "残存量");
+ ExcelUtils.export2Excel(list,"实验室库存",map);
+ }
+
+
}
--
Gitblit v1.9.2