feat: bug-954 储位可视化管理页面

This commit is contained in:
曹鹏飞 2025-12-01 13:55:46 +08:00
parent cc97b57f97
commit 6c79973c13
7 changed files with 64 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import com.nflg.wms.common.pojo.qo.BinAddQO;
import com.nflg.wms.common.pojo.qo.BinSearchQO; import com.nflg.wms.common.pojo.qo.BinSearchQO;
import com.nflg.wms.common.pojo.qo.BinUpdateQO; import com.nflg.wms.common.pojo.qo.BinUpdateQO;
import com.nflg.wms.common.pojo.qo.EnableQO; import com.nflg.wms.common.pojo.qo.EnableQO;
import com.nflg.wms.common.pojo.vo.BinInventoryVO;
import com.nflg.wms.common.pojo.vo.BinVO; import com.nflg.wms.common.pojo.vo.BinVO;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@ -113,4 +114,13 @@ public class BinController extends BaseController {
public void exportPdf(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<Long> ids) throws Exception { public void exportPdf(HttpServletResponse response, @Valid @RequestBody @NotEmpty List<Long> ids) throws Exception {
binControllerService.exportPdf(response, ids); binControllerService.exportPdf(response, ids);
} }
/**
* 获取库存信息
* @param warehouseId 仓库id
*/
@GetMapping("getInventory")
public ApiResult<List<BinInventoryVO>> getInventory(@RequestParam Long warehouseId) {
return ApiResult.success(binControllerService.getInventory(warehouseId));
}
} }

View File

@ -18,6 +18,7 @@ import com.nflg.wms.common.pojo.qo.BinAddQO;
import com.nflg.wms.common.pojo.qo.BinSearchQO; import com.nflg.wms.common.pojo.qo.BinSearchQO;
import com.nflg.wms.common.pojo.qo.BinUpdateQO; import com.nflg.wms.common.pojo.qo.BinUpdateQO;
import com.nflg.wms.common.pojo.qo.EnableQO; import com.nflg.wms.common.pojo.qo.EnableQO;
import com.nflg.wms.common.pojo.vo.BinInventoryVO;
import com.nflg.wms.common.pojo.vo.BinVO; import com.nflg.wms.common.pojo.vo.BinVO;
import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.DateTimeUtil;
import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.EecExcelUtil;
@ -210,4 +211,8 @@ public class BinControllerService {
String html = ThymeleafUtil.generator("/template/", "储位二维码", ".html", variables); String html = ThymeleafUtil.generator("/template/", "储位二维码", ".html", variables);
PdfGeneratorUtil.generatePdf("储位二维码", html, response); PdfGeneratorUtil.generatePdf("储位二维码", html, response);
} }
public List<BinInventoryVO> getInventory(Long warehouseId) {
return wmsBinService.getInventory(warehouseId);
}
} }

View File

@ -0,0 +1,26 @@
package com.nflg.wms.common.pojo.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class BinInventoryVO {
private Long id;
/**
* 储位编码
*/
private String no;
/**
* 物料编码
*/
private String materialNo;
/**
* 数量
*/
private BigDecimal num;
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.pojo.qo.BinSearchQO; import com.nflg.wms.common.pojo.qo.BinSearchQO;
import com.nflg.wms.common.pojo.vo.BinInventoryVO;
import com.nflg.wms.common.pojo.vo.BinVO; import com.nflg.wms.common.pojo.vo.BinVO;
import com.nflg.wms.repository.entity.WmsBin; import com.nflg.wms.repository.entity.WmsBin;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -25,4 +26,6 @@ public interface WmsBinMapper extends BaseMapper<WmsBin> {
List<BinVO> getList(List<Long> ids); List<BinVO> getList(List<Long> ids);
List<BinVO> searchNonPage(@Param("request") BinSearchQO request); List<BinVO> searchNonPage(@Param("request") BinSearchQO request);
List<BinInventoryVO> getInventory(Long warehouseId);
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.wms.common.pojo.qo.BinSearchQO; import com.nflg.wms.common.pojo.qo.BinSearchQO;
import com.nflg.wms.common.pojo.qo.EnableQO; import com.nflg.wms.common.pojo.qo.EnableQO;
import com.nflg.wms.common.pojo.vo.BinInventoryVO;
import com.nflg.wms.common.pojo.vo.BinVO; import com.nflg.wms.common.pojo.vo.BinVO;
import com.nflg.wms.repository.entity.WmsBin; import com.nflg.wms.repository.entity.WmsBin;
import jakarta.validation.Valid; import jakarta.validation.Valid;
@ -34,4 +35,6 @@ public interface IWmsBinService extends IService<WmsBin> {
List<BinVO> getList(List<Long> ids); List<BinVO> getList(List<Long> ids);
List<BinVO> searchNonPage(@Valid BinSearchQO request); List<BinVO> searchNonPage(@Valid BinSearchQO request);
List<BinInventoryVO> getInventory(Long warehouseId);
} }

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.wms.common.pojo.qo.BinSearchQO; import com.nflg.wms.common.pojo.qo.BinSearchQO;
import com.nflg.wms.common.pojo.qo.EnableQO; import com.nflg.wms.common.pojo.qo.EnableQO;
import com.nflg.wms.common.pojo.vo.BinInventoryVO;
import com.nflg.wms.common.pojo.vo.BinVO; import com.nflg.wms.common.pojo.vo.BinVO;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil; import com.nflg.wms.common.util.VUtil;
@ -105,4 +106,9 @@ public class WmsBinServiceImpl extends ServiceImpl<WmsBinMapper, WmsBin> impleme
public List<BinVO> searchNonPage(BinSearchQO request) { public List<BinVO> searchNonPage(BinSearchQO request) {
return baseMapper.searchNonPage(request); return baseMapper.searchNonPage(request);
} }
@Override
public List<BinInventoryVO> getInventory(Long warehouseId) {
return baseMapper.getInventory(warehouseId);
}
} }

View File

@ -36,4 +36,15 @@
</where> </where>
order by bin.id desc order by bin.id desc
</select> </select>
<select id="getInventory" resultType="com.nflg.wms.common.pojo.vo.BinInventoryVO">
SELECT b."no",COALESCE(SUM(i.num),0)
FROM wms_bin b
LEFT JOIN wms_storage_bin sb ON sb.bin_id=b."id"
LEFT JOIN wms_storage s ON s."id"=sb.storage_id
LEFT JOIN wms_inventory i ON s.material_no=i.material_no
WHERE b.warehouse_id = #{warehouseId}
GROUP BY b."no"
ORDER BY b."no"
</select>
</mapper> </mapper>