From 04bede5143bebe71270ef602c42c7fa9d063abbe Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期三, 23 十二月 2020 16:46:48 +0800
Subject: [PATCH] 获取仓库信息

---
 src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java     |    6 +
 src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java         |    3 
 src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseDto.java          |   80 ++++++++++++++++
 src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.java                 |    3 
 src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.xml                  |   48 +++++++++
 src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseContainerDto.java |   87 +++++++++++++++++
 src/main/java/com/nanometer/smartlab/api/ApiAction.java                       |   30 +++++
 7 files changed, 256 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index 2af3581..dbf3054 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -11,6 +11,7 @@
 import com.nanometer.smartlab.dao.SysWarehouseContainerDao;
 import com.nanometer.smartlab.entity.*;
 import com.nanometer.smartlab.entity.SysWarning;
+import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 import com.nanometer.smartlab.entity.enumtype.ApiStatus;
 import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
 import com.nanometer.smartlab.entity.enumtype.SeeFlag;
@@ -66,6 +67,8 @@
     private BaseMetaService baseMetaService;
     @Resource
     private InterfaceService interfaceService;
+    @Resource
+    private SysWarehouseService sysWarehouseService;
 
     @Resource
     private SysWarningService sysWarningService;
@@ -1187,7 +1190,10 @@
         return ResponseModel.getOkInstence(code);
     }
 
-
+    /**
+     * 获取替换字典
+     *
+     */
     @ResponseBody
     @RequestMapping("getEncodeReplaceDict")
     public Object getEncodeReplaceDict(@RequestParam String type) {
@@ -1205,6 +1211,10 @@
 
     }
 
+    /**
+     * 获取编码
+     *
+     */
     @ResponseBody
     @RequestMapping("getDangerousEncode")
     public Object getDangerousEncode(@RequestParam(required = false) String reagentName, @RequestParam(required = false) String cas) {
@@ -1218,6 +1228,24 @@
     }
 
     }
+    /**
+     * 获取仓库信息
+     */
+    @ResponseBody
+    @RequestMapping("getWarehouseInfo")
+    public Object getWarehouseInfo() {
+        try {
+            List<SysWarehouseDto> data = sysWarehouseService.getWarehouseList();
+            return ResponseModel.getOkInstence(data);
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.info(e);
+            return ResponseModel.getErrInstance("系统出错");
+        }
+
+    }
+
+
 
 
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.java b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.java
index f6e60e2..c099403 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.java
@@ -1,6 +1,7 @@
 package com.nanometer.smartlab.dao;
 
 import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 import org.springframework.dao.DataAccessException;
 
 import java.util.List;
@@ -23,4 +24,6 @@
     public int deleteSysWarehouses(List<String> ids) throws DataAccessException;
 
     public SysWarehouse getSysWarehouseByBarCode(String barCode) throws DataAccessException;
+
+    List<SysWarehouseDto> selectWarehouse();
 }
\ No newline at end of file
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.xml
index 968ce43..554dea7 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysWarehouseDao.xml
@@ -14,6 +14,27 @@
     <result property="updateTime" column="update_time"></result>
   </resultMap>
 
+  <resultMap id="SysWarehouseDto" type="com.nanometer.smartlab.entity.dto.SysWarehouseDto">
+    <id property="id" column="id"/>
+    <result property="type" column="type"/>
+    <result property="name" column="name"/>
+    <result property="infoCode" column="info_code"/>
+    <result property="barCode" column="bar_code"/>
+    <result property="location1" column="location1"/>
+    <result property="location2" column="location2"/>
+    <collection property="sysWarehouseContainerDto" ofType="com.nanometer.smartlab.entity.dto.SysWarehouseContainerDto" fetchType="lazy">
+      <id property="id" column="wc_id"/>
+      <result property="type" column="wc_type"/>
+      <result property="name" column="wc_name"/>
+      <result property="containerCode" column="container_code"/>
+      <result property="infoCode" column="info_code"/>
+      <result property="structure" column="structure"/>
+      <result property="warehouseContainerName" column="wc_name"/>
+      <result property="warehouseContainerType" column="wc_type"/>
+      <result property="controllerCode" column="controller_code"/>
+    </collection>
+  </resultMap>
+
   <sql id="queryWhereSql">
     <if test="type != null and type != ''">
       and su.type = #{type}
@@ -79,4 +100,31 @@
     select * from sys_warehouse
     where bar_code = #{barCode}
   </select>
+  
+  
+  <select id="selectWarehouse" resultMap="SysWarehouseDto">
+ SELECT
+	sw.id,
+	bm1.meta_value type,
+	sw.`name` name ,
+	sw.info_code,
+	sw.bar_code,
+	sw.location1,
+	sw.location2,
+	swc.id wc_id,
+	bm2.meta_value wc_type,
+	swc.`name` wc_name,
+	swc.info_code ,
+	swc.controller_code,
+	bm3.meta_value structure,
+	swc.container_code
+FROM
+	`sys_warehouse` sw
+	LEFT JOIN base_meta bm1 ON bm1.id = sw.type
+	LEFT JOIN sys_warehouse_container swc ON swc.warehouse_id = sw.id
+	LEFT JOIN base_meta bm2 ON bm2.id = swc.type
+	LEFT JOIN base_meta bm3 ON bm3.id = swc.structure
+	where sw.valid_flag = 1
+	AND swc.valid_flag = 1
+  </select>
 </mapper>
diff --git a/src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseContainerDto.java b/src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseContainerDto.java
new file mode 100644
index 0000000..b37c9aa
--- /dev/null
+++ b/src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseContainerDto.java
@@ -0,0 +1,87 @@
+package com.nanometer.smartlab.entity.dto;
+
+public class SysWarehouseContainerDto {
+
+    private String id;
+    private String type;
+    private String warehouseContainerType;
+    private String warehouseContainerName;
+    private String containerCode;
+    private String infoCode;
+    private String structure;
+    private String name;
+    private String controllerCode;
+
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getWarehouseContainerType() {
+        return warehouseContainerType;
+    }
+
+    public void setWarehouseContainerType(String warehouseContainerType) {
+        this.warehouseContainerType = warehouseContainerType;
+    }
+
+    public String getWarehouseContainerName() {
+        return warehouseContainerName;
+    }
+
+    public void setWarehouseContainerName(String warehouseContainerName) {
+        this.warehouseContainerName = warehouseContainerName;
+    }
+
+    public String getContainerCode() {
+        return containerCode;
+    }
+
+    public void setContainerCode(String containerCode) {
+        this.containerCode = containerCode;
+    }
+
+    public String getInfoCode() {
+        return infoCode;
+    }
+
+    public void setInfoCode(String infoCode) {
+        this.infoCode = infoCode;
+    }
+
+    public String getStructure() {
+        return structure;
+    }
+
+    public void setStructure(String structure) {
+        this.structure = structure;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getControllerCode() {
+        return controllerCode;
+    }
+
+    public void setControllerCode(String controllerCode) {
+        this.controllerCode = controllerCode;
+    }
+}
diff --git a/src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseDto.java b/src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseDto.java
new file mode 100644
index 0000000..4895a81
--- /dev/null
+++ b/src/main/java/com/nanometer/smartlab/entity/dto/SysWarehouseDto.java
@@ -0,0 +1,80 @@
+package com.nanometer.smartlab.entity.dto;
+
+import com.nanometer.smartlab.entity.SysWarehouseContainer;
+
+import java.util.*;
+public class SysWarehouseDto {
+
+    private String id;
+    private String type;
+    private String name;
+    private String infoCode;
+    private String barCode;
+    private String location1;
+    private String location2;
+    private List<SysWarehouseContainerDto> sysWarehouseContainerDto;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getInfoCode() {
+        return infoCode;
+    }
+
+    public void setInfoCode(String infoCode) {
+        this.infoCode = infoCode;
+    }
+
+    public String getBarCode() {
+        return barCode;
+    }
+
+    public void setBarCode(String barCode) {
+        this.barCode = barCode;
+    }
+
+    public String getLocation1() {
+        return location1;
+    }
+
+    public void setLocation1(String location1) {
+        this.location1 = location1;
+    }
+
+    public String getLocation2() {
+        return location2;
+    }
+
+    public void setLocation2(String location2) {
+        this.location2 = location2;
+    }
+
+    public List<SysWarehouseContainerDto> getSysWarehouseContainerDto() {
+        return sysWarehouseContainerDto;
+    }
+
+    public void setSysWarehouseContainerDto(List<SysWarehouseContainerDto> sysWarehouseContainerDto) {
+        this.sysWarehouseContainerDto = sysWarehouseContainerDto;
+    }
+}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
index de87a56..b1c2675 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
@@ -1,6 +1,7 @@
 package com.nanometer.smartlab.service;
 
 import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 
 import java.util.List;
 
@@ -18,4 +19,6 @@
     public boolean deleteSysWarehouse(List<SysWarehouse> sysWarehouseList);
     public boolean isSysWarehouseExist(String barCode, String editId);
 
+    List<SysWarehouseDto> getWarehouseList();
+
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
index 8d039bb..dbd05ef 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.nanometer.smartlab.dao.SysWarehouseDao;
 import com.nanometer.smartlab.entity.SysWarehouse;
+import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 import com.nanometer.smartlab.exception.AlarmCode;
 import com.nanometer.smartlab.exception.AlarmException;
 import com.nanometer.smartlab.exception.BusinessException;
@@ -164,4 +165,9 @@
             throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
         }
     }
+
+    @Override
+    public List<SysWarehouseDto> getWarehouseList() {
+        return sysWarehouseDao.selectWarehouse();
+    }
 }

--
Gitblit v1.9.2