From 9b015b51b72ba050b4c38a6ba79eb45b7065e67d Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 25 七月 2024 10:11:52 +0800
Subject: [PATCH] 调整sql

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparesPartInventoryController.java |  127 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 121 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..829d06d 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,106 @@
      * @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++) {
+                    Supplier supplier = null;
+                    Unit unit = null;
+                    Warehouse warehouse = null;
+                    WarehouseArea warehouseArea = null;
+                    WarehouseLocation warehouseLocation = null;
+                    list.get(i).setSparePartId(mainId);
 
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, SparesPartInventory.class);
+                    String mainUnitName = list.get(i).getMainUnitId();
+                    String supplierName = list.get(i).getSupplierId();
+                    String warehouseName = list.get(i).getWarehouseId();
+                    String warehouseAreaName = list.get(i).getWarehouseAreaId();
+                    String warehouseLocationName = list.get(i).getWarehouseLocationId();
+                    String  num =list.get(i).getValidityForecast();
+
+                    if (supplierName != null) {
+                        supplier = supplierService.getByName(supplierName);
+                    }
+                    if (mainUnitName != null) {
+                        unit = unitService.getUnitByName(mainUnitName);
+                    }
+                    if (warehouseName != null) {
+                        warehouse = warehouseService.getByName(warehouseName);
+                    }
+                    if (warehouseAreaName != null) {
+                        warehouseArea = warehouseAreaService.getByName(warehouseAreaName);
+                    }
+                    if (warehouseLocationName != null) {
+                        warehouseLocation = warehouseLocationService.getByName(warehouseLocationName);
+                    }
+                    if (!StringUtils.isNotEmpty(list.get(i).getBatchNum()))
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屾壒娆″彿涓嶈兘涓虹┖");
+                    if (list.get(i).getMainQuantity() <= 0)
+                        return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屾暟閲忎笉鑳戒负灏忎簬绛変簬0");
+
+                    if (unit != null) {
+                        if (!StringUtils.isNotEmpty(unit.getId()))
+                            return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屽崟浣嶄笉瀛樺湪");
+                        list.get(i).setMainUnitId(unit.getId());
+                    }
+                    if (supplier != null) {
+                        if (!StringUtils.isNotEmpty(supplier.getId()))
+                            return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屼緵搴斿晢涓嶅瓨鍦�");
+                        list.get(i).setSupplierId(supplier.getId());
+                    }
+
+                    if (warehouse != null) {
+                        if (!StringUtils.isNotEmpty(warehouse.getId()))
+                            return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屼粨搴撲笉瀛樺湪");
+                        list.get(i).setWarehouseId(warehouse.getId());
+                    }
+                    if (warehouseArea != null) {
+                        if (!StringUtils.isNotEmpty(warehouseArea.getId()))
+                            return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屽簱鍖轰笉瀛樺湪");
+                        list.get(i).setWarehouseAreaId(warehouseArea.getId());
+                    }
+
+                    if (warehouseLocation != null) {
+                        if (!StringUtils.isNotEmpty(warehouseLocation.getId()))
+                            return Result.error("鏂囦欢瀵煎叆澶辫触: 绗�" + (i + 1) + "琛屽簱浣嶄笉瀛樺湪");
+                        list.get(i).setWarehouseLocationId(warehouseLocation.getId());
+                    }
+                        list.get(i).setValidityForecast(num);
+
+                }
+
+                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