From 2f3d91bdb79235cd9c3dcbfed2493adf1bd94d6a Mon Sep 17 00:00:00 2001
From: houjie <714924425@qq.com>
Date: 星期五, 01 九月 2023 17:26:45 +0800
Subject: [PATCH] 备件库存/备件信息 导入  字典值转移

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparesPartInventoryController.java |   95 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 89 insertions(+), 6 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparesPartInventoryController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparesPartInventoryController.java
index 7701b65..859cc9f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparesPartInventoryController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparesPartInventoryController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -10,19 +11,23 @@
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.modules.eam.entity.MaintenanceOrderActualWorkingHour;
+import org.jeecg.modules.base.entity.*;
+import org.jeecg.modules.base.service.*;
 import org.jeecg.modules.spare.entity.SparePart;
 import org.jeecg.modules.spare.entity.SparesPartInventory;
 import org.jeecg.modules.spare.service.ISparePartService;
 import org.jeecg.modules.spare.service.ISparesPartInventoryService;
-import org.jeecg.modules.spare.vo.AuxiliaryUnitVo;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
+import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -42,6 +47,20 @@
     private ISparesPartInventoryService sparesPartInventoryService;
     @Autowired
     private ISparePartService sparePartService;
+    @Autowired
+    private IUnitService unitService;
+    @Autowired
+    private ISupplierService supplierService;
+
+    @Autowired
+    private IWarehouseService warehouseService;
+
+    @Autowired
+    private IWarehouseAreaService warehouseAreaService;
+
+    @Autowired
+    private IWarehouseLocationService warehouseLocationService;
+
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -167,10 +186,74 @@
      * @param response
      * @return
      */
+    /**
+     * 瀵煎叆
+     *
+     * @return
+     */
+    @RequestMapping(value = "/importExcel/{mainId}")
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response, @PathVariable("mainId") String mainId) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<SparesPartInventory> list = ExcelImportUtil.importExcel(file.getInputStream(), SparesPartInventory.class, params);
+                long start = System.currentTimeMillis();
+                for (int i = 0; i < list.size(); i++) {
+                    SparesPartInventory sparesPartInventory = list.get(i);
+                    sparesPartInventory.setSparePartId(mainId);
+                    String mainUnitName = sparesPartInventory.getMainUnitId();
+                    String supplierName = sparesPartInventory.getSupplierId();
+                    String warehouseName = sparesPartInventory.getWarehouseId();
+                    String warehouseAreaName = sparesPartInventory.getWarehouseAreaId();
+                    String warehouseLocationName = sparesPartInventory.getWarehouseLocationId();
+                    Supplier supplierId = supplierService.getByName(supplierName);
+                    Unit unitById = unitService.getUnitByName(mainUnitName);
+                    Warehouse warehouseId = warehouseService.getByName(warehouseName);
+                    WarehouseArea warehouseAreaId = warehouseAreaService.getByName(warehouseAreaName);
+                    WarehouseLocation warehouseLocationId = warehouseLocationService.getByName(warehouseLocationName);
+                    if (!StringUtils.isNotEmpty(unitById.getId()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屽崟浣嶄笉瀛樺湪");
+                    if (!StringUtils.isNotEmpty(supplierId.getId()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屼緵搴斿晢涓嶅瓨鍦�");
+                    if (!StringUtils.isNotEmpty(warehouseId.getId()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屼粨搴撲笉瀛樺湪");
+                    if (!StringUtils.isNotEmpty(warehouseAreaId.getId()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屽簱鍖轰笉瀛樺湪");
+                    if (!StringUtils.isNotEmpty(warehouseLocationId.getId()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屽簱浣嶄笉瀛樺湪");
+                    list.get(i).setMainUnitId(unitById.getId());
+                    list.get(i).setSupplierId(supplierId.getId());
+                    list.get(i).setSupplierId(warehouseId.getId());
+                    list.get(i).setSupplierId(warehouseAreaId.getId());
+                    list.get(i).setSupplierId(warehouseLocationId.getId());
+                    if (!StringUtils.isNotEmpty(sparesPartInventory.getBatchNum()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屾壒娆″彿涓嶈兘涓虹┖");
+                    if (sparesPartInventory.getMainQuantity() <= 0)
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屾暟閲忎笉鑳戒负灏忎簬绛変簬0");
+                }
 
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, SparesPartInventory.class);
+                sparesPartInventoryService.saveBatch(list);
+                log.info("娑堣�楁椂闂�" + (System.currentTimeMillis() - start) + "姣");
+                return Result.OK("鏂囦欢瀵煎叆鎴愬姛锛佹暟鎹鏁帮細" + list.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
     }
 
 

--
Gitblit v1.9.3