package org.dromara.qa.md.service; import com.baomidou.mybatisplus.extension.service.IService; import org.dromara.qa.md.domain.bo.BatchCalibrateBo; import org.dromara.qa.md.domain.bo.BatchConfigBo; import org.dromara.qa.md.domain.WeighingBox; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import java.util.List; import java.util.Map; /** * 称重盒子服务接口 * * @author ruoyi * @date 2026-04-09 */ public interface IWeighingBoxService extends IService { /** * 分页查询称重盒子列表 * * @param weighingBox 查询条件 * @param pageQuery 分页参数 * @return 称重盒子分页列表 */ public TableDataInfo queryPageList(WeighingBox weighingBox, PageQuery pageQuery); /** * 查询称重盒子列表 * * @param weighingBox 称重盒子 * @return 称重盒子集合 */ public List selectWeighingBoxList(WeighingBox weighingBox); /** * 新增称重盒子 * * @param weighingBox 称重盒子 * @return 结果 */ public int insertWeighingBox(WeighingBox weighingBox); /** * 修改称重盒子 * * @param weighingBox 称重盒子 * @return 结果 */ public int updateWeighingBox(WeighingBox weighingBox); /** * 批量删除称重盒子 * * @param boxIds 需要删除的称重盒子ID * @return 结果 */ public int deleteWeighingBoxByIds(Long[] boxIds); /** * 执行单个校准 * * @param boxId 盒子ID * @param calibDate 校准日期 * @param actualWeight 实际重量 * @param note 备注 * @return 结果 */ public int calibrate(Long boxId, java.util.Date calibDate, java.math.BigDecimal actualWeight, String note); /** * 批量校准 * * @param batchCalibrateDTO 批量校准参数 * @return 结果 */ public Map batchCalibrate(BatchCalibrateBo batchCalibrateDTO); /** * 统一配置校准周期 * * @param batchConfigDTO 批量配置参数 * @return 结果 */ public int batchConfig(BatchConfigBo batchConfigDTO); /** * 批量更新状态 * * @param boxIds 盒子ID列表 * @param activeStatus 状态 * @return 结果 */ public int batchUpdateStatus(List boxIds, Integer activeStatus); /** * 复制盒子 * * @param sourceId 源盒子ID * @param count 复制数量 * @return 结果 */ public Map copyBox(Long sourceId, Integer count); /** * 获取校准状态统计 * * @return 统计结果 */ public Map getStatistics(); /** * 计算校准状态 * * @param weighingBox 称重盒子 * @return 称重盒子(含状态信息) */ public WeighingBox calculateCalibStatus(WeighingBox weighingBox); }