From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 25 六月 2025 11:51:38 +0800 Subject: [PATCH] Merge branch 'mdc_hyjs_master' --- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java | 237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 237 insertions(+), 0 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 new file mode 100644 index 0000000..4a74035 --- /dev/null +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ToolLedgerController.java @@ -0,0 +1,237 @@ +package org.jeecg.modules.tms.controller; + +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; +import com.baomidou.mybatisplus.core.metadata.IPage; +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; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: tms_tool_ledger + * @Author: jeecg-boot + * @Date: 2025-05-16 + * @Version: V1.0 + */ +@Api(tags="tms_tool_ledger") +@RestController +@RequestMapping("/tms/toolLedger") +@Slf4j +public class ToolLedgerController extends JeecgController<ToolLedger, IToolLedgerService> { + @Autowired + private IToolLedgerService toolLedgerService; + @Autowired + private IToolsConfigPropertyService toolsConfigPropertyService; + @Autowired + private IBaseToolsService baseToolsService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param toolLedger + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "tms_tool_ledger-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="tms_tool_ledger-鍒嗛〉鍒楄〃鏌ヨ", notes="tms_tool_ledger-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<ToolLedger>> queryPageList(ToolLedger toolLedger, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<ToolLedger> queryWrapper = QueryGenerator.initQueryWrapper(toolLedger, req.getParameterMap()); + Page<ToolLedger> page = new Page<ToolLedger>(pageNo, pageSize); + 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); + } + + /** + * 娣诲姞 + * + * @param toolLedger + * @return + */ + @AutoLog(value = "tms_tool_ledger-娣诲姞") + @ApiOperation(value="tms_tool_ledger-娣诲姞", notes="tms_tool_ledger-娣诲姞") + //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody ToolLedger toolLedger) { + toolLedgerService.save(toolLedger); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param toolLedger + * @return + */ + @AutoLog(value = "tms_tool_ledger-缂栬緫") + @ApiOperation(value="tms_tool_ledger-缂栬緫", notes="tms_tool_ledger-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody ToolLedger toolLedger) { + toolLedgerService.updateById(toolLedger); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "tms_tool_ledger-閫氳繃id鍒犻櫎") + @ApiOperation(value="tms_tool_ledger-閫氳繃id鍒犻櫎", notes="tms_tool_ledger-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + toolLedgerService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "tms_tool_ledger-鎵归噺鍒犻櫎") + @ApiOperation(value="tms_tool_ledger-鎵归噺鍒犻櫎", notes="tms_tool_ledger-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.toolLedgerService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "tms_tool_ledger-閫氳繃id鏌ヨ") + @ApiOperation(value="tms_tool_ledger-閫氳繃id鏌ヨ", notes="tms_tool_ledger-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<ToolLedger> queryById(@RequestParam(name="id",required=true) String id) { + ToolLedger toolLedger = toolLedgerService.getById(id); + if(toolLedger==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(toolLedger); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param toolLedger + */ + //@RequiresPermissions("org.jeecg.modules:tms_tool_ledger:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ToolLedger toolLedger) { + return super.exportXls(request, toolLedger, ToolLedger.class, "tms_tool_ledger"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("tms_tool_ledger:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ToolLedger.class); + } + + /** + * 宸ュ叿鍙拌处-鍒楄〃鏌ヨ + * + * @param toolLedger + * @param pageNo + * @param pageSize + * @param query + * @return + */ + @ApiOperation(value="宸ュ叿鍙拌处-鍒楄〃鏌ヨ", notes="宸ュ叿鍙拌处-鍒楄〃鏌ヨ") + @GetMapping(value = "/toolLedgerList") + public Result<?> toolLedgerList(ToolLedger toolLedger, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + @RequestParam Map<String, String> query) { + IPage<Map<String, Object>> pageList = toolLedgerService.toolLedgerList(pageNo,pageSize, query); + return Result.OK(pageList); + } + +} -- Gitblit v1.9.3