From b159e50bbf0f055a69ba5430fb956021ab90b450 Mon Sep 17 00:00:00 2001
From: suerwei <18810552194@163.com>
Date: 星期五, 17 五月 2024 17:41:07 +0800
Subject: [PATCH] 进出库管理调整字段
---
javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 78 insertions(+), 1 deletions(-)
diff --git a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java
index ee49ede..12845c1 100644
--- a/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java
+++ b/javaweb-plus/javaweb-cms/src/main/java/com/javaweb/geo/service/impl/DeviceLogServiceImpl.java
@@ -1,9 +1,18 @@
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.common.utils.IdGenerate;
+import com.javaweb.geo.domain.Device;
+import com.javaweb.geo.domain.Project;
+import com.javaweb.geo.enums.RecordType;
+import com.javaweb.geo.service.IDeviceService;
+import com.javaweb.geo.service.IProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.javaweb.geo.mapper.DeviceLogMapper;
@@ -11,6 +20,7 @@
import com.javaweb.geo.service.IDeviceLogService;
import com.javaweb.common.core.text.Convert;
import org.springframework.util.ObjectUtils;
+import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.genid.GenIdUtil;
/**
@@ -21,8 +31,17 @@
*/
@Service
public class DeviceLogServiceImpl implements IDeviceLogService {
+
@Autowired
private DeviceLogMapper deviceLogMapper;
+
+ @Autowired
+ private IProjectService projectService;
+
+ @Autowired
+ private IDeviceService deviceService;
+
+ private String fileSaveDir = Global.getProfile() + "\\template\\" ;
/**
* 鏌ヨ璁惧鍑哄叆搴撹褰�
@@ -57,7 +76,7 @@
if(ObjectUtils.isEmpty(deviceLog.getId())){
deviceLog.setId(IdGenerate.nextId());
}
- deviceLog.setCreateTime(DateUtils.getNowDate());
+ deviceLog.setCreateDate(DateUtils.getNowDate());
return deviceLogMapper.insertDeviceLog(deviceLog);
}
@@ -93,4 +112,62 @@
public int deleteDeviceLogById(String id) {
return deviceLogMapper.deleteDeviceLogById(id);
}
+
+
+ /**
+ * 瀵煎叆璁惧鍑哄叆搴撹褰�
+ */
+ @Override
+ public String importDeviceLog(String projectId,MultipartFile file, boolean updateSupport) {
+ // 鍏宠仈椤圭洰淇℃伅
+ Project project = projectService.selectProjectById(projectId);
+
+ try {
+ String dest = saveExcel(file);
+ List<DeviceLog> list = readData(dest);
+ for (DeviceLog item : list) {
+ // 杞崲椤圭洰淇℃伅
+ item.setProjectId(projectId);
+ item.setProjectName(project.getFullName());
+
+ item.setCreateDate(DateUtils.getNowDate());
+ insertDeviceLog(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<DeviceLog> readData(String filepath) {
+ ExcelReader reader = ExcelUtil.getReader(filepath, 0);
+ reader.addHeaderAlias("鍑哄叆搴撳崟瀛愬彿", "code");
+ reader.addHeaderAlias("璁惧鍚嶇О", "deviceName");
+ reader.addHeaderAlias("绫诲瀷", "type");
+ reader.addHeaderAlias("鍏ュ簱鏃堕棿", "inboundDate");
+ reader.addHeaderAlias("鍑哄簱鏃堕棿", "outboundDate");
+ reader.addHeaderAlias("缁忓姙浜�", "optUser");
+ reader.addHeaderAlias("璐熻矗浜�", "applyUser");
+ reader.addHeaderAlias("鍑哄叆搴撴暟閲�", "number");
+ reader.addHeaderAlias("澶囨敞", "remark");
+
+ List<DeviceLog> list = reader.readAll(DeviceLog.class);
+ return list;
+ }
}
--
Gitblit v1.9.1