From 854bb992352772d3c69b47549a709ff57b4944bb Mon Sep 17 00:00:00 2001
From: suerwei <18810552194@163.com>
Date: 星期四, 23 五月 2024 10:31:30 +0800
Subject: [PATCH] 管材管理_1

---
 javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java |   85 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 84 insertions(+), 1 deletions(-)

diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java
index c9ffa19..448f9b1 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java
@@ -1,14 +1,20 @@
 package com.javaweb.geo.service.impl;
 
+import java.io.File;
 import java.util.List;
 
+import cn.hutool.poi.excel.ExcelReader;
+import cn.hutool.poi.excel.ExcelUtil;
+import com.javaweb.common.config.Global;
 import com.javaweb.common.utils.DateUtils;
+import com.javaweb.geo.domain.TubLog;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.javaweb.geo.mapper.TubLogMapper;
-import com.javaweb.geo.domain.TubLog;
 import com.javaweb.geo.service.ITubLogService;
 import com.javaweb.common.core.text.Convert;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 鏉愭枡鍑哄叆搴撹褰昐ervice涓氬姟灞傚鐞�
@@ -18,8 +24,11 @@
  */
 @Service
 public class TubLogServiceImpl implements ITubLogService {
+
     @Autowired
     private TubLogMapper tubLogMapper;
+
+    private String fileSaveDir = Global.getProfile() + "\\template\\" ;
 
     /**
      * 鏌ヨ鏉愭枡鍑哄叆搴撹褰�
@@ -87,4 +96,78 @@
     public int deleteTubLogById(Integer id) {
         return tubLogMapper.deleteTubLogById(id);
     }
+
+    /**
+     * 鏌ヨ鏁版嵁搴撲腑id鏈�澶у��
+     * @return
+     */
+    @Override
+    public Integer selectMaxTubLogId(String projectId) {
+        return tubLogMapper.selectMaxTubLogId(projectId);
+    }
+
+    /**
+     * 瀵煎叆绠℃潗鍑哄叆搴撹褰�
+     */
+    @Override
+    public String importTubLog(String projectId, MultipartFile file, boolean updateSupport) {
+        // 鍏宠仈code
+        Integer number = tubLogMapper.selectMaxTubLogId(projectId);
+
+        try {
+            String dest = saveExcel(file);
+            List<TubLog> list = readData(dest);
+            for (TubLog item : list) {
+                // 杞崲椤圭洰淇℃伅
+                item.setProjectId(projectId);
+
+                // 杞崲number淇℃伅
+                if (ObjectUtils.isEmpty(number)){
+                    number = 1;
+                }else {
+                    number++;
+                }
+                String code = "ZTCJ" + String.format("%06d", number);
+                item.setCode(code);
+
+                item.setCreateDate(DateUtils.getNowDate());
+                insertTubLog(item);
+            }
+        } catch (Exception e) {
+            return e.toString();
+        }
+        return "瀵煎叆瀹屾瘯" ;
+    }
+
+
+    private String saveExcel(MultipartFile file) {
+        String filename = file.getOriginalFilename();
+        File dir = new File(fileSaveDir);
+        if (!dir.exists()) {
+            dir.mkdir();
+        }
+        String addr = fileSaveDir + filename;
+        try {
+            File dest = new File(addr);
+            file.transferTo(dest);
+        } catch (Exception e) {
+            return null;
+        }
+        return addr;
+    }
+
+    private List<TubLog> readData(String filepath) {
+        ExcelReader reader = ExcelUtil.getReader(filepath, 0);
+        reader.addHeaderAlias("绠℃潗鍚嶇О", "tubName");
+        reader.addHeaderAlias("鍏ュ簱鏃堕棿", "inboundDate");
+        reader.addHeaderAlias("鍑哄簱鏃堕棿", "outboundDate");
+        reader.addHeaderAlias("缁忓姙浜�", "optUser");
+        reader.addHeaderAlias("璐熻矗浜�", "applyUser");
+        reader.addHeaderAlias("鍑哄叆搴撴暟閲�", "number");
+        reader.addHeaderAlias("鏁版嵁鍗曚綅", "unit");
+        reader.addHeaderAlias("澶囨敞", "remark");
+
+        List<TubLog> list = reader.readAll(TubLog.class);
+        return list;
+    }
 }

--
Gitblit v1.9.1