From b1f36fd4891817648244053c890a9141786260d0 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期五, 21 三月 2025 14:28:17 +0800
Subject: [PATCH] 设备管理备品备件管理部分功能代码提交

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionDetailController.java    |  155 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveDetailServiceImpl.java     |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionService.java               |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java              |  155 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartsController.java                    |  155 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartsService.java                         |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisitionDetail.java                  |   56 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveDetailMapper.xml             |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveDetailService.java             |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java                     |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveDetailController.java        |  155 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionDetailMapper.java            |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartInventoryServiceImpl.java         |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java                |  155 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSpareParts.java                                  |  114 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartInventoryService.java                 |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java             |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveMapper.xml                   |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartInventoryMapper.xml                 |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartsMapper.java                            |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartInventory.java                          |   71 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionMapper.java                  |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartInventoryController.java            |  155 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartInventoryMapper.java                    |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionDetailMapper.xml         |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartsServiceImpl.java                 |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java                              |   78 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml                     |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveDetailMapper.java                |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java                        |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartsMapper.xml                         |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveMapper.java                      |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionServiceImpl.java       |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionMapper.xml               |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveService.java                   |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionDetailServiceImpl.java |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java          |  204 ++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionDetailService.java         |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceiveDetail.java                      |   54 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceive.java                            |   83 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveServiceImpl.java           |   19 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisition.java                        |   73 ++
 42 files changed, 2,027 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartInventoryController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartInventoryController.java
new file mode 100644
index 0000000..690da16
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartInventoryController.java
@@ -0,0 +1,155 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamSparePartInventory;
+import org.jeecg.modules.eam.service.IEamSparePartInventoryService;
+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.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 澶囦欢搴撳瓨淇℃伅
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "澶囦欢搴撳瓨淇℃伅")
+@RestController
+@RequestMapping("/eam/eamSparePartInventory")
+public class EamSparePartInventoryController extends JeecgController<EamSparePartInventory, IEamSparePartInventoryService> {
+
+    @Resource
+    private IEamSparePartInventoryService eamSparePartInventoryService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSparePartInventory
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "澶囦欢搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "澶囦欢搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囦欢搴撳瓨淇℃伅-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSparePartInventory eamSparePartInventory,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartInventory> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartInventory, req.getParameterMap());
+        Page<EamSparePartInventory> page = new Page<EamSparePartInventory>(pageNo, pageSize);
+        IPage<EamSparePartInventory> pageList = eamSparePartInventoryService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSparePartInventory
+     * @return
+     */
+    @AutoLog(value = "澶囦欢搴撳瓨淇℃伅-娣诲姞")
+    @ApiOperation(value = "澶囦欢搴撳瓨淇℃伅-娣诲姞", notes = "澶囦欢搴撳瓨淇℃伅-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSparePartInventory eamSparePartInventory) {
+        eamSparePartInventoryService.save(eamSparePartInventory);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSparePartInventory
+     * @return
+     */
+    @AutoLog(value = "澶囦欢搴撳瓨淇℃伅-缂栬緫")
+    @ApiOperation(value = "澶囦欢搴撳瓨淇℃伅-缂栬緫", notes = "澶囦欢搴撳瓨淇℃伅-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSparePartInventory eamSparePartInventory) {
+        eamSparePartInventoryService.updateById(eamSparePartInventory);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囦欢搴撳瓨淇℃伅-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "澶囦欢搴撳瓨淇℃伅-閫氳繃id鍒犻櫎", notes = "澶囦欢搴撳瓨淇℃伅-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartInventoryService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "澶囦欢搴撳瓨淇℃伅-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "澶囦欢搴撳瓨淇℃伅-鎵归噺鍒犻櫎", notes = "澶囦欢搴撳瓨淇℃伅-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartInventoryService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囦欢搴撳瓨淇℃伅-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "澶囦欢搴撳瓨淇℃伅-閫氳繃id鏌ヨ", notes = "澶囦欢搴撳瓨淇℃伅-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSparePartInventory eamSparePartInventory = eamSparePartInventoryService.getById(id);
+        return Result.OK(eamSparePartInventory);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSparePartInventory
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSparePartInventory eamSparePartInventory) {
+        return super.exportXls(request, eamSparePartInventory, EamSparePartInventory.class, "澶囦欢搴撳瓨淇℃伅");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSparePartInventory.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java
new file mode 100644
index 0000000..44a48d9
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveController.java
@@ -0,0 +1,155 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamSparePartReceive;
+import org.jeecg.modules.eam.service.IEamSparePartReceiveService;
+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.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 澶囧搧澶囦欢棰嗙敤鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "澶囧搧澶囦欢棰嗙敤鍗�")
+@RestController
+@RequestMapping("/eam/eamSparePartReceive")
+public class EamSparePartReceiveController extends JeecgController<EamSparePartReceive, IEamSparePartReceiveService> {
+
+    @Resource
+    private IEamSparePartReceiveService eamSparePartReceiveService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSparePartReceive
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢棰嗙敤鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囧搧澶囦欢棰嗙敤鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSparePartReceive eamSparePartReceive,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartReceive> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartReceive, req.getParameterMap());
+        Page<EamSparePartReceive> page = new Page<EamSparePartReceive>(pageNo, pageSize);
+        IPage<EamSparePartReceive> pageList = eamSparePartReceiveService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSparePartReceive
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢棰嗙敤鍗�-娣诲姞")
+    @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-娣诲姞", notes = "澶囧搧澶囦欢棰嗙敤鍗�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSparePartReceive eamSparePartReceive) {
+        eamSparePartReceiveService.save(eamSparePartReceive);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSparePartReceive
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢棰嗙敤鍗�-缂栬緫")
+    @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-缂栬緫", notes = "澶囧搧澶囦欢棰嗙敤鍗�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSparePartReceive eamSparePartReceive) {
+        eamSparePartReceiveService.updateById(eamSparePartReceive);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鍒犻櫎", notes = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartReceiveService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢棰嗙敤鍗�-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-鎵归噺鍒犻櫎", notes = "澶囧搧澶囦欢棰嗙敤鍗�-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartReceiveService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鏌ヨ", notes = "澶囧搧澶囦欢棰嗙敤鍗�-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSparePartReceive eamSparePartReceive = eamSparePartReceiveService.getById(id);
+        return Result.OK(eamSparePartReceive);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSparePartReceive
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSparePartReceive eamSparePartReceive) {
+        return super.exportXls(request, eamSparePartReceive, EamSparePartReceive.class, "澶囧搧澶囦欢棰嗙敤鍗�");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSparePartReceive.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveDetailController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveDetailController.java
new file mode 100644
index 0000000..30cb336
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartReceiveDetailController.java
@@ -0,0 +1,155 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamSparePartReceiveDetail;
+import org.jeecg.modules.eam.service.IEamSparePartReceiveDetailService;
+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.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 棰嗙敤鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "棰嗙敤鍗曟槑缁�")
+@RestController
+@RequestMapping("/eam/eamSparePartReceiveDetail")
+public class EamSparePartReceiveDetailController extends JeecgController<EamSparePartReceiveDetail, IEamSparePartReceiveDetailService> {
+
+    @Resource
+    private IEamSparePartReceiveDetailService eamSparePartReceiveDetailService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSparePartReceiveDetail
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "棰嗙敤鍗曟槑缁�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "棰嗙敤鍗曟槑缁�-鍒嗛〉鍒楄〃鏌ヨ", notes = "棰嗙敤鍗曟槑缁�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSparePartReceiveDetail eamSparePartReceiveDetail,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartReceiveDetail> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartReceiveDetail, req.getParameterMap());
+        Page<EamSparePartReceiveDetail> page = new Page<EamSparePartReceiveDetail>(pageNo, pageSize);
+        IPage<EamSparePartReceiveDetail> pageList = eamSparePartReceiveDetailService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSparePartReceiveDetail
+     * @return
+     */
+    @AutoLog(value = "棰嗙敤鍗曟槑缁�-娣诲姞")
+    @ApiOperation(value = "棰嗙敤鍗曟槑缁�-娣诲姞", notes = "棰嗙敤鍗曟槑缁�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSparePartReceiveDetail eamSparePartReceiveDetail) {
+        eamSparePartReceiveDetailService.save(eamSparePartReceiveDetail);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSparePartReceiveDetail
+     * @return
+     */
+    @AutoLog(value = "棰嗙敤鍗曟槑缁�-缂栬緫")
+    @ApiOperation(value = "棰嗙敤鍗曟槑缁�-缂栬緫", notes = "棰嗙敤鍗曟槑缁�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSparePartReceiveDetail eamSparePartReceiveDetail) {
+        eamSparePartReceiveDetailService.updateById(eamSparePartReceiveDetail);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "棰嗙敤鍗曟槑缁�-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "棰嗙敤鍗曟槑缁�-閫氳繃id鍒犻櫎", notes = "棰嗙敤鍗曟槑缁�-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartReceiveDetailService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "棰嗙敤鍗曟槑缁�-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "棰嗙敤鍗曟槑缁�-鎵归噺鍒犻櫎", notes = "棰嗙敤鍗曟槑缁�-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartReceiveDetailService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "棰嗙敤鍗曟槑缁�-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "棰嗙敤鍗曟槑缁�-閫氳繃id鏌ヨ", notes = "棰嗙敤鍗曟槑缁�-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSparePartReceiveDetail eamSparePartReceiveDetail = eamSparePartReceiveDetailService.getById(id);
+        return Result.OK(eamSparePartReceiveDetail);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSparePartReceiveDetail
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSparePartReceiveDetail eamSparePartReceiveDetail) {
+        return super.exportXls(request, eamSparePartReceiveDetail, EamSparePartReceiveDetail.class, "棰嗙敤鍗曟槑缁�");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSparePartReceiveDetail.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java
new file mode 100644
index 0000000..76db71c
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java
@@ -0,0 +1,204 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.eam.constant.BusinessCodeConst;
+import org.jeecg.modules.eam.entity.EamSparePartRequisition;
+import org.jeecg.modules.eam.service.IEamSparePartRequisitionService;
+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.common.system.base.controller.JeecgController;
+
+import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 澶囦欢璇疯喘鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "澶囦欢璇疯喘鍗�")
+@RestController
+@RequestMapping("/eam/eamSparePartRequisition")
+public class EamSparePartRequisitionController extends JeecgController<EamSparePartRequisition, IEamSparePartRequisitionService> {
+
+    @Resource
+    private IEamSparePartRequisitionService eamSparePartRequisitionService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSparePartRequisition
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囦欢璇疯喘鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSparePartRequisition eamSparePartRequisition,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartRequisition> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartRequisition, req.getParameterMap());
+        Page<EamSparePartRequisition> page = new Page<EamSparePartRequisition>(pageNo, pageSize);
+        IPage<EamSparePartRequisition> pageList = eamSparePartRequisitionService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSparePartRequisition
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-娣诲姞")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-娣诲姞", notes = "澶囦欢璇疯喘鍗�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSparePartRequisition eamSparePartRequisition) {
+        eamSparePartRequisition.setRequisitionStatus(BusinessCodeConst.SPARE_REQUISITION_STATUS_1);
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String realName = user.getRealname();
+        eamSparePartRequisition.setReportUser(realName);
+        eamSparePartRequisitionService.save(eamSparePartRequisition);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSparePartRequisition
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-缂栬緫")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-缂栬緫", notes = "澶囦欢璇疯喘鍗�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSparePartRequisition eamSparePartRequisition) {
+        eamSparePartRequisitionService.updateById(eamSparePartRequisition);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎", notes = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartRequisitionService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-鎵归噺鍒犻櫎", notes = "澶囦欢璇疯喘鍗�-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartRequisitionService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-閫氳繃id鏌ヨ", notes = "澶囦欢璇疯喘鍗�-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSparePartRequisition eamSparePartRequisition = eamSparePartRequisitionService.getById(id);
+        return Result.OK(eamSparePartRequisition);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSparePartRequisition
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSparePartRequisition eamSparePartRequisition) {
+        return super.exportXls(request, eamSparePartRequisition, EamSparePartRequisition.class, "澶囦欢璇疯喘鍗�");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSparePartRequisition.class);
+    }
+
+    /**
+     * 鎻愪氦璇疯喘鍗�
+     *
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�", notes = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�")
+    @PostMapping(value = "/submitSpareRequisition")
+    public Result<?> submitSpareRequisition(@RequestBody EamSparePartRequisition eamSparePartRequisition) {
+        eamSparePartRequisition.setRequisitionStatus(BusinessCodeConst.SPARE_REQUISITION_STATUS_2);
+        eamSparePartRequisitionService.updateById(eamSparePartRequisition);
+        return Result.OK("鎻愪氦鎴愬姛锛�");
+    }
+
+    /**
+     * 瀹℃牳璇疯喘鍗�
+     *
+     * @return
+     */
+    @AutoLog(value = "澶囦欢璇疯喘鍗�-瀹℃牳璇疯喘鍗�")
+    @ApiOperation(value = "澶囦欢璇疯喘鍗�-瀹℃牳璇疯喘鍗�", notes = "澶囦欢璇疯喘鍗�-瀹℃牳璇疯喘鍗�")
+    @PostMapping(value = "/examineSpareRequisition")
+    public Result<?> examineSpareRequisition(@RequestBody EamSparePartRequisition eamSparePartRequisition) {
+        String title = "";
+        switch (eamSparePartRequisition.getRequisitionStatus()) {
+            case BusinessCodeConst.SPARE_REQUISITION_STATUS_3:
+                title = "閫氳繃";
+                break;
+            case BusinessCodeConst.SPARE_REQUISITION_STATUS_4:
+                title = "椹冲洖";
+                break;
+        }
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String realName = user.getRealname();
+        eamSparePartRequisition.setApprovalUser(realName);
+        eamSparePartRequisition.setApprovalTime(DateUtils.getDate());
+        eamSparePartRequisitionService.updateById(eamSparePartRequisition);
+        return Result.OK(title + "鎴愬姛锛�");
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionDetailController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionDetailController.java
new file mode 100644
index 0000000..8bf6048
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionDetailController.java
@@ -0,0 +1,155 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail;
+import org.jeecg.modules.eam.service.IEamSparePartRequisitionDetailService;
+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.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 澶囦欢娓呰喘鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "澶囦欢娓呰喘鍗曟槑缁�")
+@RestController
+@RequestMapping("/eam/eamSparePartRequisitionDetail")
+public class EamSparePartRequisitionDetailController extends JeecgController<EamSparePartRequisitionDetail, IEamSparePartRequisitionDetailService> {
+
+    @Resource
+    private IEamSparePartRequisitionDetailService eamSparePartRequisitionDetailService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSparePartRequisitionDetail
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "澶囦欢娓呰喘鍗曟槑缁�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "澶囦欢娓呰喘鍗曟槑缁�-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囦欢娓呰喘鍗曟槑缁�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSparePartRequisitionDetail eamSparePartRequisitionDetail,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartRequisitionDetail> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartRequisitionDetail, req.getParameterMap());
+        Page<EamSparePartRequisitionDetail> page = new Page<EamSparePartRequisitionDetail>(pageNo, pageSize);
+        IPage<EamSparePartRequisitionDetail> pageList = eamSparePartRequisitionDetailService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSparePartRequisitionDetail
+     * @return
+     */
+    @AutoLog(value = "澶囦欢娓呰喘鍗曟槑缁�-娣诲姞")
+    @ApiOperation(value = "澶囦欢娓呰喘鍗曟槑缁�-娣诲姞", notes = "澶囦欢娓呰喘鍗曟槑缁�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSparePartRequisitionDetail eamSparePartRequisitionDetail) {
+        eamSparePartRequisitionDetailService.save(eamSparePartRequisitionDetail);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSparePartRequisitionDetail
+     * @return
+     */
+    @AutoLog(value = "澶囦欢娓呰喘鍗曟槑缁�-缂栬緫")
+    @ApiOperation(value = "澶囦欢娓呰喘鍗曟槑缁�-缂栬緫", notes = "澶囦欢娓呰喘鍗曟槑缁�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSparePartRequisitionDetail eamSparePartRequisitionDetail) {
+        eamSparePartRequisitionDetailService.updateById(eamSparePartRequisitionDetail);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囦欢娓呰喘鍗曟槑缁�-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "澶囦欢娓呰喘鍗曟槑缁�-閫氳繃id鍒犻櫎", notes = "澶囦欢娓呰喘鍗曟槑缁�-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartRequisitionDetailService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "澶囦欢娓呰喘鍗曟槑缁�-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "澶囦欢娓呰喘鍗曟槑缁�-鎵归噺鍒犻櫎", notes = "澶囦欢娓呰喘鍗曟槑缁�-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartRequisitionDetailService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囦欢娓呰喘鍗曟槑缁�-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "澶囦欢娓呰喘鍗曟槑缁�-閫氳繃id鏌ヨ", notes = "澶囦欢娓呰喘鍗曟槑缁�-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSparePartRequisitionDetail eamSparePartRequisitionDetail = eamSparePartRequisitionDetailService.getById(id);
+        return Result.OK(eamSparePartRequisitionDetail);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSparePartRequisitionDetail
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSparePartRequisitionDetail eamSparePartRequisitionDetail) {
+        return super.exportXls(request, eamSparePartRequisitionDetail, EamSparePartRequisitionDetail.class, "澶囦欢娓呰喘鍗曟槑缁�");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSparePartRequisitionDetail.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java
new file mode 100644
index 0000000..2d045d8
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartScrapController.java
@@ -0,0 +1,155 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamSparePartScrap;
+import org.jeecg.modules.eam.service.IEamSparePartScrapService;
+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.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 澶囧搧澶囦欢鎶ュ簾
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "澶囧搧澶囦欢鎶ュ簾")
+@RestController
+@RequestMapping("/eam/eamSparePartScrap")
+public class EamSparePartScrapController extends JeecgController<EamSparePartScrap, IEamSparePartScrapService> {
+
+    @Resource
+    private IEamSparePartScrapService eamSparePartScrapService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSparePartScrap
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢鎶ュ簾-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "澶囧搧澶囦欢鎶ュ簾-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囧搧澶囦欢鎶ュ簾-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSparePartScrap eamSparePartScrap,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartScrap> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartScrap, req.getParameterMap());
+        Page<EamSparePartScrap> page = new Page<EamSparePartScrap>(pageNo, pageSize);
+        IPage<EamSparePartScrap> pageList = eamSparePartScrapService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSparePartScrap
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢鎶ュ簾-娣诲姞")
+    @ApiOperation(value = "澶囧搧澶囦欢鎶ュ簾-娣诲姞", notes = "澶囧搧澶囦欢鎶ュ簾-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSparePartScrap eamSparePartScrap) {
+        eamSparePartScrapService.save(eamSparePartScrap);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSparePartScrap
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢鎶ュ簾-缂栬緫")
+    @ApiOperation(value = "澶囧搧澶囦欢鎶ュ簾-缂栬緫", notes = "澶囧搧澶囦欢鎶ュ簾-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSparePartScrap eamSparePartScrap) {
+        eamSparePartScrapService.updateById(eamSparePartScrap);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢鎶ュ簾-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "澶囧搧澶囦欢鎶ュ簾-閫氳繃id鍒犻櫎", notes = "澶囧搧澶囦欢鎶ュ簾-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartScrapService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢鎶ュ簾-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "澶囧搧澶囦欢鎶ュ簾-鎵归噺鍒犻櫎", notes = "澶囧搧澶囦欢鎶ュ簾-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartScrapService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢鎶ュ簾-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "澶囧搧澶囦欢鎶ュ簾-閫氳繃id鏌ヨ", notes = "澶囧搧澶囦欢鎶ュ簾-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSparePartScrap eamSparePartScrap = eamSparePartScrapService.getById(id);
+        return Result.OK(eamSparePartScrap);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSparePartScrap
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSparePartScrap eamSparePartScrap) {
+        return super.exportXls(request, eamSparePartScrap, EamSparePartScrap.class, "澶囧搧澶囦欢鎶ュ簾");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSparePartScrap.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartsController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartsController.java
new file mode 100644
index 0000000..035593e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartsController.java
@@ -0,0 +1,155 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamSpareParts;
+import org.jeecg.modules.eam.service.IEamSparePartsService;
+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.common.system.base.controller.JeecgController;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 澶囧搧澶囦欢绠$悊
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "澶囧搧澶囦欢绠$悊")
+@RestController
+@RequestMapping("/eam/eamSpareParts")
+public class EamSparePartsController extends JeecgController<EamSpareParts, IEamSparePartsService> {
+
+    @Resource
+    private IEamSparePartsService eamSparePartsService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSpareParts
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "澶囧搧澶囦欢绠$悊-鍒嗛〉鍒楄〃鏌ヨ", notes = "澶囧搧澶囦欢绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSpareParts eamSpareParts,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSpareParts> queryWrapper = QueryGenerator.initQueryWrapper(eamSpareParts, req.getParameterMap());
+        Page<EamSpareParts> page = new Page<EamSpareParts>(pageNo, pageSize);
+        IPage<EamSpareParts> pageList = eamSparePartsService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamSpareParts
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢绠$悊-娣诲姞")
+    @ApiOperation(value = "澶囧搧澶囦欢绠$悊-娣诲姞", notes = "澶囧搧澶囦欢绠$悊-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSpareParts eamSpareParts) {
+        eamSparePartsService.save(eamSpareParts);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSpareParts
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢绠$悊-缂栬緫")
+    @ApiOperation(value = "澶囧搧澶囦欢绠$悊-缂栬緫", notes = "澶囧搧澶囦欢绠$悊-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSpareParts eamSpareParts) {
+        eamSparePartsService.updateById(eamSpareParts);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢绠$悊-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "澶囧搧澶囦欢绠$悊-閫氳繃id鍒犻櫎", notes = "澶囧搧澶囦欢绠$悊-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamSparePartsService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢绠$悊-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "澶囧搧澶囦欢绠$悊-鎵归噺鍒犻櫎", notes = "澶囧搧澶囦欢绠$悊-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamSparePartsService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "澶囧搧澶囦欢绠$悊-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "澶囧搧澶囦欢绠$悊-閫氳繃id鏌ヨ", notes = "澶囧搧澶囦欢绠$悊-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamSpareParts eamSpareParts = eamSparePartsService.getById(id);
+        return Result.OK(eamSpareParts);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamSpareParts
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamSpareParts eamSpareParts) {
+        return super.exportXls(request, eamSpareParts, EamSpareParts.class, "澶囧搧澶囦欢绠$悊");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamSpareParts.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartInventory.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartInventory.java
new file mode 100644
index 0000000..903e43d
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartInventory.java
@@ -0,0 +1,71 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: 澶囦欢搴撳瓨淇℃伅
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_part_inventory")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_part_inventory瀵硅薄", description = "澶囦欢搴撳瓨淇℃伅")
+public class EamSparePartInventory extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = 1962184771830391956L;
+
+    /**
+     * 澶囧搧澶囦欢ID
+     */
+    @Excel(name = "澶囧搧澶囦欢ID", width = 15)
+    @ApiModelProperty(value = "澶囧搧澶囦欢ID")
+    private String sparePartId;
+    /**
+     * 鎵规鍙�
+     */
+    @Excel(name = "鎵规鍙�", width = 15)
+    @ApiModelProperty(value = "鎵规鍙�")
+    private String batchNum;
+    /**
+     * 搴撳瓨鏁伴噺
+     */
+    @Excel(name = "搴撳瓨鏁伴噺", width = 15)
+    @ApiModelProperty(value = "搴撳瓨鏁伴噺")
+    private BigDecimal inventory;
+    /**
+     * 鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)
+     */
+    @ApiModelProperty(value = "鍑哄巶鏃ユ湡(鐢熶骇鏃ユ湡)")
+    private java.util.Date manufactureDate;
+    /**
+     * 渚涘簲鍟�
+     */
+    @Excel(name = "渚涘簲鍟�", width = 15)
+    @ApiModelProperty(value = "渚涘簲鍟�")
+    private String supplier;
+    /**
+     * 鎴鏈夋晥鏈�
+     */
+    @ApiModelProperty(value = "鎴鏈夋晥鏈�")
+    private Date expirationOfValidity;
+    /**
+     * 瀛樻斁浣嶇疆
+     */
+    @Excel(name = "瀛樻斁浣嶇疆", width = 15)
+    @ApiModelProperty(value = "瀛樻斁浣嶇疆")
+    private String location;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceive.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceive.java
new file mode 100644
index 0000000..6d00c6e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceive.java
@@ -0,0 +1,83 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 澶囧搧澶囦欢棰嗙敤鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_part_receive")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_part_receive瀵硅薄", description = "澶囧搧澶囦欢棰嗙敤鍗�")
+public class EamSparePartReceive extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -2608456668705754350L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 棰嗙敤鍗曠紪鐮�
+     */
+    @Excel(name = "棰嗙敤鍗曠紪鐮�", width = 15)
+    @ApiModelProperty(value = "棰嗙敤鍗曠紪鐮�")
+    private String receiveCode;
+    /**
+     * 棰嗙敤浜�
+     */
+    @Excel(name = "棰嗙敤浜�", width = 15)
+    @ApiModelProperty(value = "棰嗙敤浜�")
+    private String receiveUser;
+    /**
+     * 棰嗙敤浜嬬敱
+     */
+    @Excel(name = "棰嗙敤浜嬬敱", width = 15)
+    @ApiModelProperty(value = "棰嗙敤浜嬬敱")
+    private String receiveReason;
+    /**
+     * 棰嗙敤鐘舵��
+     */
+    @Excel(name = "棰嗙敤鐘舵��", width = 15)
+    @ApiModelProperty(value = "棰嗙敤鐘舵��")
+    private String receiveStatus;
+    /**
+     * 鏄惁闇�瑕佸綊杩�;鏄細瀛樺湪褰掕繕鍔ㄤ綔锛屽惁锛氱洿鎺ュ畬鎴�
+     */
+    @Excel(name = "鏄惁闇�瑕佸綊杩�;鏄細瀛樺湪褰掕繕鍔ㄤ綔锛屽惁锛氱洿鎺ュ畬鎴�", width = 15)
+    @ApiModelProperty(value = "鏄惁闇�瑕佸綊杩�;鏄細瀛樺湪褰掕繕鍔ㄤ綔锛屽惁锛氱洿鎺ュ畬鎴�")
+    private String giveBackFlag;
+    /**
+     * 瀹℃牳浜�
+     */
+    @Excel(name = "瀹℃牳浜�", width = 15)
+    @ApiModelProperty(value = "瀹℃牳浜�")
+    private String approvalUser;
+    /**
+     * 瀹℃牳鏃堕棿
+     */
+    @ApiModelProperty(value = "瀹℃牳鏃堕棿")
+    private Date approvalTime;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceiveDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceiveDetail.java
new file mode 100644
index 0000000..0d6bf30
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartReceiveDetail.java
@@ -0,0 +1,54 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description: 棰嗙敤鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_part_receive_detail")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_part_receive_detail瀵硅薄", description = "棰嗙敤鍗曟槑缁�")
+public class EamSparePartReceiveDetail extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = 4790367185857247702L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 澶囦欢ID
+     */
+    @Excel(name = "澶囦欢ID", width = 15)
+    @ApiModelProperty(value = "澶囦欢ID")
+    private String partId;
+    /**
+     * 棰嗙敤/褰掕繕鏁伴噺
+     */
+    @Excel(name = "棰嗙敤/褰掕繕鏁伴噺", width = 15)
+    @ApiModelProperty(value = "棰嗙敤/褰掕繕鏁伴噺")
+    private BigDecimal receiveNum;
+    /**
+     * 棰嗙敤绫诲瀷;棰嗙敤/褰掕繕
+     */
+    @Excel(name = "棰嗙敤绫诲瀷;棰嗙敤/褰掕繕", width = 15)
+    @ApiModelProperty(value = "棰嗙敤绫诲瀷;棰嗙敤/褰掕繕")
+    private String receiveType;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisition.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisition.java
new file mode 100644
index 0000000..6596afd
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisition.java
@@ -0,0 +1,73 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 澶囦欢璇疯喘鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_part_requisition")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_part_requisition瀵硅薄", description = "澶囦欢璇疯喘鍗�")
+public class EamSparePartRequisition extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -189239897318395477L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 璇疯喘鍗曠紪鐮�
+     */
+    @Excel(name = "璇疯喘鍗曠紪鐮�", width = 15)
+    @ApiModelProperty(value = "璇疯喘鍗曠紪鐮�")
+    private String requisitionCode;
+    /**
+     * 鐢宠浜�
+     */
+    @Excel(name = "鐢宠浜�", width = 15)
+    @ApiModelProperty(value = "鐢宠浜�")
+    private String reportUser;
+    /**
+     * 璇疯喘鐘舵��
+     */
+    @Excel(name = "璇疯喘鐘舵��", width = 15)
+    @ApiModelProperty(value = "璇疯喘鐘舵��")
+    @Dict(dicCode = "spare_requisition_status")
+    private String requisitionStatus;
+    /**
+     * 瀹℃牳浜�
+     */
+    @Excel(name = "瀹℃牳浜�", width = 15)
+    @ApiModelProperty(value = "瀹℃牳浜�")
+    private String approvalUser;
+    /**
+     * 瀹℃牳鏃堕棿
+     */
+    @ApiModelProperty(value = "瀹℃牳鏃堕棿")
+    private Date approvalTime;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisitionDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisitionDetail.java
new file mode 100644
index 0000000..aaa022f
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartRequisitionDetail.java
@@ -0,0 +1,56 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description: 澶囦欢娓呰喘鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_part_requisition_detail")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_part_requisition_detail瀵硅薄", description = "澶囦欢娓呰喘鍗曟槑缁�")
+public class EamSparePartRequisitionDetail extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -1939175541515897351L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 澶囦欢璇疯喘鍗旾D
+     */
+    @Excel(name = "澶囦欢璇疯喘鍗旾D", width = 15)
+    @ApiModelProperty(value = "澶囦欢璇疯喘鍗旾D")
+    private String spareRequisitionId;
+    /**
+     * 澶囧搧澶囦欢ID
+     */
+    @Excel(name = "澶囧搧澶囦欢ID", width = 15)
+    @ApiModelProperty(value = "澶囧搧澶囦欢ID")
+    private String partId;
+    /**
+     * 璇疯喘鏁伴噺
+     */
+    @Excel(name = "璇疯喘鏁伴噺", width = 15)
+    @ApiModelProperty(value = "璇疯喘鏁伴噺")
+    private BigDecimal requisitionNum;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java
new file mode 100644
index 0000000..a281cf2
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSparePartScrap.java
@@ -0,0 +1,78 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Description: 澶囧搧澶囦欢鎶ュ簾
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_part_scrap")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_part_scrap瀵硅薄", description = "澶囧搧澶囦欢鎶ュ簾")
+public class EamSparePartScrap extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = 6488311729391831911L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 鍗曟嵁鍙�
+     */
+    @Excel(name = "鍗曟嵁鍙�", width = 15)
+    @ApiModelProperty(value = "鍗曟嵁鍙�")
+    private String scrapCode;
+    /**
+     * 搴撳瓨ID
+     */
+    @Excel(name = "搴撳瓨ID", width = 15)
+    @ApiModelProperty(value = "搴撳瓨ID")
+    private String inventoryId;
+    /**
+     * 鎶ュ簾鍘熷洜
+     */
+    @Excel(name = "鎶ュ簾鍘熷洜", width = 15)
+    @ApiModelProperty(value = "鎶ュ簾鍘熷洜")
+    private String scrapReason;
+    /**
+     * 鎶ュ簾鏁伴噺
+     */
+    @Excel(name = "鎶ュ簾鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鎶ュ簾鏁伴噺")
+    private BigDecimal scrapNum;
+    /**
+     * 鐢宠浜�
+     */
+    @Excel(name = "鐢宠浜�", width = 15)
+    @ApiModelProperty(value = "鐢宠浜�")
+    private String reportUser;
+    /**
+     * 瀹℃牳浜�
+     */
+    @Excel(name = "瀹℃牳浜�", width = 15)
+    @ApiModelProperty(value = "瀹℃牳浜�")
+    private String approvalUser;
+    /**
+     * 瀹℃牳鏃堕棿
+     */
+    @ApiModelProperty(value = "瀹℃牳鏃堕棿")
+    private Date approvalTime;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSpareParts.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSpareParts.java
new file mode 100644
index 0000000..e875bf8
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSpareParts.java
@@ -0,0 +1,114 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description: 澶囧搧澶囦欢绠$悊
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_spare_parts")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_spare_parts瀵硅薄", description = "澶囧搧澶囦欢绠$悊")
+public class EamSpareParts extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -415017937153260910L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    private Integer delFlag;
+    /**
+     * 澶囦欢缂栫爜
+     */
+    @Excel(name = "澶囦欢缂栫爜", width = 15)
+    @ApiModelProperty(value = "澶囦欢缂栫爜")
+    private String partCode;
+    /**
+     * 澶囦欢鍚嶇О
+     */
+    @Excel(name = "澶囦欢鍚嶇О", width = 15)
+    @ApiModelProperty(value = "澶囦欢鍚嶇О")
+    private String partName;
+    /**
+     * 澶囦欢鍒嗙被
+     */
+    @Excel(name = "澶囦欢鍒嗙被", width = 15)
+    @ApiModelProperty(value = "澶囦欢鍒嗙被")
+    private String partCategory;
+    /**
+     * 澶囦欢鍨嬪彿
+     */
+    @Excel(name = "澶囦欢鍨嬪彿", width = 15)
+    @ApiModelProperty(value = "澶囦欢鍨嬪彿")
+    private String partModel;
+    /**
+     * 澶囦欢瑙勬牸
+     */
+    @Excel(name = "澶囦欢瑙勬牸", width = 15)
+    @ApiModelProperty(value = "澶囦欢瑙勬牸")
+    private String partSpecification;
+    /**
+     * 瀛樻斁浠撳簱
+     */
+    @Excel(name = "瀛樻斁浠撳簱", width = 15)
+    @ApiModelProperty(value = "瀛樻斁浠撳簱")
+    private String storehouse;
+    /**
+     * 璁¢噺鍗曚綅
+     */
+    @Excel(name = "璁¢噺鍗曚綅", width = 15)
+    @ApiModelProperty(value = "璁¢噺鍗曚綅")
+    private String unit;
+    /**
+     * 鍒堕�犱紒涓�
+     */
+    @Excel(name = "鍒堕�犱紒涓�", width = 15)
+    @ApiModelProperty(value = "鍒堕�犱紒涓�")
+    private String manufacturingEnterprise;
+    /**
+     * 鏈夋晥鏈燂紙澶╋級;鍗曚綅锛氬ぉ
+     */
+    @Excel(name = "鏈夋晥鏈燂紙澶╋級;鍗曚綅锛氬ぉ", width = 15)
+    @ApiModelProperty(value = "鏈夋晥鏈燂紙澶╋級;鍗曚綅锛氬ぉ")
+    private Integer periodOfValidity;
+    /**
+     * 鏈�澶у璐у簱瀛�
+     */
+    @Excel(name = "鏈�澶у璐у簱瀛�", width = 15)
+    @ApiModelProperty(value = "鏈�澶у璐у簱瀛�")
+    private BigDecimal inventoryMax;
+    /**
+     * 鏈�灏忓璐у簱瀛�
+     */
+    @Excel(name = "鏈�灏忓璐у簱瀛�", width = 15)
+    @ApiModelProperty(value = "鏈�灏忓璐у簱瀛�")
+    private BigDecimal inventoryMin;
+    /**
+     * 搴撳瓨棰勮鍊�
+     */
+    @Excel(name = "搴撳瓨棰勮鍊�", width = 15)
+    @ApiModelProperty(value = "搴撳瓨棰勮鍊�")
+    private BigDecimal inventoryWarning;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartInventoryMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartInventoryMapper.java
new file mode 100644
index 0000000..27f80ee
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartInventoryMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSparePartInventory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 澶囦欢搴撳瓨淇℃伅
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartInventoryMapper extends BaseMapper<EamSparePartInventory> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveDetailMapper.java
new file mode 100644
index 0000000..32d5a86
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveDetailMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSparePartReceiveDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 棰嗙敤鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartReceiveDetailMapper extends BaseMapper<EamSparePartReceiveDetail> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveMapper.java
new file mode 100644
index 0000000..ae6722e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartReceiveMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSparePartReceive;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 澶囧搧澶囦欢棰嗙敤鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartReceiveMapper extends BaseMapper<EamSparePartReceive> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionDetailMapper.java
new file mode 100644
index 0000000..5ab1053
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionDetailMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 澶囦欢娓呰喘鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartRequisitionDetailMapper extends BaseMapper<EamSparePartRequisitionDetail> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionMapper.java
new file mode 100644
index 0000000..2b9e174
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartRequisitionMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSparePartRequisition;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 澶囦欢璇疯喘鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartRequisitionMapper extends BaseMapper<EamSparePartRequisition> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java
new file mode 100644
index 0000000..bce4fd3
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartScrapMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSparePartScrap;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 澶囧搧澶囦欢鎶ュ簾
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartScrapMapper extends BaseMapper<EamSparePartScrap> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartsMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartsMapper.java
new file mode 100644
index 0000000..7b586f8
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSparePartsMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import org.jeecg.modules.eam.entity.EamSpareParts;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 澶囧搧澶囦欢绠$悊
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface EamSparePartsMapper extends BaseMapper<EamSpareParts> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartInventoryMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartInventoryMapper.xml
new file mode 100644
index 0000000..0ffc50f
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartInventoryMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartInventoryMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveDetailMapper.xml
new file mode 100644
index 0000000..a036daf
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveDetailMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartReceiveDetailMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveMapper.xml
new file mode 100644
index 0000000..a2cb0cd
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartReceiveMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartReceiveMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionDetailMapper.xml
new file mode 100644
index 0000000..c81b9cf
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionDetailMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartRequisitionDetailMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionMapper.xml
new file mode 100644
index 0000000..569012e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartRequisitionMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartRequisitionMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml
new file mode 100644
index 0000000..44c7be1
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartScrapMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartScrapMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartsMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartsMapper.xml
new file mode 100644
index 0000000..04ad0ca
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSparePartsMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.eam.mapper.EamSparePartsMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartInventoryService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartInventoryService.java
new file mode 100644
index 0000000..5463c26
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartInventoryService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSparePartInventory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 澶囦欢搴撳瓨淇℃伅
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartInventoryService extends IService<EamSparePartInventory> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveDetailService.java
new file mode 100644
index 0000000..1152641
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveDetailService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSparePartReceiveDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 棰嗙敤鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartReceiveDetailService extends IService<EamSparePartReceiveDetail> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveService.java
new file mode 100644
index 0000000..0f90e36
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartReceiveService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSparePartReceive;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 澶囧搧澶囦欢棰嗙敤鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartReceiveService extends IService<EamSparePartReceive> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionDetailService.java
new file mode 100644
index 0000000..efcf70f
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionDetailService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 澶囦欢娓呰喘鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartRequisitionDetailService extends IService<EamSparePartRequisitionDetail> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionService.java
new file mode 100644
index 0000000..dd4a9e6
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSparePartRequisition;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 澶囦欢璇疯喘鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartRequisitionService extends IService<EamSparePartRequisition> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java
new file mode 100644
index 0000000..ad1ecc7
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartScrapService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSparePartScrap;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 澶囧搧澶囦欢鎶ュ簾
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartScrapService extends IService<EamSparePartScrap> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartsService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartsService.java
new file mode 100644
index 0000000..b07ac74
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartsService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamSpareParts;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 澶囧搧澶囦欢绠$悊
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+public interface IEamSparePartsService extends IService<EamSpareParts> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartInventoryServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartInventoryServiceImpl.java
new file mode 100644
index 0000000..f48fff9
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartInventoryServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSparePartInventory;
+import org.jeecg.modules.eam.mapper.EamSparePartInventoryMapper;
+import org.jeecg.modules.eam.service.IEamSparePartInventoryService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 澶囦欢搴撳瓨淇℃伅
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartInventoryServiceImpl extends ServiceImpl<EamSparePartInventoryMapper, EamSparePartInventory> implements IEamSparePartInventoryService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveDetailServiceImpl.java
new file mode 100644
index 0000000..01fc298
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveDetailServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSparePartReceiveDetail;
+import org.jeecg.modules.eam.mapper.EamSparePartReceiveDetailMapper;
+import org.jeecg.modules.eam.service.IEamSparePartReceiveDetailService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 棰嗙敤鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartReceiveDetailServiceImpl extends ServiceImpl<EamSparePartReceiveDetailMapper, EamSparePartReceiveDetail> implements IEamSparePartReceiveDetailService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveServiceImpl.java
new file mode 100644
index 0000000..7c5d22e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartReceiveServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSparePartReceive;
+import org.jeecg.modules.eam.mapper.EamSparePartReceiveMapper;
+import org.jeecg.modules.eam.service.IEamSparePartReceiveService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 澶囧搧澶囦欢棰嗙敤鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartReceiveServiceImpl extends ServiceImpl<EamSparePartReceiveMapper, EamSparePartReceive> implements IEamSparePartReceiveService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionDetailServiceImpl.java
new file mode 100644
index 0000000..0163152
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionDetailServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail;
+import org.jeecg.modules.eam.mapper.EamSparePartRequisitionDetailMapper;
+import org.jeecg.modules.eam.service.IEamSparePartRequisitionDetailService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 澶囦欢娓呰喘鍗曟槑缁�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartRequisitionDetailServiceImpl extends ServiceImpl<EamSparePartRequisitionDetailMapper, EamSparePartRequisitionDetail> implements IEamSparePartRequisitionDetailService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionServiceImpl.java
new file mode 100644
index 0000000..984e3a2
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSparePartRequisition;
+import org.jeecg.modules.eam.mapper.EamSparePartRequisitionMapper;
+import org.jeecg.modules.eam.service.IEamSparePartRequisitionService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 澶囦欢璇疯喘鍗�
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartRequisitionServiceImpl extends ServiceImpl<EamSparePartRequisitionMapper, EamSparePartRequisition> implements IEamSparePartRequisitionService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java
new file mode 100644
index 0000000..d452d39
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartScrapServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSparePartScrap;
+import org.jeecg.modules.eam.mapper.EamSparePartScrapMapper;
+import org.jeecg.modules.eam.service.IEamSparePartScrapService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 澶囧搧澶囦欢鎶ュ簾
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartScrapServiceImpl extends ServiceImpl<EamSparePartScrapMapper, EamSparePartScrap> implements IEamSparePartScrapService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartsServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartsServiceImpl.java
new file mode 100644
index 0000000..ea85863
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartsServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamSpareParts;
+import org.jeecg.modules.eam.mapper.EamSparePartsMapper;
+import org.jeecg.modules.eam.service.IEamSparePartsService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 澶囧搧澶囦欢绠$悊
+ * @Author: Lius
+ * @Date: 2025-03-19
+ * @Version: V1.0
+ */
+@Service
+public class EamSparePartsServiceImpl extends ServiceImpl<EamSparePartsMapper, EamSpareParts> implements IEamSparePartsService {
+
+}

--
Gitblit v1.9.3