houjie
2023-09-04 a1f67e8727f7af3b3b472446616ab6c591caaebc
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,73 @@
            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 supplier = null;
                    Unit unit = null;
                    Warehouse warehouse = null;
                    WarehouseArea warehouseArea = null;
                    WarehouseLocation warehouseLocation = null;
                    list.get(i).setSparePartId(mainId);
                    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());
@@ -207,36 +287,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("文件导入失败!");
    }*/
    /**