From e78e79a565184e0d89124abbcb5bf3200c2cb8f6 Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期一, 04 九月 2023 14:19:43 +0800
Subject: [PATCH] 增加数据库厂商标识 ,支持在SQL中设置不同数据databaseId,进行多数据库支持。(主要用于应对不同数据库间的函数差异)
---
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