From 22c67fd681856d2b6513d02329b63d76017e1120 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 03 十一月 2023 18:05:05 +0800 Subject: [PATCH] 库位导入数据 --- mes-basic/src/main/java/com/chinaztt/mes/basic/controller/LocationController.java | 4 - mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java | 30 ++++---------- mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java | 14 ------ mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java | 26 ++++++++++++- 4 files changed, 35 insertions(+), 39 deletions(-) diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/LocationController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/LocationController.java index 3324cce..55f1623 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/LocationController.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/LocationController.java @@ -126,9 +126,7 @@ @PostMapping("/upload") public R upload(@RequestParam("file") MultipartFile file) { try { - List<Warehouse> warehouseList = warehouseService.list(); - Map<String, Warehouse> map = warehouseList.stream().collect(Collectors.toMap(Warehouse::getWarehouseName, warehouse -> warehouse, (k1, k2) -> k1)); - EasyExcel.read(file.getInputStream(), LocationData.class, new LocationUploadListener(locationService, map)).sheet().doRead(); + EasyExcel.read(file.getInputStream(), LocationData.class, new LocationUploadListener(locationService)).sheet().doRead(); } catch (IOException e) { e.printStackTrace(); } diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java index 5677589..478892e 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java @@ -8,38 +8,26 @@ */ @Data public class LocationData { - /** - * 搴撲綅缂栧彿 - */ + + @ExcelProperty("宸ュ巶") + private String factoryName; + @ExcelProperty("搴撲綅缂栧彿") private String locNo; - /** - * 搴撲綅鍚嶇О - */ + @ExcelProperty("搴撲綅鍚嶇О") private String locName; @ExcelProperty("搴撲綅绫诲瀷锛堢嚎杈逛粨锛涗骇鍑哄悎鏍煎簱浣嶏紱浜у嚭寰呮搴撲綅锛涗笉鍚堟牸搴撲綅锛涘緟澶勭悊搴撲綅锛涙満鍙板簱锛�") private String locType; - /** - * 浠撳簱鍚嶇О - */ + @ExcelProperty("鎵�灞炰粨搴�") private String warehouseName; - - @ExcelProperty("浠撳簱鐘舵��") - private String locState; - - private Long factoryId; - - /** - * 浠撳簱鍚嶇О - */ - @ExcelProperty("宸ュ巶") - private String factoryName; @ExcelProperty("IFS搴撲綅") private String ifsLocation; - private Long warehouseId; + @ExcelProperty("浠撳簱鐘舵��") + private String locState; + } diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java index aa2b66a..d7987ca 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java @@ -18,25 +18,13 @@ List<LocationData> list = new ArrayList<>(); private LocationService locationService; - private Map<String, Warehouse> warehouseMap; - public LocationUploadListener(LocationService locationService, Map<String, Warehouse> warehouseMap) { + public LocationUploadListener(LocationService locationService) { this.locationService = locationService; - this.warehouseMap = warehouseMap; } @Override public void invoke(LocationData data, AnalysisContext analysisContext) { - - if (StringUtils.isBlank(data.getWarehouseName())) { - throw new RuntimeException("缂哄皯浠撳簱鍚嶇О=====銆嬪簱浣嶅悕涓猴細"+data.getLocName()); - } - if (null == warehouseMap.get(data.getWarehouseName())) { - throw new RuntimeException("绯荤粺鏆傛棤姝や粨搴�====>浠撳簱鍚嶄负锛�"+data.getWarehouseName()); - } - Warehouse warehouse = warehouseMap.get(data.getWarehouseName()); - data.setFactoryId(warehouse.getFactoryId()); - data.setWarehouseId(warehouse.getId()); list.add(data); if (list.size() >= BATCH_COUNT) { save(); diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java index d459a35..11581a2 100644 --- a/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java +++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java @@ -29,8 +29,11 @@ import com.chinaztt.ifs.api.feign.IfsFeignClient; import com.chinaztt.mes.basic.dto.LocationDTO; import com.chinaztt.mes.basic.dto.LocationIfsMoveDTO; +import com.chinaztt.mes.basic.entity.Factory; import com.chinaztt.mes.basic.entity.Location; +import com.chinaztt.mes.basic.entity.Warehouse; import com.chinaztt.mes.basic.excel.LocationData; +import com.chinaztt.mes.basic.mapper.FactoryMapper; import com.chinaztt.mes.basic.mapper.LocationMapper; import com.chinaztt.mes.basic.mapper.WarehouseMapper; import com.chinaztt.mes.basic.service.LocationService; @@ -57,6 +60,7 @@ @AllArgsConstructor public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> implements LocationService { private WarehouseMapper warehouseMapper; + private FactoryMapper factoryMapper; private static final String LOCATION_QC_SEND_BACK = "LOCATION_QC_SEND_BACK"; public static final String CONTRACT = "IFS_DOMAIN"; private RemoteParamService remoteParamService; @@ -87,6 +91,8 @@ if (CollectionUtil.isEmpty(list)) { return; } + List<Factory> factories = factoryMapper.selectList(null); + List<Warehouse> warehouses = warehouseMapper.selectList(null); List<SysDictItem> dict = dictUtils.getDict("warehouse_type"); for (LocationData data : list) { Location newLocation = new Location(); @@ -100,8 +106,24 @@ }else{ newLocation.setLocStatus(0); } - newLocation.setFactoryId(data.getFactoryId()); - newLocation.setLocGroup(data.getWarehouseId()); + for (int i = 0; i <factories.size() ; i++) { + if (factories.get(i).getFactoryName().equals(data.getFactoryName())){ + newLocation.setFactoryId(factories.get(i).getId()); + } + } + if (newLocation.getFactoryId()==null){ + log.error("宸ュ巶:" + data.getFactoryName() + "涓嶅瓨鍦�"); + continue ; + } + for (int i = 0; i <warehouses.size() ; i++) { + if (warehouses.get(i).getWarehouseName().equals(data.getWarehouseName())){ + newLocation.setLocGroup(warehouses.get(i).getId()); + } + } + if (newLocation.getLocGroup()==null){ + log.error("浠撳簱:" + data.getWarehouseName() + "涓嶅瓨鍦�"); + continue ; + } newLocation.setLocName(data.getLocName()); newLocation.setLocNo(data.getLocNo()); newLocation.setIfsLocation(data.getIfsLocation()); -- Gitblit v1.9.3