From 29166bc750623bea12a367ba7c527facdb582235 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期二, 13 七月 2021 17:12:28 +0800
Subject: [PATCH] 修改转移试剂,生成领用单
---
src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 100 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java
index f900c66..df9e821 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java
@@ -9,6 +9,12 @@
import com.google.common.collect.ImmutableBiMap;
import com.google.common.collect.Maps;
+import com.nanometer.smartlab.dao.SysLaboratoryContainerDao;
+import com.nanometer.smartlab.dao.SysLaboratoryDao;
+import com.nanometer.smartlab.entity.SysLaboratory;
+import com.nanometer.smartlab.entity.SysLaboratoryContainer;
+import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.util.Constants;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.dao.DataAccessException;
@@ -37,6 +43,14 @@
@Resource(name = "sysWarehouseContainerDao")
SysWarehouseContainerDao sysWarehouseContainerDao;
+ @Resource
+ SysLaboratoryContainerDao sysLaboratoryContainerDao;
+ @Resource
+ SysLaboratoryDao sysLaboratoryDao;
+ @Resource
+ BaseMetaService baseMetaService;
+ @Resource
+ SysWarehouseService sysWarehouseService;
@Transactional(propagation = Propagation.REQUIRED)
public List<SysWarehouseContainer> getSysWarehouseContainerList(String warehouseType, String warehouseName, String warehouseId, Integer first, Integer pageSize) {
@@ -159,7 +173,7 @@
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
}
}
-
+
@Transactional(propagation = Propagation.REQUIRED)
public boolean isSysWarehouseContainerExist(String containerCode, String editId) {
try {
@@ -194,5 +208,90 @@
}
}
+ @Override
+ @Transactional
+ public void insertSysWarehouseContainer2(SysWarehouseContainer sysWarehouseContainer) {
+ //0.新建自己
+ this.insertSysWarehouseContainer(sysWarehouseContainer);
+ SysWarehouse sysWarehouse = sysWarehouseService.getSysWarehouse(sysWarehouseContainer.getWarehouseId());
+ //1.新建实验室
+ SysLaboratory sl = new SysLaboratory();
+
+ sl.setId(IDUtils.uuid());
+ sl.setType(baseMetaService.getBaseMetaList(Constants.BASE_META_GROUP_LABORATORY_TYPE).get(0).getId());
+ //判断是否已经存在该名称实验室
+ SysLaboratory sysLaboratory = sysLaboratoryDao.getSysLaboratoryByName(sysWarehouse.getName());
+ if (sysLaboratory == null) {
+ //新建实验室
+ sl.setName(sysWarehouse.getName());
+ sl.setInfoCode(sysWarehouse.getInfoCode());
+ sl.setBarCode(sysWarehouse.getBarCode());
+ sl.setLocation1(sysWarehouse.getLocation1());
+ sl.setLocation2(sysWarehouse.getLocation2());
+ sl.setDepartment(sysWarehouse.getDepartment());
+ sysLaboratoryDao.insertSysLaboratory(sl);
+ }else{
+ sl.setId(sysLaboratory.getId());
+ }
+
+ //新建临时存储库
+ Map<String,Object> params = new HashMap<>();
+ params.put("containerCode", sysWarehouseContainer.getContainerCode());
+ int count = sysLaboratoryContainerDao.getSysLaboratoryContainerTotalCount(params);
+ //判断是否已经存在该条码柜子
+ if (count < 1) {
+ SysLaboratoryContainer slc = new SysLaboratoryContainer();
+ slc.setId(IDUtils.uuid());
+ // (#{id}, #{laboratoryId}, #{type}, #{containerCode}, #{infoCode}, #{structure},
+ // #{name}, 1, #{characterLeft}, #{characterRight}, now(), now(), #{controllerCode},#{project})
+ slc.setLaboratoryId(sl.getId());
+ slc.setType(sysWarehouseContainer.getType());
+ slc.setContainerCode(sysWarehouseContainer.getContainerCode());
+ slc.setInfoCode(sysWarehouseContainer.getInfoCode());
+ slc.setStructure(sysWarehouseContainer.getStructure());
+ slc.setName(sysWarehouseContainer.getName());
+ slc.setCharacterLeft(sysWarehouseContainer.getCharacterLeft());
+ slc.setCharacterRight(sysWarehouseContainer.getCharacterRight());
+ slc.setControllerCode(sysWarehouseContainer.getControllerCode());
+ sysLaboratoryContainerDao.insertSysLaboratoryContainer(slc);
+ }
+
+ }
+
+ @Override
+ @Transactional
+ public void updateSysWarehouseContainer2(SysWarehouseContainer sysWarehouseContainer) {
+ //1.更新自己
+ this.updateSysWarehouseContainer(sysWarehouseContainer);
+ //2.更新实验室临时货柜 by ContainerCode
+ SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode(sysWarehouseContainer.getContainerCode());
+ sysLaboratoryContainer.setName(sysWarehouseContainer.getName());
+ sysLaboratoryContainer.setInfoCode(sysWarehouseContainer.getInfoCode());
+ sysLaboratoryContainer.setControllerCode(sysWarehouseContainer.getControllerCode());
+ sysLaboratoryContainer.setStructure(sysWarehouseContainer.getStructure());
+ sysLaboratoryContainer.setCharacterRight(sysWarehouseContainer.getCharacterRight());
+ sysLaboratoryContainer.setCharacterLeft(sysWarehouseContainer.getCharacterLeft());
+ sysLaboratoryContainerDao.updateSysLaboratoryContainer(sysLaboratoryContainer);
+
+ }
+
+ @Override
+ @Transactional
+ public void deleteSysWarehouseContainer2(List<SysWarehouseContainer> selectedList) {
+ //1.删除自己
+ this.deleteSysWarehouseContainer(selectedList);
+ List<String> ids = new ArrayList<>();
+ for (SysWarehouseContainer swc : selectedList) {
+ SysLaboratoryContainer slc = sysLaboratoryContainerDao.getSysLaboratoryContainerByContainerCode(swc.getContainerCode());
+ if (slc != null) {
+ ids.add(slc.getId());
+ }
+ }
+ //2.删除实验室临时存储柜
+ if (ids.size() > 0){
+ sysLaboratoryContainerDao.deleteSysLaboratoryContainers(ids);
+ }
+ }
+
}
--
Gitblit v1.9.2