From cbe83089c3d3044a13bc38c7c4d94207fd22a741 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 19 三月 2025 19:56:51 +0800
Subject: [PATCH] #新增 1. ASN历史档逻辑处理

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java |   45 ++++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
index df029e2..af0d0cf 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
@@ -1,9 +1,5 @@
 package com.vincent.rsf.server.manager.controller;
 
-import cn.afterturn.easypoi.excel.ExcelImportUtil;
-import cn.afterturn.easypoi.excel.entity.ImportParams;
-import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
-import cn.afterturn.easypoi.excel.imports.ExcelImportService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.vincent.rsf.framework.common.Cools;
@@ -16,6 +12,7 @@
 import com.vincent.rsf.server.common.domain.KeyValVo;
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.entity.Matnr;
+import com.vincent.rsf.server.manager.entity.excel.MatnrsTemplate;
 import com.vincent.rsf.server.manager.service.MatnrService;
 import com.vincent.rsf.server.system.controller.BaseController;
 import io.swagger.annotations.Api;
@@ -28,6 +25,8 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
 import java.util.*;
 
 @RestController
@@ -42,7 +41,7 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<Matnr, BaseParam> pageParam = new PageParam<>(baseParam, Matnr.class);
-        return R.ok().add(matnrService.page(pageParam, pageParam.buildWrapper(true)));
+        return R.ok().add( matnrService.getMatnrPage(pageParam));
     }
 
     @PreAuthorize("hasAuthority('manager:matnr:list')")
@@ -57,6 +56,7 @@
         return R.ok().add(matnrService.listByIds(Arrays.asList(ids)));
     }
 
+
     @PreAuthorize("hasAuthority('manager:matnr:list')")
     @GetMapping("/matnr/{id}")
     public R get(@PathVariable("id") Long id) {
@@ -68,9 +68,7 @@
     @PostMapping("/matnr/save")
     public R save(@RequestBody Matnr matnr) {
         matnr.setCreateBy(getLoginUserId());
-        matnr.setCreateTime(new Date());
         matnr.setUpdateBy(getLoginUserId());
-        matnr.setUpdateTime(new Date());
         if (!matnrService.save(matnr)) {
             return R.error("Save Fail");
         }
@@ -113,7 +111,6 @@
         return R.ok().add(vos);
     }
 
-    @SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
     @PreAuthorize("hasAuthority('manager:matnr:list')")
     @ApiOperation(value = "鑾峰彇鍒嗙被鐗╂枡鏄庣粏鍒楄〃")
     @PostMapping("/matnr/group")
@@ -132,25 +129,35 @@
         return R.ok(new PageResult().setRecords(matnrPage.getRecords()).setTotal(matnrPage.getTotal()));
     }
 
-
-
     @PreAuthorize("hasAuthority('manager:matnr:list')")
+    @ApiOperation("瀵煎嚭鐗╂枡淇℃伅")
     @PostMapping("/matnr/export")
     public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
-        ExcelUtil.build(ExcelUtil.create(matnrService.list(), Matnr.class), response);
+        List<Matnr> matnrs = new ArrayList<>();
+        if (!Objects.isNull(map.get("ids"))) {
+            matnrs = matnrService.list(new LambdaQueryWrapper<Matnr>().in(Matnr::getId, map.get("ids")).eq(Matnr::getStatus, 1));
+        } else {
+            matnrs = matnrService.list(new LambdaQueryWrapper<Matnr>().last("limit 1"));
+        }
+        ExcelUtil.build(ExcelUtil.create(null, MatnrsTemplate.class, true), response);
     }
 
-    @PreAuthorize("hasAuthority('manager:matnr:save')")
+    @PreAuthorize("hasAuthority('manager:matnr:list')")
+    @ApiOperation("涓嬭浇鐗╂枡妯℃澘")
+    @PostMapping("/matnr/template/download")
+    public void download(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+        ExcelUtil.build(ExcelUtil.create(null, MatnrsTemplate.class, true), response);
+    }
+
+
+    @PreAuthorize("hasAuthority('manager:matnr:update')")
     @ApiOperation(value = "excel琛ㄦ牸瀵煎叆鐗╂枡淇℃伅")
     @PostMapping("/matnr/import")
-    public R listImport(MultipartFile file) {
-        try {
-            ExcelImportResult<Matnr> objectExcelImportResult = ExcelImportUtil.importExcelMore(file.getInputStream(), Matnr.class, ExcelUtil.getDefaultImportParams());
-        } catch (Exception e) {
-            throw new RuntimeException(e);
+    public R listImport(MultipartFile file) throws Exception {
+        if (Objects.isNull(file)) {
+            throw new CoolException("鏂囦欢涓嶈兘涓虹┖锛侊紒");
         }
-
-        return R.ok();
+       return matnrService.importExcels(file);
     }
 
 }

--
Gitblit v1.9.1