zss
2023-11-03 22c67fd681856d2b6513d02329b63d76017e1120
库位导入数据
已修改4个文件
74 ■■■■ 文件已修改
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/LocationController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationData.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/excel/LocationUploadListener.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/LocationServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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());