From 59d9ea33f503e363f2e2941c7c00cc9dd9d9d1c7 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期二, 28 十一月 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