From 4eb4b44397f0121ddb9000157ce618dfe6e53025 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期四, 23 十月 2025 10:01:09 +0800
Subject: [PATCH] 1
---
src/main/webapp/static/js/locDetl/locDetl.js | 2
src/main/java/com/zy/asrs/controller/LocDetlController.java | 27 ++++++--
src/main/java/com/zy/asrs/controller/ImagePreviewController.java | 80 ++++++++++++++++++++++++++
src/main/java/com/zy/asrs/utils/ImagePreviewUtils.java | 48 ++++++++++++++++
src/main/webapp/views/pakStore/locDetlQuery.html | 17 +++--
pom.xml | 3 -
src/main/resources/application.yml | 3 +
7 files changed, 162 insertions(+), 18 deletions(-)
diff --git a/pom.xml b/pom.xml
index 78ceb00..8b08150 100644
--- a/pom.xml
+++ b/pom.xml
@@ -108,18 +108,15 @@
<artifactId>truelicense-core</artifactId>
<version>1.33</version>
</dependency>
-
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
-
</dependencies>
<build>
-<!-- <finalName>rqdzasrs</finalName>-->
<finalName>czkhasrs</finalName>
<plugins>
<plugin>
diff --git a/src/main/java/com/zy/asrs/controller/ImagePreviewController.java b/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
new file mode 100644
index 0000000..b2bef35
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
@@ -0,0 +1,80 @@
+package com.zy.asrs.controller;
+
+import com.zy.asrs.utils.ImagePreviewUtils;
+import com.zy.common.web.BaseController;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+
+@RestController
+@RequestMapping()
+public class ImagePreviewController extends BaseController {
+ //涓婁紶鍥剧墖
+ @ApiResponses({@ApiResponse(code = 200, message = "涓婁紶鎴愬姛"), @ApiResponse(code = 400, message = "涓婁紶澶辫触"), @ApiResponse(code = 500, message = "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�")})
+ @RequestMapping(value = "/saveImage", method = RequestMethod.POST)
+ public Map<String, Object> saveImage(@RequestParam("files") MultipartFile[] files) {
+ Map<String, Object> map = new HashMap<>();
+ List<String> list = new ArrayList<>();
+ for (int i = 0; i < files.length; i++) {
+ MultipartFile mfile = files[i];
+ //鑾峰彇鏂囦欢鍚庣紑
+ String suffixName = ImagePreviewUtils.getSaveImagePath(mfile);
+ //鐢熸垚鏂版枃浠跺悕绉�
+ String newFileName = ImagePreviewUtils.getNewImageFileName(suffixName);
+ //淇濆瓨鏂囦欢
+ File file = new File(ImagePreviewUtils.getNewImagePath(newFileName));
+ boolean state = ImagePreviewUtils.saveImage(mfile, file);
+ if (state) {
+// list.add(ImageUtil.getNewImagePath(newFileName));
+ //淇濆瓨鏁版嵁搴撶殑鍥剧墖璺緞涓� 鐩稿璺緞
+ list.add("uploadimage/" + newFileName);
+ }
+ }
+ map.put("imgList", list);
+ return map;
+
+ }
+
+ //棰勮鍥剧墖
+ @RequestMapping("previewImage")
+ @ApiOperation(value = "鏍规嵁鏂囦欢鍚嶅疄鐜伴瑙堝姛鑳�")
+ public void previewFile(
+ HttpServletResponse response) throws IOException {
+ showImg("D:\\"+"images\\"+"20251022efda188c-56b3-4c38-9940-78d0b61b43a1.png", response);
+ }
+
+ public static void showImg(String path, HttpServletResponse response){
+ if(path!=null&&!path.equals("")){
+
+ try {
+ FileInputStream fis = new FileInputStream(path);
+ ServletOutputStream os = response.getOutputStream();
+
+ byte [] b = new byte[1024*8];
+ while(fis.read(b)!=-1){
+ os.write(b);
+ }
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index f6a802f..f061841 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -13,12 +13,9 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.ManLocDetl;
import com.zy.asrs.entity.Mat;
-import com.zy.asrs.entity.StockStatisDTO;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.ManLocDetlService;
import com.zy.asrs.service.MatService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -60,11 +57,27 @@
if (!locNos.isEmpty()) {
List<LocDetl> res = new ArrayList<>();
for (String locNo : new HashSet<>(locNos)) {
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo));
- if (!locDetls.isEmpty()) {
- res.addAll(locDetls);
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo));
+ if (!locDetls.isEmpty()) {
+ res.addAll(locDetls);
+ }
}
- }
+ return R.ok().add(res);
+ }
+ return R.parse(BaseRes.EMPTY);
+ }
+
+ @RequestMapping(value = "/locDetlOut/auth")
+ @ManagerAuth
+ public R stockOutListAll(@RequestParam(value = "matnrs[]",required = false) List<String> matnrs){
+ if (!matnrs.isEmpty()) {
+ List<LocDetl> res = new ArrayList<>();
+ for (String matnr : new HashSet<>(matnrs)) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr",matnr));
+ if (!locDetls.isEmpty()) {
+ res.addAll(locDetls);
+ }
+ }
return R.ok().add(res);
}
return R.parse(BaseRes.EMPTY);
diff --git a/src/main/java/com/zy/asrs/utils/ImagePreviewUtils.java b/src/main/java/com/zy/asrs/utils/ImagePreviewUtils.java
new file mode 100644
index 0000000..f132db4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/ImagePreviewUtils.java
@@ -0,0 +1,48 @@
+package com.zy.asrs.utils;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.UUID;
+
+public class ImagePreviewUtils {
+ private final static String SAVE_IMAGE_PATH ="D:/images/";
+
+ //杩斿洖鏂囦欢鍚庣紑
+ public static String getSaveImagePath(MultipartFile file){
+ String originalFilename = file.getOriginalFilename();//鑾峰彇鍘熸枃浠跺悕
+ int indexOf = originalFilename.indexOf(".");
+ return originalFilename.substring(indexOf,originalFilename.length());
+ }
+
+ //淇濆瓨鍥剧墖
+ public static boolean saveImage(MultipartFile multipartFile, File file){
+ //鍒ゆ柇鏂囦欢澶规槸鍚﹀瓨鍦� 涓嶅瓨鍦ㄥ垯鍒涘缓
+ if (!file.getParentFile().exists()){
+ file.getParentFile().mkdirs();
+ }
+ try {
+ //浣跨敤姝ゆ柟娉曚繚瀛樺繀椤昏缁濆璺緞涓旀枃浠跺す蹇呴』宸插瓨鍦� 鍚﹀垯鎶ラ敊
+ multipartFile.transferTo(file);
+ return true;
+ }catch (IllegalStateException | IOException e){
+ e.printStackTrace();
+ }
+ return false;
+ }
+
+ //鏂版枃浠跺悕
+ public static String getNewImageFileName(String suffix){
+ SimpleDateFormat adf = new SimpleDateFormat("yyyyMMdd");
+ String date = adf.format(new Date());
+ return date + UUID.randomUUID() + suffix;
+ }
+
+ //杩斿洖鍥剧墖淇濆瓨鍦板潃
+ public static String getNewImagePath(String name){
+ return SAVE_IMAGE_PATH + name;
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 474bd63..945dfab 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -24,6 +24,9 @@
multipart:
maxFileSize: 100MB
maxRequestSize: 100MB
+ enabled: true
+ file-size-threshold: 0B
+ location: D:\
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index e54a513..d46cb7c 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -17,7 +17,7 @@
,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
- ,{field: 'sku', align: 'center',title: '绠�鍥�', hide: true}
+ ,{field: 'sku', align: 'center',title: '绠�鍥�', hide: false}
,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true}
,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
,{field: 'origin', align: 'center',title: '浜у湴', hide: true}
diff --git a/src/main/webapp/views/pakStore/locDetlQuery.html b/src/main/webapp/views/pakStore/locDetlQuery.html
index 1fd1dda..f47d520 100644
--- a/src/main/webapp/views/pakStore/locDetlQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlQuery.html
@@ -64,7 +64,7 @@
</div>
<div class="layui-inline">
<div class="layui-input-inline">
- <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off">
+ <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧妯″叿鍚嶇О" autocomplete="off">
</div>
</div>
<div class="layui-inline">
@@ -192,14 +192,17 @@
layer.msg("璇烽�夋嫨鏁版嵁", {icon: 2});
return;
}
- let locNos = [];
- data.forEach(function(elem) {
- locNos.push(elem.locNo);
- });
+ // let locNos = [];
+ let matnrs = [];
+ // data.forEach(function(elem) {
+ // // locNos.push(elem.locNo);
+ // matnrs.push(elem.matnr);
+ // });
$.ajax({
- url: baseUrl+"/locDetl/auth",
+ url: baseUrl+"/locDetlOut/auth",
headers: {'token': localStorage.getItem('token')},
- data: {locNos:locNos},
+ // data: {locNos:locNos,matnrs:matnrs},
+ data: {matnrs},
method: 'POST',
async: false,
success: function (res) {
--
Gitblit v1.9.1