| | |
| | | import cn.hutool.core.util.ObjUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmStockSummaryReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmStockSummaryRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.transaction.vo.MesWmTransactionPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO; |
| | |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseDefaultService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | |
| | | return transactionMapper.selectPage(pageReqVO); |
| | | } |
| | | |
| | | @Override |
| | | public PageResult<MesWmStockSummaryRespVO> getStockSummaryPage(MesWmStockSummaryReqVO reqVO) { |
| | | // 未指定时间时默认统计近三个月:期初为两个月前 1 日 0 点,期末为当前时间 |
| | | LocalDateTime endTime = reqVO.getEndTime() != null ? reqVO.getEndTime() : LocalDateTime.now(); |
| | | LocalDateTime startTime = reqVO.getStartTime() != null ? reqVO.getStartTime() |
| | | : endTime.toLocalDate().withDayOfMonth(1).minusMonths(2).atStartOfDay(); |
| | | if (startTime.isAfter(endTime)) { |
| | | throw new ServiceException(400, StrUtil.format( |
| | | "查询开始时间[{}]晚于结束时间[{}],请调整时间范围后重试", |
| | | startTime, endTime)); |
| | | } |
| | | IPage<MesWmStockSummaryRespVO> page = transactionMapper.selectStockSummaryPage( |
| | | new Page<>(reqVO.getPageNo(), reqVO.getPageSize()), |
| | | reqVO.getItemId(), reqVO.getWarehouseId(), startTime, endTime); |
| | | return new PageResult<>(page.getRecords(), page.getTotal()); |
| | | } |
| | | |
| | | // ==================== 私有校验方法 ==================== |
| | | |
| | | /** |