From 1c864fd2f2501393c65fe1808ab35ec54fe686e5 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期二, 03 六月 2025 18:09:48 +0800 Subject: [PATCH] 工具管理-库存预警接口 --- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 44 insertions(+), 3 deletions(-) diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java index 7ce5fd2..0d98d03 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java @@ -1,18 +1,25 @@ package org.jeecg.modules.tms.controller; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.math.BigDecimal; +import java.util.*; import java.util.stream.Collectors; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.tms.entity.BaseTools; import org.jeecg.modules.tms.entity.ToolLedger; +import org.jeecg.modules.tms.entity.ToolsConfigProperty; +import org.jeecg.modules.tms.service.IBaseToolsService; import org.jeecg.modules.tms.service.IToolLedgerService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -20,6 +27,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.tms.service.IToolsConfigPropertyService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -49,6 +57,10 @@ public class ToolLedgerController extends JeecgController<ToolLedger, IToolLedgerService> { @Autowired private IToolLedgerService toolLedgerService; + @Autowired + private IToolsConfigPropertyService toolsConfigPropertyService; + @Autowired + private IBaseToolsService baseToolsService; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -71,6 +83,35 @@ IPage<ToolLedger> pageList = toolLedgerService.page(page, queryWrapper); return Result.OK(pageList); } + + @ApiOperation(value="tms_tool_ledger-搴撳瓨棰勮", notes = "tms_tool_ledger-搴撳瓨棰勮") + @GetMapping(value = "/toolsStockWarning") + public Result<?> toolsStockWarning() { + List<ToolLedger> toolLedgerList = toolLedgerService.list(); + Map<String, ToolLedger> toolLedgerMap = toolLedgerList.stream() + .collect(Collectors.toMap(ToolLedger::getToolId, item -> item, (k1, k2) -> k1)); + Map<String, ToolsConfigProperty> toolsConfigPropertyMap = toolsConfigPropertyService.list(new LambdaQueryWrapper<ToolsConfigProperty>() + .in(ToolsConfigProperty::getToolCode, toolLedgerMap.keySet()).eq(ToolsConfigProperty::getStatus, CommonConstant.STATUS_1)) + .stream().collect(Collectors.toMap(ToolsConfigProperty::getToolCode, item -> item, (k1, k2) -> k1)); + List<String> warningMsg = CollectionUtil.newArrayList(); + for (String toolCode : toolsConfigPropertyMap.keySet()) { + ToolsConfigProperty configProperty = toolsConfigPropertyMap.get(toolCode); + if (Objects.nonNull(configProperty.getLowerInventory()) && Objects.nonNull(configProperty.getHighestInventory())) { + ToolLedger toolLedger = toolLedgerMap.get(toolCode); + if (Objects.nonNull(toolLedger)) { + BigDecimal totalCount = toolLedger.getTotalCount(); + BaseTools tools = baseToolsService.getById(toolCode); + if (totalCount.compareTo(configProperty.getLowerInventory()) < 0) { + warningMsg.add("缂栫爜涓恒��" + tools.getToolCode() + "銆戠殑宸ュ叿锛屽簱瀛樹綆浜庡簱瀛樹笅闄愶紒"); + } + if (totalCount.compareTo(configProperty.getHighestInventory()) > 0) { + warningMsg.add("缂栫爜涓恒��" + tools.getToolCode() + "銆戠殑宸ュ叿锛屽簱瀛橀珮浜庡簱瀛樹笂闄愶紒"); + } + } + } + } + return Result.OK(warningMsg); + } /** * 娣诲姞 -- Gitblit v1.9.3