feat(wms): 新增钢卷表面处理字段及相关功能

在钢卷相关实体类、前端页面和查询逻辑中新增钢卷表面处理字段,包括:
1. 在WmsMaterialCoil、WmsMaterialCoilVo、WmsMaterialCoilBo中新增coilSurfaceTreatment字段
2. 在前端多个页面中新增钢卷表面处理的展示和编辑功能
3. 在查询逻辑中新增对钢卷表面处理的过滤条件
4. 新增仓库操作记录页面及相关统计图表功能
This commit is contained in:
砂糖
2026-04-01 14:50:56 +08:00
parent f959f97099
commit 579bf3796f
19 changed files with 677 additions and 47 deletions

View File

@@ -177,4 +177,6 @@ public class WmsCoilWarehouseOperationLogController extends BaseController {
List<WmsCoilWarehouseOperationLogExportVo> list = iWmsCoilWarehouseOperationLogService.exportBySecondWarehouseIdAndTimeRange(secondWarehouseId, operationType, inOutType, startTime, endTime);
ExcelUtil.exportExcel(list, "钢卷库区操作记录导出", WmsCoilWarehouseOperationLogExportVo.class, response);
}
}

View File

@@ -200,5 +200,10 @@ public class WmsMaterialCoil extends BaseEntity {
* 预留宽度(单位:毫米)
*/
private BigDecimal reservedWidth;
/**
* 钢卷表中的表面处理
*/
private String coilSurfaceTreatment;
}

View File

@@ -1,9 +1,13 @@
package com.klp.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
import java.util.Date;
/**
@@ -47,5 +51,19 @@ public class WmsCoilWarehouseOperationLogBo extends BaseEntity {
*/
private String remark;
/**
* 创建开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createStartTime;
/**
* 创建结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createEndTime;
}

View File

@@ -235,6 +235,9 @@ public class WmsMaterialCoilBo extends BaseEntity {
//新增长度字段
private BigDecimal length;
// 新增的在钢卷表中的表面处理
private String coilSurfaceTreatment;
//新增通过创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

View File

@@ -312,6 +312,11 @@ public class WmsMaterialCoilVo extends BaseEntity {
*/
private BigDecimal reservedWidth;
/**
* 新增在钢卷表中的表面处理
*/
private String coilSurfaceTreatment;
/**
* 操作完成时间从wms_coil_pending_action表查询到的完成时间
*/

View File

@@ -55,7 +55,47 @@ public class WmsCoilWarehouseOperationLogServiceImpl implements IWmsCoilWarehous
public TableDataInfo<WmsCoilWarehouseOperationLogVo> queryPageList(WmsCoilWarehouseOperationLogBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsCoilWarehouseOperationLog> lqw = buildQueryWrapper(bo);
Page<WmsCoilWarehouseOperationLogVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
List<WmsCoilWarehouseOperationLogVo> records = result.getRecords();
Set<Long> coilIds = records.stream()
.map(WmsCoilWarehouseOperationLogVo::getCoilId)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
Set<Long> warehouseIds = records.stream()
.map(WmsCoilWarehouseOperationLogVo::getActualWarehouseId)
.filter(Objects::nonNull)
.collect(Collectors.toSet());
Map<Long, WmsMaterialCoilVo> coilMap = new HashMap<>();
if (!coilIds.isEmpty()) {
WmsMaterialCoilBo coilBo = new WmsMaterialCoilBo();
coilBo.setCoilIds(coilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
List<WmsMaterialCoilVo> coils = wmsMaterialCoilService.queryList(coilBo);
for (WmsMaterialCoilVo coil : coils) {
coilMap.put(coil.getCoilId(), coil);
}
}
Map<Long, WmsActualWarehouseVo> warehouseMap = new HashMap<>();
if (!warehouseIds.isEmpty()) {
LambdaQueryWrapper<WmsActualWarehouse> warehouseQuery = Wrappers.lambdaQuery();
warehouseQuery.in(WmsActualWarehouse::getActualWarehouseId, warehouseIds);
List<WmsActualWarehouse> warehouses = wmsActualWarehouseMapper.selectList(warehouseQuery);
for (WmsActualWarehouse warehouse : warehouses) {
WmsActualWarehouseVo vo = BeanUtil.toBean(warehouse, WmsActualWarehouseVo.class);
warehouseMap.put(warehouse.getActualWarehouseId(), vo);
}
}
for (WmsCoilWarehouseOperationLogVo vo : records) {
vo.setCoil(coilMap.get(vo.getCoilId()));
vo.setWarehouse(warehouseMap.get(vo.getActualWarehouseId()));
}
TableDataInfo<WmsCoilWarehouseOperationLogVo> tabledata = TableDataInfo.build(result);
return tabledata;
}
/**
@@ -74,6 +114,9 @@ public class WmsCoilWarehouseOperationLogServiceImpl implements IWmsCoilWarehous
lqw.eq(bo.getActualWarehouseId() != null, WmsCoilWarehouseOperationLog::getActualWarehouseId, bo.getActualWarehouseId());
lqw.eq(bo.getOperationType() != null, WmsCoilWarehouseOperationLog::getOperationType, bo.getOperationType());
lqw.eq(bo.getInOutType() != null, WmsCoilWarehouseOperationLog::getInOutType, bo.getInOutType());
lqw.eq(bo.getCreateBy() != null, WmsCoilWarehouseOperationLog::getCreateBy, bo.getCreateBy());
lqw.ge(bo.getCreateStartTime() != null, WmsCoilWarehouseOperationLog::getCreateTime, bo.getCreateStartTime());
lqw.le(bo.getCreateEndTime() != null, WmsCoilWarehouseOperationLog::getCreateTime, bo.getCreateEndTime());
return lqw;
}

View File

@@ -520,6 +520,8 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
qw.eq(bo.getProductionDuration() != null, "mc.production_duration", bo.getProductionDuration());
// 预留宽度
qw.eq(bo.getReservedWidth() != null, "mc.reserved_width", bo.getReservedWidth());
// 钢卷表面处理
qw.eq(bo.getCoilSurfaceTreatment() != null, "mc.coil_surface_treatment", bo.getCoilSurfaceTreatment());
// 如果actualWarehouseId不为空则根据实际库区ID进行查询 如果为-1,则查询无库区的数据
if (bo.getActualWarehouseId() != null) {
if (bo.getActualWarehouseId() == -1) {