From b99e425766ac0e393cf4b47e7e4b989c7c424ced Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 18 三月 2025 16:49:24 +0800
Subject: [PATCH] art: 设备附件管理,工艺参数,精度参数初始代码添加

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSysFilesServiceImpl.java            |   59 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java      |  167 +++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSysFiles.java                             |   74 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamProcessParametersMapper.java              |   17 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSysFilesMapper.java                       |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamProcessParametersServiceImpl.java   |   19 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamPrecisionParameters.java                  |   58 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSysFilesService.java                    |   40 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamPrecisionParametersServiceImpl.java |   19 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamPrecisionParametersService.java         |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java    |  167 +++++++++
 lxzn-module-system/lxzn-system-start/pom.xml                                                            |    6 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSysFilesMapper.xml                    |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamProcessParametersService.java           |   14 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamProcessParametersMapper.xml           |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamPrecisionParametersMapper.java            |   17 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSysFilesRequest.java                     |   35 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSysFilesController.java               |  171 +++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java                    |   66 +++
 lxzn-boot-base-core/src/main/java/org/jeecg/common/util/FileUtil.java                                   |   51 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamPrecisionParametersMapper.xml         |    5 
 21 files changed, 1,018 insertions(+), 5 deletions(-)

diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/FileUtil.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/FileUtil.java
index 6473768..92334c4 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/FileUtil.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/FileUtil.java
@@ -46,7 +46,7 @@
 		if (fileNameNonSuffix == null)
 			return null;
 		// 鑾峰彇鏂囦欢鍔犲瘑鍚嶇О 1 淇濊瘉鏂囦欢鍞竴 涓嶅瓨鍦ㄨ鐩栭棶棰� 2 鐩綍涓嬩繚瀛樻枃浠跺姞瀵嗗悕绉� 鍘婚櫎鏂囦欢鍏抽敭淇℃伅
-		String encodeFileName = SHA256Util.getSHA256Str(fileNameNonSuffix + System.currentTimeMillis());
+		String encodeFileName = SHA256Util.getSHA256Str(fileNameNonSuffix + System.currentTimeMillis()) + "." + suffix;
 		Long fileSize = file.getSize();
 		boolean b = uploadFile(file, absolutePath, encodeFileName);
 		if (!b)
@@ -54,7 +54,7 @@
 		FileUploadResult dto = new FileUploadResult();
 		dto.setFileName(fileNameNonSuffix);
 		dto.setFileEncodeName(encodeFileName);
-		dto.setFilePath(relativePath);
+		dto.setFilePath(relativePath + encodeFileName);
 		dto.setFileSize(fileSize);
 		dto.setFileSuffix(suffix);
 		return dto;
@@ -67,9 +67,7 @@
 	public static void deleteFile(String filePath, String fileName) {
 		String absolutePath = fileUploadFolder + "/" + filePath + "/";
 		File targetFile = new File(absolutePath, fileName);
-		if (null != targetFile && targetFile.isFile()) {
-			targetFile.delete();
-		}
+		targetFile.deleteOnExit();
 	}
 
 	public static void downLoadFile(HttpServletResponse response, String fileName, String filePath, String toFileName) {
@@ -115,6 +113,49 @@
 		}
 	}
 
+	public static void downLoadFile(HttpServletResponse response, String filePath, String toFileName) {
+		String absolutePath = fileUploadFolder + filePath;
+		File file = new File(absolutePath);
+		if (file.exists()) {
+			byte[] buffer = new byte[1024];
+			FileInputStream fis = null;
+			BufferedInputStream bis = null;
+			try {
+				response.setHeader("Content-Type", "application/octet-stream;charset=utf-8"); // 鍛婅瘔娴忚鍣ㄨ緭鍑哄唴瀹逛负娴�
+				// response.setHeader("Content-Disposition", "attachment;fileName="+ new
+				// String(toFileName.getBytes("UTF-8"),"ISO-8859-1"));
+				response.setHeader("Content-Disposition",
+						"attachment;fileName=" + URLEncoder.encode(toFileName, "UTF-8"));
+				fis = new FileInputStream(file);
+				bis = new BufferedInputStream(fis);
+				OutputStream os = response.getOutputStream();
+				int i = bis.read(buffer);
+				while (i != -1) {
+					os.write(buffer, 0, i);
+					i = bis.read(buffer);
+				}
+				os.flush();
+			} catch (Exception e) {
+				e.printStackTrace();
+			} finally {
+				if (bis != null) {
+					try {
+						bis.close();
+					} catch (IOException e) {
+					}
+				}
+				if (fis != null) {
+					try {
+						fis.close();
+					} catch (IOException e) {
+					}
+				}
+			}
+		} else {
+			ExceptionCast.cast("鏂囦欢涓嶅瓨鍦�");
+		}
+	}
+
 	/**
 	 * 涓婁紶鏂囦欢宸ュ叿绫�
 	 * 
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java
new file mode 100644
index 0000000..5b32de5
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java
@@ -0,0 +1,167 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+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.common.util.oConvertUtils;
+import org.jeecg.modules.eam.entity.EamPrecisionParameters;
+import org.jeecg.modules.eam.service.IEamPrecisionParametersService;
+import java.util.Date;
+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.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.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;
+
+ /**
+ * @Description: 绮惧害鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="绮惧害鍙傛暟缁存姢")
+@RestController
+@RequestMapping("/eam/precisionParameters")
+public class EamPrecisionParametersController extends JeecgController<EamPrecisionParameters, IEamPrecisionParametersService> {
+	@Autowired
+	private IEamPrecisionParametersService eamPrecisionParametersService;
+	
+	/**
+	 * 鍒嗛〉鍒楄〃鏌ヨ
+	 *
+	 * @param eamPrecisionParameters
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "绮惧害鍙傛暟缁存姢-鍒嗛〉鍒楄〃鏌ヨ")
+	@ApiOperation(value="绮惧害鍙傛暟缁存姢-鍒嗛〉鍒楄〃鏌ヨ", notes="绮惧害鍙傛暟缁存姢-鍒嗛〉鍒楄〃鏌ヨ")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(EamPrecisionParameters eamPrecisionParameters,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<EamPrecisionParameters> queryWrapper = QueryGenerator.initQueryWrapper(eamPrecisionParameters, req.getParameterMap());
+		Page<EamPrecisionParameters> page = new Page<EamPrecisionParameters>(pageNo, pageSize);
+		IPage<EamPrecisionParameters> pageList = eamPrecisionParametersService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 * 娣诲姞
+	 *
+	 * @param eamPrecisionParameters
+	 * @return
+	 */
+	@AutoLog(value = "绮惧害鍙傛暟缁存姢-娣诲姞")
+	@ApiOperation(value="绮惧害鍙傛暟缁存姢-娣诲姞", notes="绮惧害鍙傛暟缁存姢-娣诲姞")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody EamPrecisionParameters eamPrecisionParameters) {
+		eamPrecisionParametersService.save(eamPrecisionParameters);
+		return Result.OK("娣诲姞鎴愬姛锛�");
+	}
+	
+	/**
+	 * 缂栬緫
+	 *
+	 * @param eamPrecisionParameters
+	 * @return
+	 */
+	@AutoLog(value = "绮惧害鍙傛暟缁存姢-缂栬緫")
+	@ApiOperation(value="绮惧害鍙傛暟缁存姢-缂栬緫", notes="绮惧害鍙傛暟缁存姢-缂栬緫")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<?> edit(@RequestBody EamPrecisionParameters eamPrecisionParameters) {
+		eamPrecisionParametersService.updateById(eamPrecisionParameters);
+		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) {
+		eamPrecisionParametersService.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.eamPrecisionParametersService.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) {
+		EamPrecisionParameters eamPrecisionParameters = eamPrecisionParametersService.getById(id);
+		return Result.OK(eamPrecisionParameters);
+	}
+
+  /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param eamPrecisionParameters
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, EamPrecisionParameters eamPrecisionParameters) {
+      return super.exportXls(request, eamPrecisionParameters, EamPrecisionParameters.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, EamPrecisionParameters.class);
+  }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java
new file mode 100644
index 0000000..d5aefc7
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamProcessParametersController.java
@@ -0,0 +1,167 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+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.common.util.oConvertUtils;
+import org.jeecg.modules.eam.entity.EamProcessParameters;
+import org.jeecg.modules.eam.service.IEamProcessParametersService;
+import java.util.Date;
+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.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.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;
+
+ /**
+ * @Description: 宸ュ簭鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags="宸ュ簭鍙傛暟缁存姢")
+@RestController
+@RequestMapping("/eam/processParameters")
+public class EamProcessParametersController extends JeecgController<EamProcessParameters, IEamProcessParametersService> {
+	@Autowired
+	private IEamProcessParametersService eamProcessParametersService;
+	
+	/**
+	 * 鍒嗛〉鍒楄〃鏌ヨ
+	 *
+	 * @param eamProcessParameters
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "宸ュ簭鍙傛暟缁存姢-鍒嗛〉鍒楄〃鏌ヨ")
+	@ApiOperation(value="宸ュ簭鍙傛暟缁存姢-鍒嗛〉鍒楄〃鏌ヨ", notes="宸ュ簭鍙傛暟缁存姢-鍒嗛〉鍒楄〃鏌ヨ")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(EamProcessParameters eamProcessParameters,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<EamProcessParameters> queryWrapper = QueryGenerator.initQueryWrapper(eamProcessParameters, req.getParameterMap());
+		Page<EamProcessParameters> page = new Page<EamProcessParameters>(pageNo, pageSize);
+		IPage<EamProcessParameters> pageList = eamProcessParametersService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 * 娣诲姞
+	 *
+	 * @param eamProcessParameters
+	 * @return
+	 */
+	@AutoLog(value = "宸ュ簭鍙傛暟缁存姢-娣诲姞")
+	@ApiOperation(value="宸ュ簭鍙傛暟缁存姢-娣诲姞", notes="宸ュ簭鍙傛暟缁存姢-娣诲姞")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody EamProcessParameters eamProcessParameters) {
+		eamProcessParametersService.save(eamProcessParameters);
+		return Result.OK("娣诲姞鎴愬姛锛�");
+	}
+	
+	/**
+	 * 缂栬緫
+	 *
+	 * @param eamProcessParameters
+	 * @return
+	 */
+	@AutoLog(value = "宸ュ簭鍙傛暟缁存姢-缂栬緫")
+	@ApiOperation(value="宸ュ簭鍙傛暟缁存姢-缂栬緫", notes="宸ュ簭鍙傛暟缁存姢-缂栬緫")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<?> edit(@RequestBody EamProcessParameters eamProcessParameters) {
+		eamProcessParametersService.updateById(eamProcessParameters);
+		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) {
+		eamProcessParametersService.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.eamProcessParametersService.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) {
+		EamProcessParameters eamProcessParameters = eamProcessParametersService.getById(id);
+		return Result.OK(eamProcessParameters);
+	}
+
+  /**
+   * 瀵煎嚭excel
+   *
+   * @param request
+   * @param eamProcessParameters
+   */
+  @RequestMapping(value = "/exportXls")
+  public ModelAndView exportXls(HttpServletRequest request, EamProcessParameters eamProcessParameters) {
+      return super.exportXls(request, eamProcessParameters, EamProcessParameters.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, EamProcessParameters.class);
+  }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSysFilesController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSysFilesController.java
new file mode 100644
index 0000000..466d530
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSysFilesController.java
@@ -0,0 +1,171 @@
+package org.jeecg.modules.eam.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.FileUploadResult;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.eam.entity.EamSysFiles;
+import org.jeecg.modules.eam.request.EamSysFilesRequest;
+import org.jeecg.modules.eam.service.IEamSysFilesService;
+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 javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @Description: 璁惧闄勪欢绠$悊
+ * @Author: jeecg-boot
+ * @Date: 2025-03-17
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "璁惧闄勪欢绠$悊")
+@RestController
+@RequestMapping("/eam/sysFiles")
+public class EamSysFilesController extends JeecgController<EamSysFiles, IEamSysFilesService> {
+    @Autowired
+    private IEamSysFilesService eamSysFilesService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamSysFiles
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "璁惧闄勪欢绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "璁惧闄勪欢绠$悊-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧闄勪欢绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamSysFiles eamSysFiles,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSysFiles> queryWrapper = QueryGenerator.initQueryWrapper(eamSysFiles, req.getParameterMap());
+        queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0);
+        Page<EamSysFiles> page = new Page<EamSysFiles>(pageNo, pageSize);
+        IPage<EamSysFiles> pageList = eamSysFilesService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param request
+     * @return
+     */
+    @AutoLog(value = "璁惧闄勪欢绠$悊-娣诲姞")
+    @ApiOperation(value = "璁惧闄勪欢绠$悊-娣诲姞", notes = "璁惧闄勪欢绠$悊-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamSysFilesRequest request) {
+        boolean b = eamSysFilesService.saveEamSysFiles(request);
+        if(!b) {
+            return Result.OK("鎿嶄綔澶辫触锛�");
+        }
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamSysFiles
+     * @return
+     */
+    @AutoLog(value = "璁惧闄勪欢绠$悊-缂栬緫")
+    @ApiOperation(value = "璁惧闄勪欢绠$悊-缂栬緫", notes = "璁惧闄勪欢绠$悊-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamSysFiles eamSysFiles) {
+        eamSysFilesService.updateById(eamSysFiles);
+        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) {
+        EamSysFiles entity = eamSysFilesService.getById(id);
+        if(entity != null) {
+            entity.setDelFlag(CommonConstant.DEL_FLAG_1);
+            eamSysFilesService.updateById(entity);
+        }
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "璁惧闄勪欢绠$悊-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "璁惧闄勪欢绠$悊-鎵归噺鍒犻櫎", notes = "璁惧闄勪欢绠$悊-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        List<String> list = Arrays.asList(ids.split(","));
+        list.forEach(id -> {
+            EamSysFiles entity = eamSysFilesService.getById(id);
+            if(entity != null) {
+                entity.setDelFlag(CommonConstant.DEL_FLAG_1);
+                eamSysFilesService.updateById(entity);
+            }
+        });
+        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) {
+        EamSysFiles eamSysFiles = eamSysFilesService.getById(id);
+        return Result.OK(eamSysFiles);
+    }
+
+    @PostMapping("/upload")
+    public Result<?> uploadFile(HttpServletRequest request, HttpServletResponse response) {
+        // 杞崲鎴愬閮ㄥ垎request
+        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
+        MultipartFile files = multiRequest.getFile("file");
+        try {
+            FileUploadResult sysUpload = eamSysFilesService.uploadFile(files);
+            if(sysUpload == null) {
+                return Result.error("鎿嶄綔澶辫触: 涓婁紶缁撴灉涓虹┖锛�");
+            }
+            return Result.ok(sysUpload);
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            return Result.error("鎿嶄綔澶辫触:" + e.getMessage());
+        }
+
+    }
+
+    @GetMapping("/downloadFile")
+    public void downloadFile(@RequestParam("id") String id, HttpServletResponse response) {
+        eamSysFilesService.downloadFile(response, eamSysFilesService.getById(id));
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamPrecisionParameters.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamPrecisionParameters.java
new file mode 100644
index 0000000..ad2e93e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamPrecisionParameters.java
@@ -0,0 +1,58 @@
+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.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+/**
+ * @Description: 绮惧害鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_precision_parameters")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="eam_precision_parameters瀵硅薄", description="绮惧害鍙傛暟缁存姢")
+public class EamPrecisionParameters implements Serializable {
+    
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+	private String id;
+	/**鍒涘缓浜�*/
+	@Excel(name = "鍒涘缓浜�", width = 15)
+    @ApiModelProperty(value = "鍒涘缓浜�")
+	private String createBy;
+	/**鍒涘缓鏃堕棿*/
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+	private Date createTime;
+	/**鏇存柊浜�*/
+	@Excel(name = "鏇存柊浜�", width = 15)
+    @ApiModelProperty(value = "鏇存柊浜�")
+	private String updateBy;
+	/**鏇存柊鏃堕棿*/
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+	private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+	private Integer delFlag;
+	/**鍙傛暟缂栫爜*/
+	@Excel(name = "鍙傛暟缂栫爜", width = 15)
+    @ApiModelProperty(value = "鍙傛暟缂栫爜")
+	private String parameterCode;
+	/**妫�娴嬮」鐩�*/
+	@Excel(name = "妫�娴嬮」鐩�", width = 15)
+    @ApiModelProperty(value = "妫�娴嬮」鐩�")
+	private String parameterName;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java
new file mode 100644
index 0000000..c817b17
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamProcessParameters.java
@@ -0,0 +1,66 @@
+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.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+/**
+ * @Description: 宸ュ簭鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_process_parameters")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="eam_process_parameters瀵硅薄", description="宸ュ簭鍙傛暟缁存姢")
+public class EamProcessParameters implements Serializable {
+    
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+	private String id;
+	/**鍒涘缓浜�*/
+	@Excel(name = "鍒涘缓浜�", width = 15)
+    @ApiModelProperty(value = "鍒涘缓浜�")
+	private String createBy;
+	/**鍒涘缓鏃堕棿*/
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+	private Date createTime;
+	/**鏇存柊浜�*/
+	@Excel(name = "鏇存柊浜�", width = 15)
+    @ApiModelProperty(value = "鏇存柊浜�")
+	private String updateBy;
+	/**鏇存柊鏃堕棿*/
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+	private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+	private Integer delFlag;
+	/**鍙傛暟缂栫爜*/
+	@Excel(name = "鍙傛暟缂栫爜", width = 15)
+    @ApiModelProperty(value = "鍙傛暟缂栫爜")
+	private String parameterCode;
+	/**鍙傛暟鍚嶇О*/
+	@Excel(name = "鍙傛暟鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鍙傛暟鍚嶇О")
+	private String parameterName;
+	/**鍙傛暟鍒嗙被*/
+	@Excel(name = "鍙傛暟鍒嗙被", width = 15)
+    @ApiModelProperty(value = "鍙傛暟鍒嗙被")
+	private String parameterCategory;
+	/**璁¢噺鍗曚綅*/
+	@Excel(name = "璁¢噺鍗曚綅", width = 15)
+    @ApiModelProperty(value = "璁¢噺鍗曚綅")
+	private String parameterUnit;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSysFiles.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSysFiles.java
new file mode 100644
index 0000000..7addaf6
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSysFiles.java
@@ -0,0 +1,74 @@
+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.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+/**
+ * @Description: 璁惧闄勪欢绠$悊
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Data
+@TableName("eam_sys_files")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="eam_sys_files瀵硅薄", description="璁惧闄勪欢绠$悊")
+public class EamSysFiles implements Serializable {
+    
+	/**涓婚敭*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "涓婚敭")
+	private String id;
+	/**鍒涘缓浜�*/
+	@Excel(name = "鍒涘缓浜�", width = 15)
+    @ApiModelProperty(value = "鍒涘缓浜�")
+	private String createBy;
+	/**鍒涘缓鏃堕棿*/
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+	private Date createTime;
+	/**鏇存柊浜�*/
+	@Excel(name = "鏇存柊浜�", width = 15)
+    @ApiModelProperty(value = "鏇存柊浜�")
+	private String updateBy;
+	/**鏇存柊鏃堕棿*/
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+	private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+	private Integer delFlag;
+	/**鏂囦欢鍔犲瘑鍚�*/
+	@Excel(name = "鏂囦欢鍔犲瘑鍚�", width = 15)
+    @ApiModelProperty(value = "鏂囦欢鍔犲瘑鍚�")
+	private String fileEncodeName;
+	/**鏂囦欢鍘熷鍚嶇О*/
+	@Excel(name = "鏂囦欢鍘熷鍚嶇О", width = 15)
+    @ApiModelProperty(value = "鏂囦欢鍘熷鍚嶇О")
+	private String fileName;
+	/**鏂囦欢淇濆瓨璺緞*/
+	@Excel(name = "鏂囦欢淇濆瓨璺緞", width = 15)
+    @ApiModelProperty(value = "鏂囦欢淇濆瓨璺緞")
+	private String filePath;
+	/**鏂囦欢鍚庣紑鍚�*/
+	@Excel(name = "鏂囦欢鍚庣紑鍚�", width = 15)
+    @ApiModelProperty(value = "鏂囦欢鍚庣紑鍚�")
+	private String fileSuffix;
+	/**鏂囦欢澶у皬*/
+	@Excel(name = "鏂囦欢澶у皬", width = 15)
+    @ApiModelProperty(value = "鏂囦欢澶у皬")
+	private Long fileSize;
+	/**鎻忚堪*/
+	@Excel(name = "鎻忚堪", width = 15)
+    @ApiModelProperty(value = "鎻忚堪")
+	private String description;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamPrecisionParametersMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamPrecisionParametersMapper.java
new file mode 100644
index 0000000..a37cfe2
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamPrecisionParametersMapper.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.eam.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.eam.entity.EamPrecisionParameters;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 绮惧害鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+public interface EamPrecisionParametersMapper extends BaseMapper<EamPrecisionParameters> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamProcessParametersMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamProcessParametersMapper.java
new file mode 100644
index 0000000..fdd61e0
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamProcessParametersMapper.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.eam.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.eam.entity.EamProcessParameters;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 宸ュ簭鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+public interface EamProcessParametersMapper extends BaseMapper<EamProcessParameters> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSysFilesMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSysFilesMapper.java
new file mode 100644
index 0000000..d199f47
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSysFilesMapper.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.eam.entity.EamSysFiles;
+
+/**
+ * @Description: 璁惧闄勪欢绠$悊
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+public interface EamSysFilesMapper extends BaseMapper<EamSysFiles> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamPrecisionParametersMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamPrecisionParametersMapper.xml
new file mode 100644
index 0000000..a1905e7
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamPrecisionParametersMapper.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.EamPrecisionParametersMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamProcessParametersMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamProcessParametersMapper.xml
new file mode 100644
index 0000000..413ccaf
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamProcessParametersMapper.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.EamProcessParametersMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSysFilesMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSysFilesMapper.xml
new file mode 100644
index 0000000..0e57ce1
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSysFilesMapper.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.EamSysFilesMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSysFilesRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSysFilesRequest.java
new file mode 100644
index 0000000..75e56c9
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSysFilesRequest.java
@@ -0,0 +1,35 @@
+package org.jeecg.modules.eam.request;
+
+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.api.vo.FileUploadResult;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description: 璁惧闄勪欢绠$悊
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="璇锋眰瀵硅薄", description="璁惧闄勪欢绠$悊")
+public class EamSysFilesRequest implements Serializable {
+	/**鎻忚堪*/
+    @ApiModelProperty(value = "鎻忚堪")
+	private String description;
+	/**涓婁紶鏂囦欢瀵圭郴*/
+	@ApiModelProperty(value = "涓婁紶鏂囦欢瀵圭郴")
+	private List<FileUploadResult> fileList;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamPrecisionParametersService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamPrecisionParametersService.java
new file mode 100644
index 0000000..428272f
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamPrecisionParametersService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamPrecisionParameters;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 绮惧害鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+public interface IEamPrecisionParametersService extends IService<EamPrecisionParameters> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamProcessParametersService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamProcessParametersService.java
new file mode 100644
index 0000000..363e653
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamProcessParametersService.java
@@ -0,0 +1,14 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.modules.eam.entity.EamProcessParameters;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 宸ュ簭鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+public interface IEamProcessParametersService extends IService<EamProcessParameters> {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSysFilesService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSysFilesService.java
new file mode 100644
index 0000000..9e3a27a
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSysFilesService.java
@@ -0,0 +1,40 @@
+package org.jeecg.modules.eam.service;
+
+import org.jeecg.common.api.vo.FileUploadResult;
+import org.jeecg.common.system.base.entity.SysUpload;
+import org.jeecg.modules.eam.entity.EamSysFiles;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.eam.request.EamSysFilesRequest;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @Description: 璁惧闄勪欢绠$悊
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+public interface IEamSysFilesService extends IService<EamSysFiles> {
+
+    /**
+     * 涓嬭浇鏂囦欢
+     * @param response
+     * @param byId
+     */
+    void downloadFile(HttpServletResponse response, EamSysFiles byId);
+
+    /**
+     * 涓婁紶闄勪欢
+     * @param file
+     * @return
+     */
+    FileUploadResult uploadFile(MultipartFile file);
+
+    /**
+     * 鎵归噺娣诲姞璁惧闄勪欢
+     * @param request
+     */
+    boolean saveEamSysFiles(EamSysFilesRequest request);
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamPrecisionParametersServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamPrecisionParametersServiceImpl.java
new file mode 100644
index 0000000..d9e884b
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamPrecisionParametersServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamPrecisionParameters;
+import org.jeecg.modules.eam.mapper.EamPrecisionParametersMapper;
+import org.jeecg.modules.eam.service.IEamPrecisionParametersService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 绮惧害鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Service
+public class EamPrecisionParametersServiceImpl extends ServiceImpl<EamPrecisionParametersMapper, EamPrecisionParameters> implements IEamPrecisionParametersService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamProcessParametersServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamProcessParametersServiceImpl.java
new file mode 100644
index 0000000..67d1826
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamProcessParametersServiceImpl.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.eam.service.impl;
+
+import org.jeecg.modules.eam.entity.EamProcessParameters;
+import org.jeecg.modules.eam.mapper.EamProcessParametersMapper;
+import org.jeecg.modules.eam.service.IEamProcessParametersService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 宸ュ簭鍙傛暟缁存姢
+ * @Author: jeecg-boot
+ * @Date:   2025-03-17
+ * @Version: V1.0
+ */
+@Service
+public class EamProcessParametersServiceImpl extends ServiceImpl<EamProcessParametersMapper, EamProcessParameters> implements IEamProcessParametersService {
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSysFilesServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSysFilesServiceImpl.java
new file mode 100644
index 0000000..3ce472e
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSysFilesServiceImpl.java
@@ -0,0 +1,59 @@
+package org.jeecg.modules.eam.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.common.api.vo.FileUploadResult;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.util.FileUtil;
+import org.jeecg.modules.eam.entity.EamSysFiles;
+import org.jeecg.modules.eam.mapper.EamSysFilesMapper;
+import org.jeecg.modules.eam.request.EamSysFilesRequest;
+import org.jeecg.modules.eam.service.IEamSysFilesService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 璁惧闄勪欢绠$悊
+ * @Author: jeecg-boot
+ * @Date: 2025-03-17
+ * @Version: V1.0
+ */
+@Service
+public class EamSysFilesServiceImpl extends ServiceImpl<EamSysFilesMapper, EamSysFiles> implements IEamSysFilesService {
+
+    @Override
+    public void downloadFile(HttpServletResponse response, EamSysFiles entity) {
+        FileUtil.downLoadFile(response, entity.getFilePath(), entity.getFileName());
+    }
+
+    @Override
+    public FileUploadResult uploadFile(MultipartFile file) {
+        return FileUtil.uploadFile(file);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean saveEamSysFiles(EamSysFilesRequest request) {
+        if(request == null || CollectionUtil.isEmpty(request.getFileList())){
+            return false;
+        }
+        List<EamSysFiles> resultList = new ArrayList<>();
+        for (FileUploadResult fileUploadResult : request.getFileList()) {
+            EamSysFiles eamSysFiles = new EamSysFiles();
+            eamSysFiles.setFilePath(fileUploadResult.getFilePath());
+            eamSysFiles.setFileName(fileUploadResult.getFileName());
+            eamSysFiles.setFileEncodeName(fileUploadResult.getFileEncodeName());
+            eamSysFiles.setFileSize(fileUploadResult.getFileSize());
+            eamSysFiles.setFileSuffix(fileUploadResult.getFileSuffix());
+            eamSysFiles.setDescription(request.getDescription());
+            eamSysFiles.setDelFlag(CommonConstant.DEL_FLAG_0);
+            resultList.add(eamSysFiles);
+        }
+        return this.saveBatch(resultList);
+    }
+}
diff --git a/lxzn-module-system/lxzn-system-start/pom.xml b/lxzn-module-system/lxzn-system-start/pom.xml
index 6cfe3bd..24808e5 100644
--- a/lxzn-module-system/lxzn-system-start/pom.xml
+++ b/lxzn-module-system/lxzn-system-start/pom.xml
@@ -42,6 +42,12 @@
             <artifactId>lxzn-module-msi</artifactId>
             <version>${jeecgboot.version}</version>
         </dependency>
+        <!--EAM 妯″潡-->
+        <dependency>
+            <groupId>org.jeecgframework.boot</groupId>
+            <artifactId>lxzn-module-eam</artifactId>
+            <version>${jeecgboot.version}</version>
+        </dependency>
     </dependencies>
 
     <build>

--
Gitblit v1.9.3