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