package com.zy.asrs.mapper; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.MonthlySettle; import com.zy.asrs.entity.result.MaterialInOutStatDTO; import com.zy.asrs.entity.result.PreviousSettleEndingQtyDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @Mapper @Repository public interface MonthlySettleMapper extends BaseMapper { /** * 获取最近的月结记录 */ MonthlySettle selectLatestSettle(); /** * 统计月结时间范围内的订单数量 */ int countOrdersInRange(@Param("startDate") String startDate, @Param("endDate") String endDate); /** * 统计月结时间范围内未完成的订单数量(入库和出库) */ int countUnfinishedOrdersInRange(@Param("startDate") String startDate, @Param("endDate") String endDate); /** * 统计月结时间范围内的物料出入库数量(合并入库和出库) */ List statisticsMaterialInOut(@Param("startDate") String startDate, @Param("endDate") String endDate); /** * 获取上一个月结的物料期末库存 */ List getPreviousSettleEndingQty(@Param("previousSettleId") Long previousSettleId); /** * 更新入库订单的月结信息 */ int updateOrderSettleInfo(@Param("settleId") Long settleId, @Param("settleNo") String settleNo, @Param("startDate") String startDate, @Param("endDate") String endDate); /** * 更新出库订单的月结信息 */ int updateOrderSettleInfoPakout(@Param("settleId") Long settleId, @Param("settleNo") String settleNo, @Param("startDate") String startDate, @Param("endDate") String endDate); /** * 清除入库订单的月结信息 */ int clearOrderSettleInfo(@Param("settleId") Long settleId); /** * 清除出库订单的月结信息 */ int clearOrderSettleInfoPakout(@Param("settleId") Long settleId); }