no message
							parent
							
								
									af7aa0a046
								
							
						
					
					
						commit
						0af18033e9
					
				| 
						 | 
				
			
			@ -71,10 +71,17 @@ public interface ItemQueryService {
 | 
			
		|||
    List<ItemsExcelVO> queryItemsExcelVO();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取物料总数
 | 
			
		||||
     * @return
 | 
			
		||||
     * 物料总厨
 | 
			
		||||
     * @param queryForm 查询参数
 | 
			
		||||
     * @return long
 | 
			
		||||
     */
 | 
			
		||||
    long itemCount(ItemQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 物料导出
 | 
			
		||||
     * @param taskId 任务ID
 | 
			
		||||
     * @param queryForm 查询参数
 | 
			
		||||
     * @param response 请求
 | 
			
		||||
     */
 | 
			
		||||
    void exportItem(String taskId, ItemQueryForm queryForm, HttpServletResponse response);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,9 +6,9 @@ import net.lab1024.sa.admin.module.business.wms.base.location.domain.form.*;
 | 
			
		|||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.vo.LocationVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.service.LocationQueryService;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.service.LocationService;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.excel.ExportTaskService;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.RequestUser;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.ValidateList;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartExcelUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartRequestUtil;
 | 
			
		||||
import net.lab1024.sa.base.module.support.operatelog.annotation.OperateLog;
 | 
			
		||||
import org.springframework.web.bind.annotation.*;
 | 
			
		||||
| 
						 | 
				
			
			@ -42,6 +42,9 @@ public class LocationController {
 | 
			
		|||
    @Resource
 | 
			
		||||
    private LocationQueryService locationQueryService;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ExportTaskService exportTaskService;
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "分页查询 @author 霍锦")
 | 
			
		||||
    @PostMapping("/location/queryPage")
 | 
			
		||||
    @SaCheckPermission("location:query")
 | 
			
		||||
| 
						 | 
				
			
			@ -115,12 +118,12 @@ public class LocationController {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "导出 霍锦")
 | 
			
		||||
    @GetMapping("/location/exportLocations")
 | 
			
		||||
    @PostMapping("/location/exportLocations/{taskId}")
 | 
			
		||||
    @SaCheckPermission("location:exportLocations")
 | 
			
		||||
    @OperateLog
 | 
			
		||||
    public void exportLocations(HttpServletResponse response) throws IOException {
 | 
			
		||||
        List<LocationsExcelVO> locationsList = locationQueryService.queryLocationsExcelVO();
 | 
			
		||||
        SmartExcelUtil.exportExcel(response, "库位信息.xlsx", "库位", LocationsExcelVO.class, locationsList);
 | 
			
		||||
    public void exportLocations(@PathVariable String taskId, @RequestBody @Valid LocationQueryForm queryForm, HttpServletResponse response) {
 | 
			
		||||
        locationQueryService.exportLocation(taskId, queryForm, response);
 | 
			
		||||
        exportTaskService.cleanupTask(taskId);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,9 @@
 | 
			
		|||
package net.lab1024.sa.admin.module.business.wms.base.location.dao;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.entity.LocationEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.form.LocationQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.vo.LocationVO;
 | 
			
		||||
| 
						 | 
				
			
			@ -33,4 +36,7 @@ public interface LocationDao extends BaseMapper<LocationEntity> {
 | 
			
		|||
     */
 | 
			
		||||
    List<LocationVO> queryPage(Page page, @Param("queryForm") LocationQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
    //游标分页
 | 
			
		||||
    List<LocationVO> listByCursor(@Param("lastId") Long lastId, @Param("pageSize") int pageSize,@Param("queryForm") LocationQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
package net.lab1024.sa.admin.module.business.wms.base.location.domain.form;
 | 
			
		||||
 | 
			
		||||
import cn.idev.excel.annotation.ExcelProperty;
 | 
			
		||||
import cn.idev.excel.annotation.write.style.ColumnWidth;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Builder;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,6 +13,7 @@ import java.math.BigDecimal;
 | 
			
		|||
@Builder
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
@NoArgsConstructor
 | 
			
		||||
@ColumnWidth(20)
 | 
			
		||||
public class LocationsExcelVO {
 | 
			
		||||
    @ExcelProperty("库区")
 | 
			
		||||
    private String areaName;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
package net.lab1024.sa.admin.module.business.wms.base.location.service;
 | 
			
		||||
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.entity.LocationEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.form.LocationQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.form.LocationSelect;
 | 
			
		||||
| 
						 | 
				
			
			@ -7,6 +8,7 @@ import net.lab1024.sa.admin.module.business.wms.base.location.domain.form.Locati
 | 
			
		|||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.vo.LocationVO;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.PageResult;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -83,4 +85,19 @@ public interface LocationQueryService {
 | 
			
		|||
     */
 | 
			
		||||
    List<LocationsExcelVO> queryLocationsExcelVO();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 物料总厨
 | 
			
		||||
     * @param queryForm 查询参数
 | 
			
		||||
     * @return long
 | 
			
		||||
     */
 | 
			
		||||
    long locationCount(LocationQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 物料导出
 | 
			
		||||
     * @param taskId 任务ID
 | 
			
		||||
     * @param queryForm 查询参数
 | 
			
		||||
     * @param response 请求
 | 
			
		||||
     */
 | 
			
		||||
    void exportLocation(String taskId, LocationQueryForm queryForm, HttpServletResponse response);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,9 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.google.common.collect.Maps;
 | 
			
		||||
import jakarta.annotation.Resource;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import net.lab1024.sa.admin.constant.UsageStatusEnum;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.area.domain.entity.AreaEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.area.domain.form.AreaSelect;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.area.manager.AreaManager;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.area.service.AreaQueryService;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.dao.LocationDao;
 | 
			
		||||
| 
						 | 
				
			
			@ -17,8 +18,10 @@ import net.lab1024.sa.admin.module.business.wms.base.location.domain.form.Locati
 | 
			
		|||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.vo.LocationVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.manager.LocationManager;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.service.LocationQueryService;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.excel.ExportTaskService;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.PageResult;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartEnumUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartExcelUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartPageUtil;
 | 
			
		||||
import net.lab1024.sa.base.module.support.dict.constant.DictConst;
 | 
			
		||||
import net.lab1024.sa.base.module.support.dict.service.DictService;
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +36,7 @@ import java.util.Objects;
 | 
			
		|||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
@Service
 | 
			
		||||
@Slf4j
 | 
			
		||||
public class LocationQueryServiceImpl implements LocationQueryService {
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +54,9 @@ public class LocationQueryServiceImpl implements LocationQueryService {
 | 
			
		|||
    @Resource
 | 
			
		||||
    private DictService dictService;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ExportTaskService exportTaskService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页查询
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -244,4 +251,51 @@ public class LocationQueryServiceImpl implements LocationQueryService {
 | 
			
		|||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public long locationCount(LocationQueryForm queryForm) {
 | 
			
		||||
        LambdaQueryWrapper<LocationEntity> queryWrapper = new LambdaQueryWrapper<>();
 | 
			
		||||
        if (queryForm.getAreaId() != null) {
 | 
			
		||||
            queryWrapper.eq(LocationEntity::getAreaId, queryForm.getAreaId());
 | 
			
		||||
        }
 | 
			
		||||
        if (queryForm.getLocationId() != null) {
 | 
			
		||||
            queryWrapper.eq(LocationEntity::getLocationId, queryForm.getLocationId());
 | 
			
		||||
        }
 | 
			
		||||
        if (StringUtils.isNotBlank(queryForm.getStatus())) {
 | 
			
		||||
            queryWrapper.eq(LocationEntity::getStatus, queryForm.getStatus());
 | 
			
		||||
        }
 | 
			
		||||
        if (queryForm.getDisabledFlag() != null) {
 | 
			
		||||
            queryWrapper.eq(LocationEntity::getDisabledFlag, queryForm.getDisabledFlag());
 | 
			
		||||
        }
 | 
			
		||||
        return locationManager.count(queryWrapper);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void exportLocation(String taskId, LocationQueryForm queryForm, HttpServletResponse response) {
 | 
			
		||||
        try {
 | 
			
		||||
            SmartExcelUtil.batchExportExcel(
 | 
			
		||||
                    response,
 | 
			
		||||
                    "库位信息.xlsx",
 | 
			
		||||
                    "库位信息",
 | 
			
		||||
                    LocationsExcelVO.class,
 | 
			
		||||
                    taskId,
 | 
			
		||||
                    locationCount(queryForm),
 | 
			
		||||
                    (lastId, pageSize) -> locationDao.listByCursor(lastId, pageSize, queryForm),
 | 
			
		||||
                    location -> LocationsExcelVO.builder()
 | 
			
		||||
                            .areaName(areaManager.queryArea(location.getAreaId()).getAreaName())
 | 
			
		||||
                            .locationCode(location.getLocationCode())
 | 
			
		||||
                            .locationType(dictService.getDictDataLabel(DictConst.LOC_TYPE.getValue(), location.getLocationType()))
 | 
			
		||||
                            .status(SmartEnumUtil.getEnumDescByValue(location.getStatus(), UsageStatusEnum.class))
 | 
			
		||||
                            .disabledFlag(location.getDisabledFlag() ? "启用" : "禁用")
 | 
			
		||||
                            .build(),
 | 
			
		||||
                    LocationVO::getLocationId,
 | 
			
		||||
                    2000,
 | 
			
		||||
                    (processed, progress) -> exportTaskService.updateProgress(taskId, progress)
 | 
			
		||||
            );
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            exportTaskService.updateProgress(taskId, -1);
 | 
			
		||||
        } finally {
 | 
			
		||||
            exportTaskService.updateProgress(taskId, 100);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@ package net.lab1024.sa.admin.module.business.wms.base.stock.controller;
 | 
			
		|||
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.entity.ItemEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemSelect;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemsExcelVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.entity.StockEntity;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +16,7 @@ import net.lab1024.sa.admin.module.business.wms.base.stock.service.StockQuerySer
 | 
			
		|||
import net.lab1024.sa.admin.module.business.wms.base.stock.service.StockService;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockUpdateForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.excel.ExportTaskService;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.RequestUser;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.ValidateList;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartExcelUtil;
 | 
			
		||||
| 
						 | 
				
			
			@ -51,6 +53,9 @@ public class StockController {
 | 
			
		|||
    @Resource
 | 
			
		||||
    private StockQueryService stockQueryService;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ExportTaskService exportTaskService;
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "分页查询 @author 霍锦")
 | 
			
		||||
    @PostMapping("/stock/queryPage")
 | 
			
		||||
    @SaCheckPermission("stock:query")
 | 
			
		||||
| 
						 | 
				
			
			@ -108,11 +113,11 @@ public class StockController {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "导出 霍锦")
 | 
			
		||||
    @GetMapping("/stock/exportStocks")
 | 
			
		||||
    @PostMapping("/stock/exportStocks/{taskId}")
 | 
			
		||||
    @SaCheckPermission("stock:exportStocks")
 | 
			
		||||
    @OperateLog
 | 
			
		||||
    public void stock(HttpServletResponse response) throws IOException {
 | 
			
		||||
        List<StocksExcelVO> stocksList = stockQueryService.queryStocksExcelVO();
 | 
			
		||||
        SmartExcelUtil.exportExcel(response, "容器信息.xlsx", "容器", StocksExcelVO.class, stocksList);
 | 
			
		||||
    public void stock(@PathVariable String taskId, @RequestBody @Valid StockQueryForm queryForm, HttpServletResponse response){
 | 
			
		||||
        stockQueryService.exportStock(taskId, queryForm, response);
 | 
			
		||||
        exportTaskService.cleanupTask(taskId);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,9 @@
 | 
			
		|||
package net.lab1024.sa.admin.module.business.wms.base.stock.dao;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.entity.StockEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.vo.StockVO;
 | 
			
		||||
| 
						 | 
				
			
			@ -33,4 +36,7 @@ public interface StockDao extends BaseMapper<StockEntity> {
 | 
			
		|||
     */
 | 
			
		||||
    List<StockVO> queryPage(Page page, @Param("queryForm") StockQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
    //游标分页
 | 
			
		||||
    List<StockVO> listByCursor(@Param("lastId") Long lastId, @Param("pageSize") int pageSize, @Param("queryForm") StockQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
package net.lab1024.sa.admin.module.business.wms.base.stock.service;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.form.ItemQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.entity.StockEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockQueryForm;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.form.StockSelect;
 | 
			
		||||
| 
						 | 
				
			
			@ -77,4 +79,20 @@ public interface StockQueryService {
 | 
			
		|||
     * @return List<StocksExcelVO>
 | 
			
		||||
     */
 | 
			
		||||
    List<StocksExcelVO> queryStocksExcelVO();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 容器总数
 | 
			
		||||
     * @param queryForm 查询参数
 | 
			
		||||
     * @return long
 | 
			
		||||
     */
 | 
			
		||||
    long stockCount(StockQueryForm queryForm);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 物料导出
 | 
			
		||||
     * @param taskId 任务ID
 | 
			
		||||
     * @param queryForm 查询参数
 | 
			
		||||
     * @param response 请求
 | 
			
		||||
     */
 | 
			
		||||
    void exportStock(String taskId, StockQueryForm queryForm, HttpServletResponse response);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
			
		||||
import com.google.common.collect.Maps;
 | 
			
		||||
import jakarta.annotation.Resource;
 | 
			
		||||
import jakarta.servlet.http.HttpServletResponse;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemsExcelVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.domain.entity.LocationEntity;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.manager.LocationManager;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.location.service.LocationQueryService;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +18,9 @@ import net.lab1024.sa.admin.module.business.wms.base.stock.domain.vo.StockVO;
 | 
			
		|||
import net.lab1024.sa.admin.module.business.wms.base.stock.domain.vo.StocksExcelVO;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.manager.StockManager;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.base.stock.service.StockQueryService;
 | 
			
		||||
import net.lab1024.sa.admin.module.business.wms.excel.ExportTaskService;
 | 
			
		||||
import net.lab1024.sa.base.common.domain.PageResult;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartExcelUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartPageUtil;
 | 
			
		||||
import net.lab1024.sa.base.module.support.dict.constant.DictConst;
 | 
			
		||||
import net.lab1024.sa.base.module.support.dict.service.DictService;
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +51,9 @@ public class StockQueryServiceImpl implements StockQueryService {
 | 
			
		|||
    @Resource
 | 
			
		||||
    private LocationQueryService locationQueryService;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private ExportTaskService exportTaskService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页查询
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -193,4 +201,51 @@ public class StockQueryServiceImpl implements StockQueryService {
 | 
			
		|||
                )
 | 
			
		||||
                .collect(Collectors.toList());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public long stockCount(StockQueryForm queryForm) {
 | 
			
		||||
        LambdaQueryWrapper<StockEntity> queryWrapper = new LambdaQueryWrapper<>();
 | 
			
		||||
        if (queryForm.getStockId() != null) {
 | 
			
		||||
            queryWrapper.eq(StockEntity::getStockId, queryForm.getStockId());
 | 
			
		||||
        }
 | 
			
		||||
        if (queryForm.getLocationId() != null) {
 | 
			
		||||
            queryWrapper.eq(StockEntity::getLocationId, queryForm.getLocationId());
 | 
			
		||||
        }
 | 
			
		||||
        if (StringUtils.isNotBlank(queryForm.getStatus())) {
 | 
			
		||||
            queryWrapper.eq(StockEntity::getStatus, queryForm.getStatus());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (queryForm.getDisabledFlag() != null) {
 | 
			
		||||
            queryWrapper.eq(StockEntity::getDisabledFlag, queryForm.getDisabledFlag());
 | 
			
		||||
        }
 | 
			
		||||
        return stockManager.count(queryWrapper);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void exportStock(String taskId, StockQueryForm queryForm, HttpServletResponse response) {
 | 
			
		||||
        try {
 | 
			
		||||
            SmartExcelUtil.batchExportExcel(
 | 
			
		||||
                    response,
 | 
			
		||||
                    "容器信息.xlsx",
 | 
			
		||||
                    "容器信息",
 | 
			
		||||
                    StocksExcelVO.class,
 | 
			
		||||
                    taskId,
 | 
			
		||||
                    stockCount(queryForm),
 | 
			
		||||
                    (lastId, pageSize) -> stockDao.listByCursor(lastId, pageSize, queryForm),
 | 
			
		||||
                    stock -> StocksExcelVO.builder()
 | 
			
		||||
                            .stockCode(stock.getStockCode())
 | 
			
		||||
                            .stockType(dictService.getDictDataLabel(DictConst.STOCK_TYPE.getValue(), stock.getStockType()))
 | 
			
		||||
                            .locationCode(locationManager.queryLocation(stock.getLocationId()) == null ? null : locationManager.queryLocation(stock.getLocationId()).getLocationCode())
 | 
			
		||||
                            .disabledFlag(stock.getDisabledFlag() ? "启用" : "禁用")
 | 
			
		||||
                            .build(),
 | 
			
		||||
                    StockVO::getStockId,
 | 
			
		||||
                    2000,
 | 
			
		||||
                    (processed, progress) -> exportTaskService.updateProgress(taskId, progress)
 | 
			
		||||
            );
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            exportTaskService.updateProgress(taskId, -1);
 | 
			
		||||
        } finally {
 | 
			
		||||
            exportTaskService.updateProgress(taskId, 100);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,6 @@ import jakarta.servlet.ServletOutputStream;
 | 
			
		|||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.util.Random;
 | 
			
		||||
import java.util.concurrent.ConcurrentHashMap;
 | 
			
		||||
import java.util.concurrent.ConcurrentMap;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -42,11 +42,12 @@
 | 
			
		|||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="listByCursor" resultType="net.lab1024.sa.admin.module.business.wms.base.address.domain.vo.AddressVO">
 | 
			
		||||
        SELECT t_address.address_id,
 | 
			
		||||
               t_address.name,
 | 
			
		||||
               t_address.person,
 | 
			
		||||
               t_address.telephone,
 | 
			
		||||
               t_address.address
 | 
			
		||||
        SELECT
 | 
			
		||||
        t_address.address_id,
 | 
			
		||||
        t_address.name,
 | 
			
		||||
        t_address.person,
 | 
			
		||||
        t_address.telephone,
 | 
			
		||||
        t_address.address
 | 
			
		||||
        FROM t_address
 | 
			
		||||
        <where>
 | 
			
		||||
            t_address.address_id > #{lastId}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,8 @@
 | 
			
		|||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="listByCursor" resultType="net.lab1024.sa.admin.module.business.wms.base.item.domain.vo.ItemVO">
 | 
			
		||||
        SELECT t_item.item_id,
 | 
			
		||||
        SELECT
 | 
			
		||||
        t_item.item_id,
 | 
			
		||||
        t_item.item_code,
 | 
			
		||||
        t_item.item_name,
 | 
			
		||||
        t_item.item_type,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,10 @@
 | 
			
		|||
 | 
			
		||||
    <!-- 查询结果列 -->
 | 
			
		||||
    <sql id="base_columns">
 | 
			
		||||
        t_location.location_id,
 | 
			
		||||
        t_location
 | 
			
		||||
        .
 | 
			
		||||
        location_id
 | 
			
		||||
        ,
 | 
			
		||||
        t_location.location_code,
 | 
			
		||||
        t_location.location_name,
 | 
			
		||||
        t_location.status,
 | 
			
		||||
| 
						 | 
				
			
			@ -44,5 +47,36 @@
 | 
			
		|||
        ORDER BY t_location.location_code
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="listByCursor" resultType="net.lab1024.sa.admin.module.business.wms.base.location.domain.vo.LocationVO">
 | 
			
		||||
        SELECT
 | 
			
		||||
        t_location.location_id,
 | 
			
		||||
        t_location.area_id,
 | 
			
		||||
        t_location.location_code,
 | 
			
		||||
        t_location.status,
 | 
			
		||||
        t_location.disabled_flag,
 | 
			
		||||
        t_location.location_type
 | 
			
		||||
        FROM t_location
 | 
			
		||||
        <where>
 | 
			
		||||
            t_location.location_id > #{lastId}
 | 
			
		||||
            <if test="queryForm.areaId != null">
 | 
			
		||||
                AND t_location.area_id=#{queryForm.areaId}
 | 
			
		||||
            </if>
 | 
			
		||||
            <!--库位-->
 | 
			
		||||
            <if test="queryForm.locationId != null">
 | 
			
		||||
                AND t_location.location_id=#{queryForm.locationId}
 | 
			
		||||
            </if>
 | 
			
		||||
            <!--状态-->
 | 
			
		||||
            <if test="queryForm.status != null and queryForm.status != ''">
 | 
			
		||||
                AND t_location.status=#{queryForm.status}
 | 
			
		||||
            </if>
 | 
			
		||||
            <!--是否启用-->
 | 
			
		||||
            <if test="queryForm.disabledFlag != null">
 | 
			
		||||
                AND t_location.disabled_flag=#{queryForm.disabledFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
        ORDER BY t_location.location_id ASC -- 必须升序
 | 
			
		||||
        LIMIT #{pageSize}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,5 +40,38 @@
 | 
			
		|||
        ORDER BY t_stock.stock_code
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="listByCursor" resultType="net.lab1024.sa.admin.module.business.wms.base.stock.domain.vo.StockVO">
 | 
			
		||||
        SELECT
 | 
			
		||||
        t_stock.stock_id,
 | 
			
		||||
        t_stock.stock_code,
 | 
			
		||||
        t_stock.location_id,
 | 
			
		||||
        t_stock.disabled_flag,
 | 
			
		||||
        t_stock.stock_type,
 | 
			
		||||
        FROM t_stock
 | 
			
		||||
        <where>
 | 
			
		||||
            t_stock.stock_id > #{lastId}
 | 
			
		||||
            <!--容器-->
 | 
			
		||||
            <if test="queryForm.stockId != null ">
 | 
			
		||||
                AND t_stock.stock_id=#{queryForm.stockId}
 | 
			
		||||
            </if>
 | 
			
		||||
            <!--库位-->
 | 
			
		||||
            <if test="queryForm.locationId != null">
 | 
			
		||||
                AND t_stock.location_id=#{queryForm.locationId}
 | 
			
		||||
            </if>
 | 
			
		||||
            <!--状态-->
 | 
			
		||||
            <if test="queryForm.status != null and queryForm.status != ''">
 | 
			
		||||
                AND t_stock.status=#{queryForm.status}
 | 
			
		||||
            </if>
 | 
			
		||||
            <!--是否启用-->
 | 
			
		||||
            <if test="queryForm.disabledFlag != null">
 | 
			
		||||
                AND t_stock.disabled_flag=#{queryForm.disabledFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
        ORDER BY t_stock.stock_id ASC -- 必须升序
 | 
			
		||||
        LIMIT #{pageSize}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -46,6 +46,7 @@ import java.util.stream.Collectors;
 | 
			
		|||
 * @Email lab1024@163.com
 | 
			
		||||
 * @Copyright 1024创新实验室 ( https://1024lab.net ),2012-2024
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
public final class SmartExcelUtil {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -113,7 +114,7 @@ public final class SmartExcelUtil {
 | 
			
		|||
                try {
 | 
			
		||||
                    Thread.sleep(1500);
 | 
			
		||||
                } catch (InterruptedException e) {
 | 
			
		||||
                    System.out.println("异常" + e.getMessage());
 | 
			
		||||
                    log.error("异常:{}", e.getMessage());
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            excelWriter.finish();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue