houjie
2023-09-01 25bea9b16d66e9ae716997601d01319db55e258b
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,6 +11,8 @@
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.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;
@@ -44,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;
    /**
     * 分页列表查询
@@ -187,10 +204,59 @@
            params.setNeedSave(true);
            try {
                List<SparesPartInventory> list = ExcelImportUtil.importExcel(file.getInputStream(), SparesPartInventory.class, params);
                for (SparesPartInventory temp : list) {
                    temp.setId(mainId);
                }
                long start = System.currentTimeMillis();
                for (int i = 0; i < list.size(); i++) {
                    Supplier supplierId = null;
                    Unit unitById = null;
                    Warehouse warehouseId = null;
                    WarehouseArea warehouseAreaId = null;
                    WarehouseLocation warehouseLocationId = null;
                    SparesPartInventory sparesPartInventory = list.get(i);
                    sparesPartInventory.setSparePartId(mainId);
                    String mainUnitName = sparesPartInventory.getMainUnitId();
                    String supplierName = sparesPartInventory.getSupplierId();
                    String warehouseName = sparesPartInventory.getWarehouseId();
                    String warehouseAreaName = sparesPartInventory.getWarehouseAreaId();
                    String warehouseLocationName = sparesPartInventory.getWarehouseLocationId();
                    if (supplierName != null) {
                        supplierId = supplierService.getByName(supplierName);
                    }
                    if (mainUnitName != null) {
                        unitById = unitService.getUnitByName(mainUnitName);
                    }
                    if (warehouseName != null) {
                        warehouseId = warehouseService.getByName(warehouseName);
                    }
                    if (warehouseAreaName != null) {
                        warehouseAreaId = warehouseAreaService.getByName(warehouseAreaName);
                    }
                    if (warehouseLocationName != null) {
                        warehouseLocationId = warehouseLocationService.getByName(warehouseLocationName);
                    }
                    if (!StringUtils.isNotEmpty(sparesPartInventory.getBatchNum()))
                        return Result.error("文件导入失败: 第" + (i + 1) + "行批次号不能为空");
                    if (sparesPartInventory.getMainQuantity() <= 0)
                        return Result.error("文件导入失败: 第" + (i + 1) + "行数量不能为小于等于0");
                    if (!StringUtils.isNotEmpty(unitById.getId()))
                        return Result.error("文件导入失败: 第" + (i + 1) + "行单位不存在");
                    if (!StringUtils.isNotEmpty(supplierId.getId()))
                        return Result.error("文件导入失败: 第" + (i + 1) + "行供应商不存在");
                    if (!StringUtils.isNotEmpty(warehouseId.getId()))
                        return Result.error("文件导入失败: 第" + (i + 1) + "行仓库不存在");
                    if (!StringUtils.isNotEmpty(warehouseAreaId.getId()))
                        return Result.error("文件导入失败: 第" + (i + 1) + "行库区不存在");
                   /* if (!StringUtils.isNotEmpty(warehouseLocationId.getId()))
                        return Result.error("文件导入失败: 第" + (i + 1) + "行库位不存在");*/
                    list.get(i).setMainUnitId(unitById.getId());
                    list.get(i).setSupplierId(supplierId.getId());
                    list.get(i).setSupplierId(warehouseId.getId());
                    list.get(i).setSupplierId(warehouseAreaId.getId());
                 /*   list.get(i).setSupplierId(warehouseLocationId.getId());*/
                }
                sparesPartInventoryService.saveBatch(list);
                log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒");
                return Result.OK("文件导入成功!数据行数:" + list.size());
@@ -207,36 +273,6 @@
        }
        return Result.error("文件导入失败!");
    }
   /* @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        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();
                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("文件导入失败!");
    }*/
    /**