feat(wms): 新增钢卷报表查询接口和解锁功能
- 添加 queryReportList 方法用于轻量级报表数据查询 - 新增 listForReport 控制器接口返回必要字段提升传输性能 - 创建 WmsMaterialCoilReportVo 类定义报表数据结构 - 添加 unlockCoil 方法解除钢卷锁定状态 - 实现 unlockCoil 控制器接口支持 PUT 请求 - 更新数据库映射配置移除多余关联查询字段 - 优化报表查询 SQL 仅返回必要字段提升查询效率
This commit is contained in:
@@ -61,6 +61,15 @@ public class WmsMaterialCoilController extends BaseController {
|
||||
return iWmsMaterialCoilService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷物料表列表(报表专用,轻量级,仅返回coilId、netWeight、warehouseId、qualityStatus、team)
|
||||
* 使用与list相同的查询条件,但只返回少量字段以提升传输性能
|
||||
*/
|
||||
@GetMapping("/listForReport")
|
||||
public List<WmsMaterialCoilReportVo> listForReport(WmsMaterialCoilBo bo) {
|
||||
return iWmsMaterialCoilService.queryReportList(bo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷物料表列表(包含发货绑定增强字段)
|
||||
*/
|
||||
@@ -677,6 +686,16 @@ public class WmsMaterialCoilController extends BaseController {
|
||||
return R.ok(material, "查询成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 解除钢卷锁定状态
|
||||
* 将钢卷的 exclusiveStatus 字段设置为 0
|
||||
*/
|
||||
@Log(title = "钢卷物料表", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/unlock/{coilId}")
|
||||
public R<Void> unlockCoil(@NotNull(message = "主键不能为空") @PathVariable("coilId") Long coilId) {
|
||||
return toAjax(iWmsMaterialCoilService.unlockCoil(coilId));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.klp.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 钢卷物料报表VO(轻量级,仅返回报表展示所需字段)
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-07-18
|
||||
*/
|
||||
@Data
|
||||
public class WmsMaterialCoilReportVo {
|
||||
|
||||
// 钢卷ID 用于导出
|
||||
private Long coilId;
|
||||
// 用于计算
|
||||
private BigDecimal netWeight;
|
||||
// 实际库区ID
|
||||
private Long warehouseId;
|
||||
// 质量状态
|
||||
private String qualityStatus;
|
||||
// 班组
|
||||
private String team;
|
||||
|
||||
}
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.klp.domain.WmsMaterialCoil;
|
||||
import com.klp.domain.vo.WmsMaterialCoilAnnealExportVo;
|
||||
import com.klp.domain.vo.WmsMaterialCoilDeliveryExportVo;
|
||||
import com.klp.domain.vo.WmsMaterialCoilReportVo;
|
||||
import com.klp.domain.vo.WmsMaterialCoilVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -98,6 +99,14 @@ List<WmsMaterialCoilDeliveryExportVo> selectDeliveryExportListByCoilIds(@Param("
|
||||
*/
|
||||
List<WmsMaterialCoilAnnealExportVo> selectAnnealExportListByCoilIds(@Param("coilIds") java.util.Collection<Long> coilIds);
|
||||
|
||||
/**
|
||||
* 分页查询钢卷报表数据(轻量级,仅返回必要字段)
|
||||
*
|
||||
* @param lqw 查询条件
|
||||
* @return 分页报表数据
|
||||
*/
|
||||
List<WmsMaterialCoilReportVo> selectPageReportList(@Param("ew") QueryWrapper<WmsMaterialCoil> lqw);
|
||||
|
||||
List<CoilTrimRawVo> selectCoilTrimStatistics();
|
||||
|
||||
List<CategoryWidthRawVo> selectCategoryWidthStatistics();
|
||||
|
||||
@@ -314,6 +314,15 @@ public interface IWmsMaterialCoilService {
|
||||
*/
|
||||
String queryEarliestHotRolledMaterial(String enterCoilNo);
|
||||
|
||||
/**
|
||||
* 查询钢卷报表数据(轻量级,仅返回必要字段)
|
||||
* 使用与分页列表相同的查询条件,但只返回少量字段以提升传输性能
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 报表数据
|
||||
*/
|
||||
List<WmsMaterialCoilReportVo> queryReportList(WmsMaterialCoilBo bo);
|
||||
|
||||
/**
|
||||
* 退火报表导出数据列表(按 coilIds)
|
||||
*
|
||||
@@ -322,6 +331,15 @@ public interface IWmsMaterialCoilService {
|
||||
*/
|
||||
List<WmsMaterialCoilAnnealExportVo> queryAnnealExportList(WmsMaterialCoilBo bo);
|
||||
|
||||
/**
|
||||
* 解除钢卷锁定状态
|
||||
* 将钢卷的 exclusiveStatus 字段设置为 0
|
||||
*
|
||||
* @param coilId 钢卷ID
|
||||
* @return 操作结果
|
||||
*/
|
||||
Boolean unlockCoil(@NotNull(message = "钢卷ID不能为空") Long coilId);
|
||||
|
||||
/**
|
||||
* 导出异常报表(按 coilIds,联查钢卷信息、异常信息、改判原因)
|
||||
* 一个钢卷可能对应多个异常,钢卷信息合并居中,异常信息逐条显示
|
||||
|
||||
@@ -3050,6 +3050,17 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
return wmsMaterialCoilDeliveryExportVos;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询钢卷报表数据(轻量级,仅返回必要字段)
|
||||
* 使用与分页列表相同的查询条件,但只返回少量字段以提升传输性能
|
||||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<WmsMaterialCoilReportVo> queryReportList(WmsMaterialCoilBo bo) {
|
||||
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapperPlus(bo);
|
||||
return baseMapper.selectPageReportList(lqw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 退火报表导出:按 coilIds 查询钢卷 + 退火计划联查数据
|
||||
*/
|
||||
@@ -5709,5 +5720,20 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
return material;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean unlockCoil(Long coilId) {
|
||||
if (coilId == null) {
|
||||
throw new RuntimeException("钢卷ID不能为空");
|
||||
}
|
||||
WmsMaterialCoil coil = baseMapper.selectById(coilId);
|
||||
if (coil == null) {
|
||||
throw new RuntimeException("钢卷不存在");
|
||||
}
|
||||
LambdaUpdateWrapper<WmsMaterialCoil> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(WmsMaterialCoil::getCoilId, coilId)
|
||||
.set(WmsMaterialCoil::getExclusiveStatus, 0);
|
||||
return baseMapper.update(null, updateWrapper) > 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user