feat(wms): 新增库存批次号查询功能
- 在 IWmsStockIoDetailService 接口中添加 batchQuery 方法 - 在 WmsStockIoDetailController 中添加 batchQuery 接口 - 在 WmsStockIoDetailMapper 接口中添加 batchQuery 方法 - 在 WmsStockIoDetailMapper.xml 中添加对应的 SQL 查询语句 - 在 WmsStockIoDetailServiceImpl 中实现 batchQuery 方法 - 在 WmsStockIoDetailVo 中添加主表的 stockIoCode、ioType 和 bizType 字段
This commit is contained in:
@@ -108,4 +108,5 @@ public class WmsStockController extends BaseController {
|
||||
List<WmsStockVo> list = iWmsStockService.queryList(bo);
|
||||
return R.ok("查询到 " + list.size() + " 条库存记录,仓库ID: " + warehouseId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.klp.controller;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
|
||||
import com.klp.domain.bo.WmsStockBo;
|
||||
import com.klp.domain.vo.WmsStockVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.*;
|
||||
@@ -97,4 +99,10 @@ public class WmsStockIoDetailController extends BaseController {
|
||||
@PathVariable Long[] detailIds) {
|
||||
return toAjax(iWmsStockIoDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true));
|
||||
}
|
||||
//根据批次号联查出入库单主表以及明细表信息
|
||||
@PostMapping("/batch/{batchNo}")
|
||||
public R<String> batchQuery(@RequestBody WmsStockIoDetailBo bo) {
|
||||
List<WmsStockIoDetailVo> list = iWmsStockIoDetailService.batchQuery(bo);
|
||||
return R.ok("查询到 " + list.size() + " 条库存记录,批次号: " + bo.getBatchNo());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,5 +94,10 @@ public class WmsStockIoDetailVo {
|
||||
*/
|
||||
private Long fromWarehouseId;
|
||||
|
||||
//主表的 数据号 类型以及业务类型
|
||||
private String stockIoCode;
|
||||
private String ioType;
|
||||
private String bizType;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.klp.mapper;
|
||||
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.domain.WmsStockIoDetail;
|
||||
import com.klp.domain.vo.WmsStockIoDetailVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
@@ -9,6 +11,8 @@ import java.util.Map;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 出入库单明细Mapper接口
|
||||
*
|
||||
@@ -28,4 +32,6 @@ public interface WmsStockIoDetailMapper extends BaseMapperPlus<WmsStockIoDetailM
|
||||
* 分页联查库区/库位名称的明细列表,支持Wrapper动态条件,返回Page<WmsStockIoDetailVo>
|
||||
*/
|
||||
Page<WmsStockIoDetailVo> selectVoPagePlus(Page<?> page, @Param("ew") Wrapper<WmsStockIoDetail> wrapper);
|
||||
|
||||
List<WmsStockIoDetailVo> batchQuery(@Param("batchNo") String batchNo);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.klp.mapper;
|
||||
|
||||
import com.klp.common.core.validate.AddGroup;
|
||||
import com.klp.common.core.validate.EditGroup;
|
||||
import com.klp.domain.WmsStock;
|
||||
import com.klp.domain.vo.WmsStockVo;
|
||||
import com.klp.common.core.mapper.BaseMapperPlus;
|
||||
@@ -8,7 +10,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 库存:原材料/产品与库区/库位的存放关系Mapper接口
|
||||
@@ -24,4 +28,5 @@ public interface WmsStockMapper extends BaseMapperPlus<WmsStockMapper, WmsStock,
|
||||
* 分页联查物品名称和编码,支持Wrapper动态条件,返回Page<WmsStockVo>
|
||||
*/
|
||||
Page<WmsStockVo> selectVoPagePlus(Page<?> page, @Param("ew") Wrapper<WmsStock> wrapper);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.klp.service;
|
||||
|
||||
import com.klp.domain.WmsStockIoDetail;
|
||||
import com.klp.domain.bo.WmsStockBo;
|
||||
import com.klp.domain.vo.WmsStockIoDetailVo;
|
||||
import com.klp.domain.bo.WmsStockIoDetailBo;
|
||||
import com.klp.common.core.page.TableDataInfo;
|
||||
import com.klp.common.core.domain.PageQuery;
|
||||
import com.klp.domain.vo.WmsStockVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -46,4 +48,6 @@ public interface IWmsStockIoDetailService {
|
||||
* 校验并批量删除出入库单明细信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
List<WmsStockIoDetailVo> batchQuery(WmsStockIoDetailBo bo);
|
||||
}
|
||||
|
||||
@@ -52,4 +52,6 @@ public interface IWmsStockService {
|
||||
* 根据原材料ID获取库存数量 (用于生成推荐采购计划)
|
||||
*/
|
||||
BigDecimal getStockByItemId(Long rawMaterialId);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.domain.WmsProduct;
|
||||
import com.klp.domain.WmsRawMaterial;
|
||||
import com.klp.domain.bo.WmsStockBo;
|
||||
import com.klp.domain.vo.WmsStockVo;
|
||||
import com.klp.mapper.WmsProductMapper;
|
||||
import com.klp.mapper.WmsRawMaterialMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -22,10 +24,8 @@ import com.klp.mapper.WmsStockIoDetailMapper;
|
||||
import com.klp.mapper.WmsStockIoMapper;
|
||||
import com.klp.service.IWmsStockIoDetailService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.*;
|
||||
|
||||
import com.klp.common.exception.ServiceException;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
|
||||
@@ -220,4 +220,10 @@ public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService {
|
||||
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WmsStockIoDetailVo> batchQuery(WmsStockIoDetailBo bo) {
|
||||
//根据这个bo.getBatchNo()拿到这个批次号对应明细表的信息在根据明细表带的stockIoId拿到库存表信息
|
||||
return baseMapper.batchQuery(bo.getBatchNo());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,7 @@ import com.klp.mapper.WmsWarehouseMapper;
|
||||
import com.klp.service.IWmsStockService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 库存:原材料/产品与库区/库位的存放关系Service业务层处理
|
||||
@@ -182,6 +179,8 @@ public class WmsStockServiceImpl implements IWmsStockService {
|
||||
return baseMapper.getStockByItemId(rawMaterialId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取指定仓库ID及其所有子仓库ID
|
||||
* @param warehouseId 仓库ID
|
||||
|
||||
@@ -79,5 +79,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
LEFT JOIN wms_warehouse w2 ON d.from_warehouse_id = w2.warehouse_id and w2.del_flag = 0
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="batchQuery" resultType="com.klp.domain.vo.WmsStockIoDetailVo">
|
||||
SELECT
|
||||
d.detail_id,
|
||||
d.stock_io_id,
|
||||
d.warehouse_id,
|
||||
d.item_type,
|
||||
d.item_id,
|
||||
d.quantity,
|
||||
d.unit,
|
||||
d.batch_no,
|
||||
d.remark,
|
||||
d.del_flag,
|
||||
d.create_time,
|
||||
d.create_by,
|
||||
d.update_time,
|
||||
d.update_by,
|
||||
d.from_warehouse_id,
|
||||
d.record_type,
|
||||
io.stock_io_code AS stockIoCode,
|
||||
io.io_type AS ioType,
|
||||
io.biz_type AS bizType
|
||||
FROM wms_stock_io_detail d
|
||||
LEFT JOIN wms_stock_io io ON d.stock_io_id = io.stock_io_id and io.del_flag = 0
|
||||
WHERE d.batch_no = #{batchNo}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user