From 61b0fb5802f31e2f7673ddbf30e6d21220b6c7da Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期日, 07 二月 2021 09:05:42 +0800
Subject: [PATCH] 仓库货柜修改

---
 src/main/java/com/nanometer/smartlab/service/SysWarehouseContainerServiceImpl.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 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..9dc584a 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) {
@@ -194,5 +208,88 @@
         }
     }
 
+    @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.删除实验室临时存储柜
+        sysLaboratoryContainerDao.deleteSysLaboratoryContainers(ids);
+    }
+
 
 }

--
Gitblit v1.9.2