From 9c83533710bee14511ff454d092e20dcc8359105 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: Fri, 25 Jun 2021 18:10:17 +0800
Subject: [PATCH] update
---
src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java | 206 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 160 insertions(+), 46 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index f3c8dcd..6dca8bf 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -1,6 +1,7 @@
package com.nanometer.smartlab.service;
import com.nanometer.smartlab.dao.SysReagentDao;
+import com.nanometer.smartlab.entity.OpeWarehouseReserve;
import com.nanometer.smartlab.entity.SysReagent;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.exception.AlarmCode;
@@ -35,6 +36,8 @@
@Resource(name = "sysReagentDao")
SysReagentDao sysReagentDao;
+ @Resource
+ OpeWarehouseReserveService opeWarehouseReserveService;
@Transactional(propagation = Propagation.REQUIRED)
public List<SysReagent> getSysReagentList(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize) {
@@ -60,6 +63,136 @@
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
}
}
+
+ public List<SysReagent> getSysReagentListNew(String name, String cas, String supplierId,Integer type, Integer first, Integer pageSize,String productSn) {
+ try {
+ Map<String, Object> params = new HashMap<String, Object>();
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("supplierId", supplierId);
+ params.put("type", type);
+ params.put("first", first);
+ params.put("pageSize", pageSize);
+ params.put("productSn", productSn);
+ return this.sysReagentDao.getSysReagentListNew(params);
+ } catch (DataAccessException e) {
+ logger.error(e.getMessage(), e);
+ throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
+ }
+ }
+
+ /**
+ * @Description: 收藏与未收藏 0未收藏 1收藏 统计个数
+ * @date 2020/12/1 17:04
+ */
+ @Override
+ public int favorCount(SysUser user, String name, String cas, String supplierId, String productSn, Integer favorFlag) {
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("user", user.getId());
+ params.put("favorFlag", favorFlag);
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("supplierId", supplierId);
+ params.put("productSn", productSn);
+ return sysReagentDao.favorCount(params);
+ }
+
+ /**
+ * @Description: 收藏与未收藏 0未收藏 1收藏 统计详情
+ * @date 2020/12/1 17:04
+ */
+ @Override
+ public List<SysReagent> favorList(SysUser user, String name, String cas, String supplierId, String productSn, Integer favorFlag, Integer first, Integer pageSize) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("user", user.getId());
+ params.put("favorFlag", favorFlag);
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("supplierId", supplierId);
+ params.put("productSn", productSn);
+ params.put("first", first);
+ params.put("pageSize", pageSize);
+ return sysReagentDao.favorList(params);
+ }
+
+ @Override
+ public int reagentCount(SysUser user, String name, String cas, String supplierId, String productSn) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("user", user.getId());
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("supplierId", supplierId);
+ params.put("productSn", productSn);
+ return sysReagentDao.reagentCount(params);
+ }
+
+ @Override
+ public List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize,int count) {
+ Map<String, Object> params = new HashMap<>();
+ params.put("user", user.getId());
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("supplierId", supplierId);
+ params.put("productSn", productSn);
+ params.put("first", first);
+ params.put("pageSize", pageSize);
+ params.put("MaxSize", count);
+ return sysReagentDao.reagentList(params);
+ }
+
+ @Override
+ public String getReagentUnitByReagentId(String reagentId) {
+ return sysReagentDao.getReagentUnitByReagentId(reagentId);
+ }
+
+ @Override
+ public List<SysReagent> getReagent(String name, String cas, String factory, String specifications, String packing) {
+ Map<String, String> params = new HashMap<>();
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("factory", factory);
+ params.put("specifications", specifications);
+ params.put("packing", packing);
+ return sysReagentDao.getReagent(params);
+ }
+
+ @Override
+ public List<SysReagent> selectReagentSafetyNum() {
+
+ return sysReagentDao.selectReagentSafetyNum();
+ }
+
+ @Override
+ public void updateSafetyNum(SysReagent sysReagent) {
+ sysReagentDao.updateSafetyNum(sysReagent.getId(), sysReagent.getSafetynum());
+ }
+
+
+ /**
+ * @Description: 根据detail的信息获取试剂的id
+ * @date 2021/6/21 9:45
+ */
+ @Override
+ public SysReagent getReagentByDetail(Map<String, Object> detail) {
+ List<SysReagent> reagentIds = sysReagentDao.countReagentByDetail(detail);
+ if (reagentIds.size() != 1) {
+ return null;
+ }
+ return reagentIds.get(0);
+ }
+
+ @Override
+ public SysReagent getRowData(String rowKey) {
+ return sysReagentDao.getRowData(rowKey);
+ }
+
+ @Override
+ public SysReagent getSysReagentListNewRowData(String rowKey) {
+ return sysReagentDao.getSysReagentListNewRowData(rowKey);
+ }
+
+
@Transactional(propagation = Propagation.REQUIRED)
public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
try {
@@ -81,55 +214,25 @@
}
}
- @Transactional(propagation = Propagation.REQUIRED)
- public List<SysReagent> getSysReagentList2(SysUser user,Integer favorFlag, String name, String cas, String productSn, String supplierId, Integer first, Integer pageSize) {
- try {
- Map<String, Object> params = new HashMap<String, Object>();
- if (StringUtils.isNotBlank(name)) {
- params.put("name", "%" + name + "%");
- }
- if (StringUtils.isNotBlank(cas)) {
- params.put("cas", "%" + cas + "%");
- }
- if (StringUtils.isNotBlank(supplierId)) {
- params.put("supplierId", supplierId);
- }
- if (StringUtils.isNotBlank(productSn)) {
- params.put("productSn","%"+ productSn+"%");
- }
- params.put("user", user.getId());
- params.put("favor", favorFlag);
- params.put("first", first);
- params.put("pageSize", pageSize);
- return this.sysReagentDao.getSysReagentList(params);
- } catch (DataAccessException e) {
- logger.error(e.getMessage(), e);
- throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
- }
- }
- @Transactional(propagation = Propagation.REQUIRED)
- public int getSysReagentTotalCount2(SysUser user,Integer favorFlag, String name, String cas,String productSn, String supplierId) {
+ public int getSysReagentTotalCountNew(String name, String cas, String supplierId,Integer type,String productSn) {
try {
Map<String, Object> params = new HashMap<String, Object>();
- if (StringUtils.isNotBlank(name)) {
- params.put("name", "%" + name + "%");
- }
- if (StringUtils.isNotBlank(cas)) {
- params.put("cas", "%" + cas + "%");
- }
- if (StringUtils.isNotBlank(productSn)) {
- params.put("productSn","%"+ productSn+"%");
- }
- params.put("user", user.getId());
- params.put("favor", favorFlag);
+ params.put("name", name);
+ params.put("cas", cas);
+ params.put("type", type);
params.put("supplierId", supplierId);
- return this.sysReagentDao.getSysReagentTotalCount(params);
+ params.put("productSn", productSn);
+ return this.sysReagentDao.getSysReagentTotalCountNew(params);
} catch (DataAccessException e) {
logger.error(e.getMessage(), e);
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
}
}
+
+
+
+
@Transactional(propagation = Propagation.REQUIRED)
public SysReagent getSysReagent(String id) {
@@ -147,7 +250,7 @@
if (sysReagent.getId() == null) {
sysReagent.setId(IDUtils.uuid());
}
-
+ sysReagent.setName(sysReagent.getName().trim());
this.sysReagentDao.insertSysReagent(sysReagent);
return sysReagent;
} catch (DuplicateKeyException ex) {
@@ -165,6 +268,7 @@
@Transactional(propagation = Propagation.REQUIRED)
public boolean updateSysReagent(SysReagent sysReagent) {
try {
+ sysReagent.setName(sysReagent.getName().trim());
int row = this.sysReagentDao.updateSysReagent(sysReagent);
if (row == 0) {
@@ -192,6 +296,11 @@
List<String> ids = new ArrayList<String>();
for (SysReagent sysReagent : sysReagentList) {
+ //判断试剂在库中是否存在
+ int count = opeWarehouseReserveService.getOpeWarehouseReserveTotalCount(sysReagent.getId(), sysReagent.getSupplierId());
+ if (count > 0) {
+ throw new Exception();
+ }
ids.add(sysReagent.getId());
}
@@ -207,20 +316,25 @@
} catch (DataAccessException ex) {
logger.error(ex.getMessage(), ex);
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new BusinessException(ExceptionEnumCode.SYS_ERR,"试剂在库中已经有了不能删除");
}
}
@Override
+ @Transactional
public int insertSysReagentList(List<SysReagent> sysReagentList) {
try {
int i = 0;
for (SysReagent sysReagent:sysReagentList
) {
- SysReagent sysReagentTmpl = new SysReagent();
- sysReagentTmpl = sysReagentDao.getSysReagentByCas(sysReagent);
- if(sysReagentTmpl!=null){
- sysReagent.setId(sysReagentTmpl.getId());
- this.sysReagentDao.updateSysReagentForExport(sysReagent);
+ List<SysReagent> sysReagentTmpl = sysReagentDao.getSysReagentByCas(sysReagent);
+ if(sysReagentTmpl.size()>0){
+ for (SysReagent sr : sysReagentTmpl) {
+ sysReagent.setId(sr.getId());
+ this.sysReagentDao.updateSysReagentForExport(sysReagent);
+ }
}else{
if (sysReagent.getId() == null) {
sysReagent.setId(IDUtils.uuid());
--
Gitblit v1.9.2