From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: Tue, 28 Nov 2023 11:00:42 +0800
Subject: [PATCH] 修改课题管理bug
---
src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java | 132 +++++++++++++++++++++++++++++++++++++++-----
1 files changed, 117 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
index 2e19650..2fe86b9 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysLaboratoryServiceImpl.java
@@ -1,11 +1,16 @@
package com.nanometer.smartlab.service;
import com.nanometer.smartlab.dao.SysLaboratoryDao;
+import com.nanometer.smartlab.dao.SysUserDao;
import com.nanometer.smartlab.entity.SysLaboratory;
+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;
@@ -18,10 +23,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* Created by cmower on 17/11/20.
@@ -33,9 +35,10 @@
@Resource(name = "sysLaboratoryDao")
SysLaboratoryDao sysLaboratoryDao;
+ @Resource
+ SysUserDao sysUserDao;
- @Transactional(propagation = Propagation.REQUIRED)
- public List<SysLaboratory> getSysLaboratoryList(String type, String name, Integer first, Integer pageSize) {
+ public List<SysLaboratory> getSysLaboratoryList(String type, String name,String project,Integer first, Integer pageSize) {
try {
Map<String, Object> params = new HashMap<String, Object>();
if (StringUtils.isNotBlank(type)) {
@@ -44,6 +47,7 @@
if (StringUtils.isNotBlank(name)) {
params.put("name", "%" + name + "%");
}
+ params.put("project", project);
params.put("first", first);
params.put("pageSize", pageSize);
return this.sysLaboratoryDao.getSysLaboratoryList(params);
@@ -54,8 +58,36 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
- public int getSysLaboratoryTotalCount(String type, String name) {
+ @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>();
if (StringUtils.isNotBlank(type)) {
@@ -64,6 +96,7 @@
if (StringUtils.isNotBlank(name)) {
params.put("name", "%" + name + "%");
}
+ params.put("project", project);
return this.sysLaboratoryDao.getSysLaboratoryTotalCount(params);
} catch (DataAccessException e) {
logger.error(e.getMessage(), e);
@@ -72,7 +105,6 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
public SysLaboratory getSysLaboratory(String id) {
try {
return this.sysLaboratoryDao.getSysLaboratory(id);
@@ -83,7 +115,16 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
+ public SysLaboratory getSysLaboratorySimpleInfo(String 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) {
@@ -105,7 +146,6 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
public boolean updateSysLaboratory(SysLaboratory sysLaboratory) {
try {
int row = this.sysLaboratoryDao.updateSysLaboratory(sysLaboratory);
@@ -125,7 +165,7 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
+
public boolean deleteSysLaboratory(List<SysLaboratory> sysLaboratoryList) {
try {
if (sysLaboratoryList == null || sysLaboratoryList.size() == 0) {
@@ -159,7 +199,7 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
+
public boolean isSysLaboratoryExist(String barCode, String editId) {
try {
Map<String, Object> params = new HashMap<String, Object>();
@@ -175,7 +215,7 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
+
public SysLaboratory getSysLaboratoryByBarCode(String barCode) {
try {
Map<String, Object> params = new HashMap<String, Object>();
@@ -224,8 +264,70 @@
}
}
+ @Override
+ public void exportLab2Excel(List<Map> list) throws Exception {
+
+ Map<String, String> map = new LinkedHashMap<>();
+ map.put("type", "类型");
+ map.put("name", "名称");
+ map.put("infoCode", "状态码");
+ map.put("barCode", "地址码");
+ map.put("location", "地址");
+ map.put("department", "部门");
+ map.put("project", "课题组");
+ ExcelUtils.export2Excel(list,"实验室信息",map);
+
+
+ }
+
@Override
- @Transactional(propagation = Propagation.REQUIRED)
+ public List<Map> exportLabList(String type, String name,String project) {
+ Map<String,String> params = new HashMap<>();
+ params.put("type", type);
+ params.put("name", name);
+ params.put("project", project);
+ return sysLaboratoryDao.exportLabList(params);
+ }
+
+ @Override
+ public List<LaboratoryVo.Laboratory> getLaboratoryByProject(String project) {
+ return sysLaboratoryDao.getLaboratoryByProject(project);
+ }
+
+ @Override
+ public List<SysLaboratory> getSysLaboratoryListByUserId(String userId) {
+ //1.根据用户的课题组获取实验室,没有就按照部门
+ SysUser user = sysUserDao.getSysUser(userId);
+ Map<String,Object> params = new HashMap<>();
+ if (StringUtils.isNotBlank(user.getProject())){
+ params.put("project", user.getProject());
+ List<SysLaboratory> list = sysLaboratoryDao.getSysLaboratoryList(params);
+ if (list.size() < 1) {
+ return this.getSysLaboratoryListByDep(user.getDepartment());
+ }else {
+ return list;
+ }
+ }else {
+ return this.getSysLaboratoryListByDep(user.getDepartment());
+ }
+
+ }
+
+ @Override
+ public List<Map> getPersonInChargeByProjects(String projectStr) {
+ List<Map> result = new ArrayList<>();
+ String[] projectSplit = projectStr.split(",");
+ for (int i = 0; i < projectSplit.length; i++) {
+ String project = projectSplit[i];
+ if (StringUtils.isBlank(project)) continue;
+
+ List<Map> tail = sysLaboratoryDao.getPersonInCharge(project);
+ result.addAll(tail);
+ }
+ return result;
+ }
+
+ @Override
public List<SysLaboratory> getSysLaboratoryListByDep(String depId) {
try {
Map<String, Object> params = new HashMap<String, Object>();
--
Gitblit v1.9.2