From 3f1889e77f861a8284770c85bdd83204f6863f39 Mon Sep 17 00:00:00 2001
From: zmk <496160012@qq.com>
Date: 星期二, 28 五月 2024 18:07:43 +0800
Subject: [PATCH] Merge branch 'master' of ssh://117.78.1.188:29418/dkyChenJiang
---
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/TubLogServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 94 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..f7de5ef 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,21 @@
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.core.domain.AjaxResult;
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 +25,11 @@
*/
@Service
public class TubLogServiceImpl implements ITubLogService {
+
@Autowired
private TubLogMapper tubLogMapper;
+
+ private String fileSaveDir = Global.getProfile() + "\\template\\" ;
/**
* 鏌ヨ鏉愭枡鍑哄叆搴撹褰�
@@ -87,4 +97,87 @@
public int deleteTubLogById(Integer id) {
return tubLogMapper.deleteTubLogById(id);
}
+
+ /**
+ * 鏌ヨ鏁版嵁搴撲腑id鏈�澶у��
+ * @return
+ */
+ @Override
+ public Integer selectMaxTubLogId(String projectId) {
+ return tubLogMapper.selectMaxTubLogId(projectId);
+ }
+
+ /**
+ * 缁熻
+ */
+ @Override
+ public AjaxResult countTubLogDate(String projectId) {
+ List<TubLog> list = tubLogMapper.countTubLogDate(projectId);
+ return AjaxResult.success("鏌ヨ鎴愬姛锛�",list);
+ }
+
+ /**
+ * 瀵煎叆绠℃潗鍑哄叆搴撹褰�
+ */
+ @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