From 458dba2e9a28227c3371571b0e7916baf9cce0e3 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期三, 09 十二月 2020 10:26:59 +0800
Subject: [PATCH] 模块:供应商信息管理 新增:导出 提出:秦老师

---
 src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.xml                    |    9 +++++++++
 src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.java                   |    2 ++
 src/main/java/com/nanometer/smartlab/service/SysSupplierServiceImpl.java       |   18 ++++++++++++++++++
 src/main/java/com/nanometer/smartlab/controller/SupplierInfoMngController.java |   10 ++++++++++
 src/main/java/com/nanometer/smartlab/service/SysSupplierService.java           |    5 +++++
 src/main/webapp/supplier_info_mng.xhtml                                        |    3 ++-
 6 files changed, 46 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/SupplierInfoMngController.java b/src/main/java/com/nanometer/smartlab/controller/SupplierInfoMngController.java
index fc23401..923244e 100644
--- a/src/main/java/com/nanometer/smartlab/controller/SupplierInfoMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/SupplierInfoMngController.java
@@ -142,6 +142,16 @@
         return dataModel;
     }
 
+    public void export2Excel(){
+        List<Map> list = sysSupplierService.exportExcelList(name);
+        try{
+            sysSupplierService.export2Excel(list);
+        }catch (Exception e){
+            e.printStackTrace();
+            FacesUtils.warn("导出失败");
+        }
+    }
+
     public void uploadSupplier(FileUploadEvent event){
         try {
             sysSupplierService.importSupplier(event);
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.java b/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.java
index 067d925..a1e5f29 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.java
@@ -24,4 +24,6 @@
     public int deleteSysSupplier(List<String> ids) throws DataAccessException;
 
     void insertBatch(List<?> list);
+
+    List<Map> exportExcelList(Map<String, String> params);
 }
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.xml
index 7237625..d54e15d 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysSupplierDao.xml
@@ -39,6 +39,15 @@
     </if>
   </select>
 
+  <select id="exportExcelList" parameterType="java.util.Map" resultType="java.util.Map">
+    select name,person_name personName,phone,memo from sys_supplier
+    where valid_flag = 1
+    <if test="name != null and name !=''">
+      and  name like concat("%",#{name},"%")
+    </if>
+    order by name ASC
+  </select>
+
   <insert id="insertBatch" parameterType="java.util.List">
     insert into sys_supplier
     (id,name,person_name,phone,memo,create_time,valid_flag)
diff --git a/src/main/java/com/nanometer/smartlab/service/SysSupplierService.java b/src/main/java/com/nanometer/smartlab/service/SysSupplierService.java
index f802fb2..c8a263a 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysSupplierService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysSupplierService.java
@@ -4,6 +4,7 @@
 import org.primefaces.event.FileUploadEvent;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Created by johnny on 17/11/29.
@@ -23,4 +24,8 @@
     public boolean deleteSysSupplier(List<SysSupplier> sysSupplierList);
 
     void importSupplier(FileUploadEvent event) throws Exception;
+
+    List<Map> exportExcelList(String name);
+
+    void export2Excel(List<Map> list) throws Exception;
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysSupplierServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysSupplierServiceImpl.java
index 195e741..60f2897 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysSupplierServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysSupplierServiceImpl.java
@@ -6,6 +6,7 @@
 import com.nanometer.smartlab.exception.AlarmException;
 import com.nanometer.smartlab.exception.BusinessException;
 import com.nanometer.smartlab.exception.ExceptionEnumCode;
+import com.nanometer.smartlab.util.ExcelUtils;
 import com.nanometer.smartlab.util.IDUtils;
 import com.nanometer.smartlab.util.MessageUtil;
 import org.apache.commons.lang.StringUtils;
@@ -239,4 +240,21 @@
 
     }
 
+    @Override
+    public List<Map> exportExcelList(String name) {
+        Map<String, String> params = new HashMap<>();
+        params.put("name", name);
+        return sysSupplierDao.exportExcelList(params);
+    }
+
+    @Override
+    public void export2Excel(List<Map> list) throws Exception {
+        Map<String,String> map = new LinkedHashMap<>();
+        map.put("name", "供应商名");
+        map.put("personName", "联系人");
+        map.put("phone", "电话");
+        map.put("memo", "备注");
+        ExcelUtils.export2Excel(list,"供应商信息",map);
+    }
+
 }
diff --git a/src/main/webapp/supplier_info_mng.xhtml b/src/main/webapp/supplier_info_mng.xhtml
index e9ec98d..0175990 100644
--- a/src/main/webapp/supplier_info_mng.xhtml
+++ b/src/main/webapp/supplier_info_mng.xhtml
@@ -23,7 +23,7 @@
             </p:panelGrid>
         </p:panel>
         <p:panel styleClass="center-body">
-            <p:panelGrid columns="5" styleClass="btn">
+            <p:panelGrid columns="6" styleClass="btn">
                 <p:commandButton value="新建" styleClass="new-btn"
                                  process="@this"
                                  actionListener="#{supplierInfoMngController.onNewBtnClick}"
@@ -40,6 +40,7 @@
                     <p:confirm header="确认" message="确认操作?"></p:confirm>
                 </p:commandButton>
                 <p:commandButton value="导入" styleClass="import-btn" onclick="importSupplier()"/>
+                <p:commandButton value="导出" styleClass="new-btn"   ajax="false" actionListener="#{supplierInfoMngController.export2Excel}" />
 
                 <a href="resources/template/供应商导入模板.xlsx" style="display: inline-block;"><img src="resources/images/xlsx.png" width="30px;" alt=""/></a>
 

--
Gitblit v1.9.2