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(); } 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; } 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(); 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());