Browse Source

base-ui文件上传,SAX读取xlsx传-1

master
lzh 2 years ago
parent
commit
e75d48a23c
  1. 4
      base-ui/src/layout/components/AppMain.vue
  2. 34
      base-ui/src/views/kucun/kcxxcx/index.vue
  3. 37
      yxt_supervise/supervise-portal/supervise-portal-biz/pom.xml
  4. 4
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/PortalApplication.java
  5. 20
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryRest.java
  6. 34
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryService.java
  7. 5
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/extexcel/CsvTool.java
  8. 12
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application-devv.yml
  9. 28
      yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application.yml
  10. 8
      yxt_supervise/supervise-supplychain/pom.xml

4
base-ui/src/layout/components/AppMain.vue

@ -28,8 +28,8 @@ export default {
height: calc(100vh - 140px);
position: relative;
background-color: #FFFFFF;
/* margin-left:10px; */
/*padding: 0 20px;*/
/* margin-left:10px; */
padding: 20px;
overflow-x: hidden;
overflow-y: hidden;
}

34
base-ui/src/views/kucun/kcxxcx/index.vue

@ -1,8 +1,23 @@
<template>
<div class="app-container">
<div>
<h3>{{ name }}</h3>
</div>
<el-card class="box-card">
<div slot="header" class="clearfix"><span>导入库存信息查询</span></div>
<div>
<el-upload
ref="upload"
class="upload-demo"
:action="updateAction"
:on-preview="handlePreview"
:on-remove="handleRemove"
:file-list="fileList"
:auto-upload="false"
>
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">上传 库存信息查询.xlsx文件 </div>
</el-upload>
</div>
</el-card>
</div>
</template>
@ -12,7 +27,9 @@ export default {
// components: { },
data() {
return {
name: '库存数据导入'
updateAction: process.env.VUE_APP_BASE_API + '/kucun/upToCount',
name: '库存数据导入',
fileList: []
}
},
created() {
@ -27,6 +44,15 @@ export default {
//
handleReturn() {
this.$router.go(-1)
},
submitUpload() {
this.$refs.upload.submit()
},
handleRemove(file, fileList) {
console.log(file, fileList)
},
handlePreview(file) {
console.log(file)
}
}
}

37
yxt_supervise/supervise-portal/supervise-portal-biz/pom.xml

@ -20,6 +20,25 @@
<groupId>com.yxt</groupId>
<artifactId>yxt-common-base</artifactId>
<version>0.0.1</version>
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <groupId>org.apache.poi</groupId>-->
<!-- <artifactId>poi-ooxml</artifactId>-->
<!-- </exclusion>-->
<!-- <exclusion>-->
<!-- <groupId>org.apache.poi</groupId>-->
<!-- <artifactId>poi</artifactId>-->
<!-- </exclusion>-->
<!-- <exclusion>-->
<!-- <groupId>commons-io</groupId>-->
<!-- <artifactId>commons-io</artifactId>-->
<!-- </exclusion>-->
<!-- <exclusion>-->
<!-- <groupId>org.apache.axis</groupId>-->
<!-- <artifactId>axis</artifactId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
</dependency>
<dependency>
<artifactId>supervise-portal-api</artifactId>
@ -27,10 +46,10 @@
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.alibaba.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!-- </dependency>-->
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
@ -116,11 +135,11 @@
<!-- <artifactId>poi-ooxml</artifactId>-->
<!-- <version>5.2.3</version>-->
<!-- </dependency>-->
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>xerces</groupId>-->
<!-- <artifactId>xercesImpl</artifactId>-->
<!-- <version>2.12.2</version>-->
<!-- </dependency>-->
</dependencies>
<build>

4
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/PortalApplication.java

@ -10,8 +10,8 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.common.base.config",
"com.yxt.supervise.portal"
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.supervise.*"})
// @EnableDiscoveryClient
// @EnableFeignClients(basePackages = {"com.yxt.supervise.*"})
public class PortalApplication {
public static void main(String[] args) {
SpringApplication.run(PortalApplication.class, args);

20
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryRest.java

@ -25,11 +25,13 @@
*********************************************************/
package com.yxt.supervise.portal.biz.gdinventory;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.Console;
/**
* Project: yxt_supervise <br/>
@ -45,13 +47,13 @@ import org.springframework.web.bind.annotation.RestController;
* @since 1.0
*/
@RestController("com.yxt.supervise.portal.biz.gdinventory.GdInventoryRest")
@RequestMapping("/gd")
@RequestMapping("/kucun")
public class GdInventoryRest {
@Autowired
private GdInventoryService gdInventoryService;
@GetMapping("/implInventory")
@GetMapping("/implgd")
public ResultBean implInventory() {
gdInventoryService.doCheck();
@ -61,4 +63,12 @@ public class GdInventoryRest {
// gdInventoryService.importFromXlsx("D:/works/projects/javaee/lzh/niejinyi/yunyan/docs/sheji/wx20221202/汇融银行_库存信息查询.xlsx");
return ResultBean.fireSuccess();
}
@PostMapping("/upToCount")
public ResultBean upToCount(@RequestParam("file") MultipartFile file) {
System.out.println("ffffff");
ResultBean rb = gdInventoryService.importAndCount(file);
return ResultBean.fireSuccess();
}
}

34
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/biz/gdinventory/GdInventoryService.java

@ -28,18 +28,24 @@ package com.yxt.supervise.portal.biz.gdinventory;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.csv.*;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.sax.handler.RowHandler;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.core.result.FileUploadResult;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.portal.biz.storeindex.StoreIndexService;
import com.yxt.supervise.portal.extexcel.CsvTool;
import com.yxt.supervise.portal.extexcel.ExcelTool;
import org.apache.poi.ss.usermodel.CellStyle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.nio.file.Paths;
import java.util.ArrayList;
@ -67,6 +73,8 @@ public class GdInventoryService extends ServiceImpl<GdInventoryMapper, GdInvento
private GdInventoryOkService gdInventoryOkService;
@Autowired
private StoreIndexService storeIndexService;
@Autowired
private FileUploadComponent fileUploadComponent;
public void doCheck() {
@ -326,4 +334,30 @@ public class GdInventoryService extends ServiceImpl<GdInventoryMapper, GdInvento
}
};
}
public ResultBean importAndCount(MultipartFile file) {
ResultBean<FileUploadResult> fub = fileUploadComponent.uploadFile(file);
String filePath = fub.getData().getFilePath();
String fp = fileUploadComponent.getUploadPath() + filePath;
long millis = System.currentTimeMillis();
// InputStream inputStream = null;
// try {
// inputStream = file.getInputStream();
// } catch (IOException e) {
// throw new RuntimeException(e);
// }
ExcelUtil.read07BySax(fp, -1, createRowHandler());
// ExcelReader reader = ExcelUtil.getReader(fp);
// int rowCount = reader.getRowCount();
// for (int i = 0; i < rowCount; i++) {
// List<Object> objList = reader.readRow(i);
// System.out.println("" + i + " , " + objList.toString());
// }
System.out.println("用时:" + (System.currentTimeMillis() - millis));
return ResultBean.fireSuccess();
}
}

5
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/java/com/yxt/supervise/portal/extexcel/CsvTool.java

@ -57,6 +57,7 @@ public class CsvTool {
}
return rs;
}
public static double readDouble(CsvRow row, int col) {
String s = row.get(col);
if (StringUtils.isBlank(s))
@ -69,6 +70,7 @@ public class CsvTool {
}
return rs;
}
public static int readIntegerFastCsv(de.siegmar.fastcsv.reader.CsvRow row, int col) {
String s = row.getField(col);
if (StringUtils.isBlank(s))
@ -81,6 +83,7 @@ public class CsvTool {
}
return rs;
}
public static double readDoubleFastCsv(de.siegmar.fastcsv.reader.CsvRow row, int col) {
String s = row.getField(col);
if (StringUtils.isBlank(s))
@ -93,6 +96,7 @@ public class CsvTool {
}
return rs;
}
public static int readIntegerJavaCsv(com.csvreader.CsvReader row, int col) throws IOException {
String s = row.get(col);
if (StringUtils.isBlank(s))
@ -105,6 +109,7 @@ public class CsvTool {
}
return rs;
}
public static double readDoubleJavaCsv(com.csvreader.CsvReader row, int col) throws IOException {
String s = row.get(col);
if (StringUtils.isBlank(s))

12
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application-devv.yml

@ -4,10 +4,10 @@ spring:
url: jdbc:mysql://127.0.0.1:3306/supervise_supplychain?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: root
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
# cloud:
# nacos:
# discovery:
# server-addr: 127.0.0.1:8848
redis:
database: 3 # Redis数据库索引(默认为0)
host: 127.0.0.1
@ -23,10 +23,10 @@ spring:
image:
upload:
path: D:\\supervise\\upload\\
path: D:/supervise/upload/
url:
prefix: http://127.0.0.1:7003/upload/
login:
path: D:\\images\\pic-click
path: D:/images/pic-click

28
yxt_supervise/supervise-portal/supervise-portal-biz/src/main/resources/application.yml

@ -19,8 +19,6 @@ spring:
async:
request-timeout: 20000
server:
port: 7003
max-http-header-size: 102400
@ -51,19 +49,19 @@ logging:
demojar:
mapper: DEBUG
#hystrix的超时时间
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 30000
#ribbon的超时时间
ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
#hystrix:
# command:
# default:
# execution:
# timeout:
# enabled: true
# isolation:
# thread:
# timeoutInMilliseconds: 30000
##ribbon的超时时间
#ribbon:
# ReadTimeout: 30000
# ConnectTimeout: 30000

8
yxt_supervise/supervise-supplychain/pom.xml

@ -40,10 +40,10 @@
<artifactId>yxt-common-base</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.alibaba.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!-- </dependency>-->
<!--mysql-->
<dependency>
<groupId>mysql</groupId>

Loading…
Cancel
Save