diff --git a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java index 746391dc..df353d15 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsMaterialCoilController.java @@ -46,13 +46,13 @@ public class WmsMaterialCoilController extends BaseController { } /** - * 导出钢卷物料表列表 + * 导出钢卷物料表列表(完整字段版本) */ @Log(title = "钢卷物料表", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(WmsMaterialCoilBo bo, HttpServletResponse response) { - List list = iWmsMaterialCoilService.queryList(bo); - ExcelUtil.exportExcel(list, "钢卷物料表", WmsMaterialCoilVo.class, response); + List list = iWmsMaterialCoilService.queryExportList(bo); + ExcelUtil.exportExcel(list, "钢卷物料表", com.klp.domain.vo.WmsMaterialCoilExportVo.class, response); } /** diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java new file mode 100644 index 00000000..2530a934 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsMaterialCoilExportVo.java @@ -0,0 +1,153 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 钢卷物料导出VO + * + * @author klp + * @date 2025-11-27 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsMaterialCoilExportVo { + + /** + * 类型(成品/原料) + */ + @ExcelProperty(value = "类型") + private String itemTypeDesc; + + /** + * 物品ID + */ + @ExcelProperty(value = "物品ID") + private Long itemId; + + /** + * 逻辑库区 + */ + @ExcelProperty(value = "逻辑库区") + private String warehouseName; + + /** + * 实际库区 + */ + @ExcelProperty(value = "实际库区") + private String actualWarehouseName; + + /** + * 入场卷号 + */ + @ExcelProperty(value = "入场卷号") + private String enterCoilNo; + + /** + * 厂家卷号 + */ + @ExcelProperty(value = "厂家卷号") + private String supplierCoilNo; + + /** + * 成品卷号 + */ + @ExcelProperty(value = "成品卷号") + private String currentCoilNo; + + /** + * 日期 + */ + @ExcelProperty(value = "日期") + private Date createTime; + + /** + * 重量(kg) + */ + @ExcelProperty(value = "重量") + private BigDecimal netWeight; + + /** + * 用途 + */ + @ExcelProperty(value = "用途") + private String purpose; + + /** + * 切边要求 + */ + @ExcelProperty(value = "切边要求") + private String trimmingRequirement; + + /** + * 包装种类 + */ + @ExcelProperty(value = "包装种类") + private String packagingRequirement; + + /** + * 产品状态 + */ + @ExcelProperty(value = "产品状态") + private String qualityStatusDesc; + + /** + * 打包状态 + */ + @ExcelProperty(value = "打包状态") + private String packingStatusDesc; + + /** + * 库存状态 + */ + @ExcelProperty(value = "库存状态") + private String statusDesc; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 名称 + */ + @ExcelProperty(value = "名称") + private String itemName; + + /** + * 规格 + */ + @ExcelProperty(value = "规格") + private String specification; + + /** + * 材质 + */ + @ExcelProperty(value = "材质") + private String material; + + /** + * 厂家 + */ + @ExcelProperty(value = "厂家") + private String manufacturer; + + /** + * 表面处理 + */ + @ExcelProperty(value = "表面处理") + private String surfaceTreatmentDesc; + + /** + * 锌层 + */ + @ExcelProperty(value = "锌层") + private String zincLayer; +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java index 7baaef01..22bfa1bb 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsMaterialCoilMapper.java @@ -45,5 +45,13 @@ public interface WmsMaterialCoilMapper extends BaseMapperPlus> getDistributionByActualWarehouse(@Param("itemType") String itemType, @Param("itemId") Long itemId); List> getDistributionByActualItemType(@Param("itemType")String itemType,@Param("itemId") Long itemId); + + /** + * 查询钢卷导出数据(包含所有关联字段) + * + * @param lqw 查询条件 + * @return 导出数据列表 + */ + List selectExportList(@Param("ew")QueryWrapper lqw); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java index 9585169d..05cb1d75 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsMaterialCoilService.java @@ -88,5 +88,13 @@ public interface IWmsMaterialCoilService { List getDistributionByActualWarehouse(String itemType, Long itemId); List getDistributionByActualItemType(String itemType, Long itemId); + + /** + * 查询钢卷导出数据列表 + * + * @param bo 查询条件 + * @return 导出数据列表 + */ + List queryExportList(WmsMaterialCoilBo bo); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java index 1b857154..5b66a20f 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsMaterialCoilServiceImpl.java @@ -1586,5 +1586,71 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService { List> mapList = baseMapper.getDistributionByActualItemType(itemType, itemId); return convertMapListToVoListActual(mapList); } -} + /** + * 查询钢卷导出数据列表 + */ + @Override + public List queryExportList(WmsMaterialCoilBo bo) { + QueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectExportList(lqw); + } + + /** + * 构建查询条件 + */ + private QueryWrapper buildQueryWrapper(WmsMaterialCoilBo bo) { + QueryWrapper lqw = Wrappers.query(); + + // 基础字段筛选 + lqw.eq(bo.getCoilId() != null, "mc.coil_id", bo.getCoilId()); + lqw.eq(StringUtils.isNotBlank(bo.getEnterCoilNo()), "mc.enter_coil_no", bo.getEnterCoilNo()); + lqw.like(StringUtils.isNotBlank(bo.getCurrentCoilNo()), "mc.current_coil_no", bo.getCurrentCoilNo()); + lqw.like(StringUtils.isNotBlank(bo.getSupplierCoilNo()), "mc.supplier_coil_no", bo.getSupplierCoilNo()); + lqw.eq(bo.getDataType() != null, "mc.data_type", bo.getDataType()); + lqw.eq(bo.getWarehouseId() != null, "mc.warehouse_id", bo.getWarehouseId()); + lqw.eq(bo.getActualWarehouseId() != null, "mc.actual_warehouse_id", bo.getActualWarehouseId()); + lqw.eq(StringUtils.isNotBlank(bo.getItemType()), "mc.item_type", bo.getItemType()); + lqw.eq(bo.getHasMergeSplit() != null, "mc.has_merge_split", bo.getHasMergeSplit()); + // 修改itemId筛选逻辑,支持逗号分隔的多个ID查询 + if (StringUtils.isNotBlank(bo.getItemIds())) { + String[] itemIdArray = bo.getItemIds().split(","); + List itemIdList = new ArrayList<>(); + for (String itemIdStr : itemIdArray) { + if (StringUtils.isNotBlank(itemIdStr)) { + try { + itemIdList.add(Long.parseLong(itemIdStr.trim())); + } catch (NumberFormatException e) { + // 忽略无效的ID格式 + } + } + } + if (!itemIdList.isEmpty()) { + lqw.in("mc.item_id", itemIdList); + } + } else if (bo.getItemId() != null) { + // 兼容原来的itemId单值查询 + lqw.eq("mc.item_id", bo.getItemId()); + } + + lqw.eq(bo.getStatus() != null, "mc.status", bo.getStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getMaterialType()), "mc.material_type", bo.getMaterialType()); + lqw.eq(StringUtils.isNotBlank(bo.getQualityStatus()), "mc.quality_status", bo.getQualityStatus()); + lqw.eq(StringUtils.isNotBlank(bo.getPackingStatus()), "mc.packing_status", bo.getPackingStatus()); + + // 把team字段作为筛选条件 + lqw.eq(StringUtils.isNotBlank(bo.getTeam()), "mc.team", bo.getTeam()); + + // 根据开始时间和结束时间筛选修改时间 + lqw.ge(bo.getStartTime() != null, "mc.update_time", bo.getStartTime()); + lqw.le(bo.getEndTime() != null, "mc.update_time", bo.getEndTime()); + + // 逻辑删除 + lqw.eq("mc.del_flag", 0); + + // 根据创建时间倒序 + lqw.orderByDesc("mc.create_time"); + + return lqw; + } +} diff --git a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml index 5d024610..ef2af483 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsMaterialCoilMapper.xml @@ -316,6 +316,93 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY mc.item_type, mc.item_id, w.actual_warehouse_id + + +