From 4864c87d65e797d2ecd827b1eca9d46aec0950aa Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 25 六月 2025 11:56:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MajorPartialRepairStatusEnum.java        |   12 
 lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml                                  |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java                  |   11 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/LogTableServiceImpl.java                    |   80 ++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java          |  257 ++++++++++---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairDetailService.java         |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepair.java                        |  173 +++++---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java               |    4 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/ILogTableService.java                            |   17 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairDetailMapper.java            |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairDetailController.java    |  114 +++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMajorPartialRepairQuery.java                  |   30 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/LogTableMapper.java                               |   11 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java               |   17 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/SqlExecutor.java                                    |   29 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java                  |   82 ++-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/LogTable.java                                     |   39 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml               |    6 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/LogTableMapper.xml                            |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairDetailServiceImpl.java |    4 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairServiceImpl.java       |  120 ++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ImportXmlToDataJob.java                              |   62 +++
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java                |    2 
 23 files changed, 853 insertions(+), 235 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MajorPartialRepairStatusEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MajorPartialRepairStatusEnum.java
new file mode 100644
index 0000000..da35956
--- /dev/null
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MajorPartialRepairStatusEnum.java
@@ -0,0 +1,12 @@
+package org.jeecg.modules.eam.constant;
+
+import lombok.Data;
+
+public enum MajorPartialRepairStatusEnum {
+
+    PENDING_SUBMISSION,// 寰呮彁浜�
+    PENDING_CONFIRMATION,// 寰呯‘璁�
+    CONFIRMED,// 宸茬‘璁�
+    COMPLETED,// 宸插畬鎴�
+    INVALIDATED// 浣滃簾
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java
index 17793d5..f1cfdbe 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java
@@ -1,31 +1,35 @@
 package org.jeecg.modules.eam.controller;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import cn.hutool.core.collection.CollectionUtil;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 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.constant.MajorPartialRepairStatusEnum;
 import org.jeecg.modules.eam.entity.EamMajorPartialRepair;
+import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail;
+import org.jeecg.modules.eam.request.EamMajorPartialRepairQuery;
 import org.jeecg.modules.eam.service.IEamMajorPartialRepairService;
-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.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -34,17 +38,18 @@
 import com.alibaba.fastjson.JSON;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
 
  /**
- * @Description: 澶т慨椤逛慨
+ * @Description: eam_major_partial_repair
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
-@Slf4j
-@Api(tags="澶т慨椤逛慨")
+@Api(tags="eam_major_partial_repair")
 @RestController
 @RequestMapping("/eam/eamMajorPartialRepair")
+@Slf4j
 public class EamMajorPartialRepairController extends JeecgController<EamMajorPartialRepair, IEamMajorPartialRepairService> {
 	@Autowired
 	private IEamMajorPartialRepairService eamMajorPartialRepairService;
@@ -52,79 +57,198 @@
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
-	 * @param eamMajorPartialRepair
+	 * @param query
 	 * @param pageNo
 	 * @param pageSize
 	 * @param req
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨-鍒嗛〉鍒楄〃鏌ヨ")
-	@ApiOperation(value="澶т慨椤逛慨-鍒嗛〉鍒楄〃鏌ヨ", notes="澶т慨椤逛慨-鍒嗛〉鍒楄〃鏌ヨ")
+	//@AutoLog(value = "eam_major_partial_repair-鍒嗛〉鍒楄〃鏌ヨ")
+	@ApiOperation(value="eam_major_partial_repair-鍒嗛〉鍒楄〃鏌ヨ", notes="eam_major_partial_repair-鍒嗛〉鍒楄〃鏌ヨ")
 	@GetMapping(value = "/list")
-	public Result<?> queryPageList(EamMajorPartialRepair eamMajorPartialRepair,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-		QueryWrapper<EamMajorPartialRepair> queryWrapper = QueryGenerator.initQueryWrapper(eamMajorPartialRepair, req.getParameterMap());
+	public Result<IPage<EamMajorPartialRepair>> queryPageList(EamMajorPartialRepairQuery query,
+															  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+															  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+															  HttpServletRequest req) {
 		Page<EamMajorPartialRepair> page = new Page<EamMajorPartialRepair>(pageNo, pageSize);
-		IPage<EamMajorPartialRepair> pageList = eamMajorPartialRepairService.page(page, queryWrapper);
+		IPage<EamMajorPartialRepair> pageList = eamMajorPartialRepairService.queryPageList(page, query);
 		return Result.OK(pageList);
 	}
 	
 	/**
-	 * 娣诲姞
+	 *   娣诲姞
 	 *
 	 * @param eamMajorPartialRepair
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨-娣诲姞")
-	@ApiOperation(value="澶т慨椤逛慨-娣诲姞", notes="澶т慨椤逛慨-娣诲姞")
+	@AutoLog(value = "eam_major_partial_repair-娣诲姞")
+	@ApiOperation(value="eam_major_partial_repair-娣诲姞", notes="eam_major_partial_repair-娣诲姞")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:add")
 	@PostMapping(value = "/add")
-	public Result<?> add(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) {
-		eamMajorPartialRepairService.save(eamMajorPartialRepair);
+	public Result<String> add(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) {
+		eamMajorPartialRepairService.saveMajorPartialRepair(eamMajorPartialRepair);
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
-	
+
 	/**
-	 * 缂栬緫
+	 *  缂栬緫
 	 *
 	 * @param eamMajorPartialRepair
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨-缂栬緫")
-	@ApiOperation(value="澶т慨椤逛慨-缂栬緫", notes="澶т慨椤逛慨-缂栬緫")
+	@AutoLog(value = "eam_major_partial_repair-缂栬緫")
+	@ApiOperation(value="eam_major_partial_repair-缂栬緫", notes="eam_major_partial_repair-缂栬緫")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<?> edit(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) {
-		eamMajorPartialRepairService.updateById(eamMajorPartialRepair);
+	public Result<String> edit(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) {
+		eamMajorPartialRepairService.updateMajorPartialRepair(eamMajorPartialRepair);
 		return Result.OK("缂栬緫鎴愬姛!");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-鎻愪氦")
+	@ApiOperation(value="eam_major_partial_repair-鎻愪氦", notes="eam_major_partial_repair-鎻愪氦")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:submit")
+	@GetMapping(value = "/submit")
+	public Result<String> submit(@RequestParam("id") String id) {
+		EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id);
+		if (Objects.isNull(majorPartialRepair)) {
+			return Result.error("瑕佹彁浜ょ殑缁翠慨鍗曚笉瀛樺湪锛岃鍒锋柊閲嶈瘯锛�");
+		}
+		if (!MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name().equals(majorPartialRepair.getRepairStatus())) {
+			return Result.error("璇ョ姸鎬佺殑缁翠慨鍗曚笉鑳芥彁浜わ紒");
+		}
+		majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name());
+		eamMajorPartialRepairService.updateById(majorPartialRepair);
+		return Result.OK("鎻愪氦鎴愬姛!");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-鎵归噺鎻愪氦")
+	@ApiOperation(value="eam_major_partial_repair-鎵归噺鎻愪氦", notes="eam_major_partial_repair-鎵归噺鎻愪氦")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:submit")
+	@GetMapping(value = "/submitBatch")
+	public Result<String> submitBatch(@RequestParam(name="ids") String ids) {
+		List<String> idList = Arrays.asList(ids.split(","));
+		List<EamMajorPartialRepair> submitList = CollectionUtil.newArrayList();
+		idList.forEach(id -> {
+			EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id);
+			if (Objects.nonNull(majorPartialRepair) && MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name().equals(majorPartialRepair.getRepairStatus())) {
+				majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name());
+				submitList.add(majorPartialRepair);
+			}
+		});
+		eamMajorPartialRepairService.updateBatchById(submitList);
+		return Result.OK("鎵归噺鎻愪氦 " + submitList.size() + " 鏉$淮淇崟!");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-纭")
+	@ApiOperation(value="eam_major_partial_repair-纭", notes="eam_major_partial_repair-纭")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:confirm")
+	@GetMapping(value = "/confirm")
+	public Result<String> confirm(@RequestParam("id") String id) {
+		EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id);
+		if (Objects.isNull(majorPartialRepair)) {
+			return Result.error("瑕佺‘璁ょ殑缁翠慨鍗曚笉瀛樺湪锛岃鍒锋柊閲嶈瘯锛�");
+		}
+		if (!MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name().equals(majorPartialRepair.getRepairStatus())) {
+			return Result.error("璇ョ姸鎬佺殑缁翠慨鍗曚笉鑳界‘璁わ紒");
+		}
+		majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.CONFIRMED.name());
+		majorPartialRepair.setActualStartTime(new Date());
+		eamMajorPartialRepairService.updateById(majorPartialRepair);
+		return Result.OK("纭鎴愬姛!");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-鎵归噺纭")
+	@ApiOperation(value="eam_major_partial_repair-鎵归噺纭", notes="eam_major_partial_repair-鎵归噺纭")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:confirm")
+	@GetMapping(value = "/confirmBatch")
+	public Result<String> confirmBatch(@RequestParam(name="ids") String ids) {
+		List<String> idList = Arrays.asList(ids.split(","));
+		List<EamMajorPartialRepair> confirmList = CollectionUtil.newArrayList();
+		idList.forEach(id -> {
+			EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id);
+			if (Objects.nonNull(majorPartialRepair) && MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name().equals(majorPartialRepair.getRepairStatus())) {
+				majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.CONFIRMED.name());
+				majorPartialRepair.setActualStartTime(new Date());
+				confirmList.add(majorPartialRepair);
+			}
+		});
+		eamMajorPartialRepairService.updateBatchById(confirmList);
+		return Result.OK("鎵归噺纭 " + confirmList.size() + " 鏉$淮淇崟锛�");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-浣滃簾")
+	@ApiOperation(value="eam_major_partial_repair-浣滃簾", notes="eam_major_partial_repair-浣滃簾")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:repeal")
+	@GetMapping(value = "/repeal")
+	public Result<String> repeal(@RequestParam("id") String id) {
+		EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id);
+		if (Objects.isNull(majorPartialRepair)) {
+			return Result.error("瑕佷綔搴熺殑缁翠慨鍗曚笉瀛樺湪锛岃鍒锋柊閲嶈瘯锛�");
+		}
+		if (!MajorPartialRepairStatusEnum.CONFIRMED.name().equals(majorPartialRepair.getRepairStatus())) {
+			return Result.error("璇ョ姸鎬佺殑缁翠慨鍗曚笉鑳戒綔搴燂紒");
+		}
+		majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.INVALIDATED.name());
+		eamMajorPartialRepairService.updateById(majorPartialRepair);
+		return Result.OK("浣滃簾鎴愬姛!");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-鎵归噺浣滃簾")
+	@ApiOperation(value="eam_major_partial_repair-鎵归噺浣滃簾", notes="eam_major_partial_repair-鎵归噺浣滃簾")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:repeal")
+	@GetMapping(value = "/repealBatch")
+	public Result<String> repealBatch(@RequestParam(name="ids") String ids) {
+		List<String> idList = Arrays.asList(ids.split(","));
+		List<EamMajorPartialRepair> repealList = CollectionUtil.newArrayList();
+		idList.forEach(id -> {
+			EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id);
+			if (Objects.nonNull(majorPartialRepair) && MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name().equals(majorPartialRepair.getRepairStatus())) {
+				majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.INVALIDATED.name());
+				repealList.add(majorPartialRepair);
+			}
+		});
+		eamMajorPartialRepairService.updateBatchById(repealList);
+		return Result.OK("鎵归噺浣滃簾 " + repealList.size() + " 鏉$淮淇崟锛�");
+	}
+
+	@AutoLog(value = "eam_major_partial_repair-缁撴灉濉姤")
+	@ApiOperation(value="eam_major_partial_repair-缁撴灉濉姤", notes="eam_major_partial_repair-缁撴灉濉姤")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:fillResult")
+	@RequestMapping(value = "/fillResult", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> fillResult(@RequestBody List<EamMajorPartialRepairDetail> detailList) {
+		eamMajorPartialRepairService.fillResult(detailList);
+		return Result.OK("缁撴灉濉姤鎴愬姛!");
 	}
 	
 	/**
-	 * 閫氳繃id鍒犻櫎
+	 *   閫氳繃id鍒犻櫎
 	 *
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨-閫氳繃id鍒犻櫎")
-	@ApiOperation(value="澶т慨椤逛慨-閫氳繃id鍒犻櫎", notes="澶т慨椤逛慨-閫氳繃id鍒犻櫎")
+	@AutoLog(value = "eam_major_partial_repair-閫氳繃id鍒犻櫎")
+	@ApiOperation(value="eam_major_partial_repair-閫氳繃id鍒犻櫎", notes="eam_major_partial_repair-閫氳繃id鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:delete")
 	@DeleteMapping(value = "/delete")
-	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 		eamMajorPartialRepairService.removeById(id);
 		return Result.OK("鍒犻櫎鎴愬姛!");
 	}
 	
 	/**
-	 * 鎵归噺鍒犻櫎
+	 *  鎵归噺鍒犻櫎
 	 *
 	 * @param ids
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨-鎵归噺鍒犻櫎")
-	@ApiOperation(value="澶т慨椤逛慨-鎵归噺鍒犻櫎", notes="澶т慨椤逛慨-鎵归噺鍒犻櫎")
+	@AutoLog(value = "eam_major_partial_repair-鎵归噺鍒犻櫎")
+	@ApiOperation(value="eam_major_partial_repair-鎵归噺鍒犻櫎", notes="eam_major_partial_repair-鎵归噺鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
-	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
 		this.eamMajorPartialRepairService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
 	}
 	
 	/**
@@ -133,35 +257,40 @@
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨-閫氳繃id鏌ヨ")
-	@ApiOperation(value="澶т慨椤逛慨-閫氳繃id鏌ヨ", notes="澶т慨椤逛慨-閫氳繃id鏌ヨ")
+	//@AutoLog(value = "eam_major_partial_repair-閫氳繃id鏌ヨ")
+	@ApiOperation(value="eam_major_partial_repair-閫氳繃id鏌ヨ", notes="eam_major_partial_repair-閫氳繃id鏌ヨ")
 	@GetMapping(value = "/queryById")
-	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+	public Result<EamMajorPartialRepair> queryById(@RequestParam(name="id",required=true) String id) {
 		EamMajorPartialRepair eamMajorPartialRepair = eamMajorPartialRepairService.getById(id);
+		if(eamMajorPartialRepair==null) {
+			return Result.error("鏈壘鍒板搴旀暟鎹�");
+		}
 		return Result.OK(eamMajorPartialRepair);
 	}
 
-  /**
-   * 瀵煎嚭excel
-   *
-   * @param request
-   * @param eamMajorPartialRepair
-   */
-  @RequestMapping(value = "/exportXls")
-  public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepair eamMajorPartialRepair) {
-      return super.exportXls(request, eamMajorPartialRepair, EamMajorPartialRepair.class, "澶т慨椤逛慨");
-  }
+    /**
+    * 瀵煎嚭excel
+    *
+    * @param request
+    * @param eamMajorPartialRepair
+    */
+    //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepair eamMajorPartialRepair) {
+        return super.exportXls(request, eamMajorPartialRepair, EamMajorPartialRepair.class, "eam_major_partial_repair");
+    }
 
-  /**
-   * 閫氳繃excel瀵煎叆鏁版嵁
-   *
-   * @param request
-   * @param response
-   * @return
-   */
-  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-      return super.importExcel(request, response, EamMajorPartialRepair.class);
-  }
+    /**
+      * 閫氳繃excel瀵煎叆鏁版嵁
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("eam_major_partial_repair:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamMajorPartialRepair.class);
+    }
 
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairDetailController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairDetailController.java
index 8c64303..4bdb9dd 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairDetailController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairDetailController.java
@@ -3,6 +3,7 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
@@ -10,22 +11,21 @@
 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.EamMajorPartialRepairDetail;
 import org.jeecg.modules.eam.service.IEamMajorPartialRepairDetailService;
-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.jeecg.common.system.base.controller.JeecgController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -34,17 +34,18 @@
 import com.alibaba.fastjson.JSON;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
 
  /**
- * @Description: 澶т慨椤逛慨鏄庣粏琛�
+ * @Description: eam_major_partial_repair_detail
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
-@Slf4j
-@Api(tags="澶т慨椤逛慨鏄庣粏琛�")
+@Api(tags="eam_major_partial_repair_detail")
 @RestController
 @RequestMapping("/eam/eamMajorPartialRepairDetail")
+@Slf4j
 public class EamMajorPartialRepairDetailController extends JeecgController<EamMajorPartialRepairDetail, IEamMajorPartialRepairDetailService> {
 	@Autowired
 	private IEamMajorPartialRepairDetailService eamMajorPartialRepairDetailService;
@@ -58,10 +59,10 @@
 	 * @param req
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨鏄庣粏琛�-鍒嗛〉鍒楄〃鏌ヨ")
-	@ApiOperation(value="澶т慨椤逛慨鏄庣粏琛�-鍒嗛〉鍒楄〃鏌ヨ", notes="澶т慨椤逛慨鏄庣粏琛�-鍒嗛〉鍒楄〃鏌ヨ")
+	//@AutoLog(value = "eam_major_partial_repair_detail-鍒嗛〉鍒楄〃鏌ヨ")
+	@ApiOperation(value="eam_major_partial_repair_detail-鍒嗛〉鍒楄〃鏌ヨ", notes="eam_major_partial_repair_detail-鍒嗛〉鍒楄〃鏌ヨ")
 	@GetMapping(value = "/list")
-	public Result<?> queryPageList(EamMajorPartialRepairDetail eamMajorPartialRepairDetail,
+	public Result<IPage<EamMajorPartialRepairDetail>> queryPageList(EamMajorPartialRepairDetail eamMajorPartialRepairDetail,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
@@ -72,59 +73,63 @@
 	}
 	
 	/**
-	 * 娣诲姞
+	 *   娣诲姞
 	 *
 	 * @param eamMajorPartialRepairDetail
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨鏄庣粏琛�-娣诲姞")
-	@ApiOperation(value="澶т慨椤逛慨鏄庣粏琛�-娣诲姞", notes="澶т慨椤逛慨鏄庣粏琛�-娣诲姞")
+	@AutoLog(value = "eam_major_partial_repair_detail-娣诲姞")
+	@ApiOperation(value="eam_major_partial_repair_detail-娣诲姞", notes="eam_major_partial_repair_detail-娣诲姞")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:add")
 	@PostMapping(value = "/add")
-	public Result<?> add(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) {
+	public Result<String> add(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) {
 		eamMajorPartialRepairDetailService.save(eamMajorPartialRepairDetail);
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
 	
 	/**
-	 * 缂栬緫
+	 *  缂栬緫
 	 *
 	 * @param eamMajorPartialRepairDetail
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨鏄庣粏琛�-缂栬緫")
-	@ApiOperation(value="澶т慨椤逛慨鏄庣粏琛�-缂栬緫", notes="澶т慨椤逛慨鏄庣粏琛�-缂栬緫")
+	@AutoLog(value = "eam_major_partial_repair_detail-缂栬緫")
+	@ApiOperation(value="eam_major_partial_repair_detail-缂栬緫", notes="eam_major_partial_repair_detail-缂栬緫")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<?> edit(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) {
+	public Result<String> edit(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) {
 		eamMajorPartialRepairDetailService.updateById(eamMajorPartialRepairDetail);
 		return Result.OK("缂栬緫鎴愬姛!");
 	}
 	
 	/**
-	 * 閫氳繃id鍒犻櫎
+	 *   閫氳繃id鍒犻櫎
 	 *
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨鏄庣粏琛�-閫氳繃id鍒犻櫎")
-	@ApiOperation(value="澶т慨椤逛慨鏄庣粏琛�-閫氳繃id鍒犻櫎", notes="澶т慨椤逛慨鏄庣粏琛�-閫氳繃id鍒犻櫎")
+	@AutoLog(value = "eam_major_partial_repair_detail-閫氳繃id鍒犻櫎")
+	@ApiOperation(value="eam_major_partial_repair_detail-閫氳繃id鍒犻櫎", notes="eam_major_partial_repair_detail-閫氳繃id鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:delete")
 	@DeleteMapping(value = "/delete")
-	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
 		eamMajorPartialRepairDetailService.removeById(id);
 		return Result.OK("鍒犻櫎鎴愬姛!");
 	}
 	
 	/**
-	 * 鎵归噺鍒犻櫎
+	 *  鎵归噺鍒犻櫎
 	 *
 	 * @param ids
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨鏄庣粏琛�-鎵归噺鍒犻櫎")
-	@ApiOperation(value="澶т慨椤逛慨鏄庣粏琛�-鎵归噺鍒犻櫎", notes="澶т慨椤逛慨鏄庣粏琛�-鎵归噺鍒犻櫎")
+	@AutoLog(value = "eam_major_partial_repair_detail-鎵归噺鍒犻櫎")
+	@ApiOperation(value="eam_major_partial_repair_detail-鎵归噺鍒犻櫎", notes="eam_major_partial_repair_detail-鎵归噺鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
-	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
 		this.eamMajorPartialRepairDetailService.removeByIds(Arrays.asList(ids.split(",")));
-		return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
 	}
 	
 	/**
@@ -133,35 +138,40 @@
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "澶т慨椤逛慨鏄庣粏琛�-閫氳繃id鏌ヨ")
-	@ApiOperation(value="澶т慨椤逛慨鏄庣粏琛�-閫氳繃id鏌ヨ", notes="澶т慨椤逛慨鏄庣粏琛�-閫氳繃id鏌ヨ")
+	//@AutoLog(value = "eam_major_partial_repair_detail-閫氳繃id鏌ヨ")
+	@ApiOperation(value="eam_major_partial_repair_detail-閫氳繃id鏌ヨ", notes="eam_major_partial_repair_detail-閫氳繃id鏌ヨ")
 	@GetMapping(value = "/queryById")
-	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+	public Result<EamMajorPartialRepairDetail> queryById(@RequestParam(name="id",required=true) String id) {
 		EamMajorPartialRepairDetail eamMajorPartialRepairDetail = eamMajorPartialRepairDetailService.getById(id);
+		if(eamMajorPartialRepairDetail==null) {
+			return Result.error("鏈壘鍒板搴旀暟鎹�");
+		}
 		return Result.OK(eamMajorPartialRepairDetail);
 	}
 
-  /**
-   * 瀵煎嚭excel
-   *
-   * @param request
-   * @param eamMajorPartialRepairDetail
-   */
-  @RequestMapping(value = "/exportXls")
-  public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepairDetail eamMajorPartialRepairDetail) {
-      return super.exportXls(request, eamMajorPartialRepairDetail, EamMajorPartialRepairDetail.class, "澶т慨椤逛慨鏄庣粏琛�");
-  }
+    /**
+    * 瀵煎嚭excel
+    *
+    * @param request
+    * @param eamMajorPartialRepairDetail
+    */
+    //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepairDetail eamMajorPartialRepairDetail) {
+        return super.exportXls(request, eamMajorPartialRepairDetail, EamMajorPartialRepairDetail.class, "eam_major_partial_repair_detail");
+    }
 
-  /**
-   * 閫氳繃excel瀵煎叆鏁版嵁
-   *
-   * @param request
-   * @param response
-   * @return
-   */
-  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-      return super.importExcel(request, response, EamMajorPartialRepairDetail.class);
-  }
+    /**
+      * 閫氳繃excel瀵煎叆鏁版嵁
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("eam_major_partial_repair_detail:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamMajorPartialRepairDetail.class);
+    }
 
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepair.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepair.java
index 147df1e..3f2674e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepair.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepair.java
@@ -1,106 +1,135 @@
 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 java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
 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: 澶т慨椤逛慨
+ * @Description: eam_major_partial_repair
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 @Data
 @TableName("eam_major_partial_repair")
-@EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="eam_major_partial_repair瀵硅薄", description="澶т慨椤逛慨")
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="eam_major_partial_repair瀵硅薄", description="eam_major_partial_repair")
 public class EamMajorPartialRepair implements Serializable {
-    
+    private static final long serialVersionUID = 1L;
+
 	/**涓婚敭*/
 	@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;
-	/**璁惧ID*/
-	@Excel(name = "璁惧ID", width = 15)
-    @ApiModelProperty(value = "璁惧ID")
-	private String equipmentId;
-	/**缁翠慨绫诲瀷*/
-	@Excel(name = "缁翠慨绫诲瀷", width = 15)
-    @ApiModelProperty(value = "缁翠慨绫诲瀷")
-	private String repairType;
-	/**璁″垝寮�濮嬫椂闂�*/
-    @ApiModelProperty(value = "璁″垝寮�濮嬫椂闂�")
-	private Date planStartTime;
-	/**璁″垝缁撴潫鏃堕棿*/
-    @ApiModelProperty(value = "璁″垝缁撴潫鏃堕棿")
-	private Date planEndTime;
+    private String id;
 	/**缁翠慨缂栫爜*/
-	@Excel(name = "缁翠慨缂栫爜", width = 15)
+	@Excel(name = "缁翠慨缂栫爜", width = 20)
     @ApiModelProperty(value = "缁翠慨缂栫爜")
-	private String repairCode;
-	/**缁翠慨鍚嶇О*/
-	@Excel(name = "缁翠慨鍚嶇О", width = 15)
-    @ApiModelProperty(value = "缁翠慨鍚嶇О")
-	private String repairName;
+    private String repairCode;
+	/**椤圭洰鍚嶇О*/
+	@Excel(name = "椤圭洰鍚嶇О", width = 20)
+    @ApiModelProperty(value = "椤圭洰鍚嶇О")
+    private String repairName;
 	/**缁翠慨鐘舵��*/
 	@Excel(name = "缁翠慨鐘舵��", width = 15)
     @ApiModelProperty(value = "缁翠慨鐘舵��")
-	private String repairStatus;
+    @Dict(dicCode = "major_partial_repair_status")
+    private String repairStatus;
+	/**缁翠慨绫诲瀷*/
+	@Excel(name = "缁翠慨绫诲瀷", width = 15)
+    @ApiModelProperty(value = "缁翠慨绫诲瀷")
+    private String repairType;
+	/**鐢宠浜�*/
+	@Excel(name = "鐢宠浜�", width = 15)
+    @ApiModelProperty(value = "鐢宠浜�")
+    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    private String applicant;
+	/**鐢宠杞﹂棿*/
+	@Excel(name = "鐢宠杞﹂棿", width = 15)
+    @ApiModelProperty(value = "鐢宠杞﹂棿")
+    @Dict(dictTable = "mdc_production", dicText = "production_name", dicCode = "id")
+    private String applicantProduction;
+	/**璁″垝寮�濮嬫棩鏈�*/
+	@Excel(name = "璁″垝寮�濮嬫棩鏈�", width = 20, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "璁″垝寮�濮嬫棩鏈�")
+    private Date planStartDate;
+	/**璁″垝缁撴潫鏃ユ湡*/
+	@Excel(name = "璁″垝缁撴潫鏃ユ湡", width = 20, format = "yyyy/MM/dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "璁″垝缁撴潫鏃ユ湡")
+    private Date planEndDate;
 	/**瀹為檯寮�濮嬫椂闂�*/
+	@Excel(name = "瀹為檯寮�濮嬫椂闂�", width = 20, format = "yyyy/MM/dd HH")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH")
     @ApiModelProperty(value = "瀹為檯寮�濮嬫椂闂�")
-	private Date actualStartTime;
+    private Date actualStartTime;
 	/**瀹為檯缁撴潫鏃堕棿*/
+	@Excel(name = "瀹為檯缁撴潫鏃堕棿", width = 20, format = "yyyy/MM/dd HH")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH")
     @ApiModelProperty(value = "瀹為檯缁撴潫鏃堕棿")
-	private Date actualEndTime;
+    private Date actualEndTime;
 	/**鎬婚噾棰�*/
 	@Excel(name = "鎬婚噾棰�", width = 15)
     @ApiModelProperty(value = "鎬婚噾棰�")
-	private java.math.BigDecimal totalAmount;
-	/**闄勪欢*/
-	@Excel(name = "闄勪欢", width = 15)
-    @ApiModelProperty(value = "闄勪欢")
-	private String attachment;
-	/**缁翠慨鎻忚堪*/
-	@Excel(name = "缁翠慨鎻忚堪", width = 15)
-    @ApiModelProperty(value = "缁翠慨鎻忚堪")
-	private String repairDescription;
-	/**缁翠慨鏂瑰紡*/
-	@Excel(name = "缁翠慨鏂瑰紡", width = 15)
-    @ApiModelProperty(value = "缁翠慨鏂瑰紡")
-	private String repairMethod;
-	/**濮斿鍏徃*/
-	@Excel(name = "濮斿鍏徃", width = 15)
-    @ApiModelProperty(value = "濮斿鍏徃")
-	private String outsourcedCompany;
+    private BigDecimal totalAmount;
+	/**鏁呴殰鎻忚堪*/
+	@Excel(name = "鏁呴殰鎻忚堪", width = 50)
+    @ApiModelProperty(value = "鏁呴殰鎻忚堪")
+    private String faultDescription;
+	/**鐢宠鍘熷洜*/
+	@Excel(name = "鐢宠鍘熷洜", width = 15)
+    @ApiModelProperty(value = "鐢宠鍘熷洜")
+    private String applicantReason;
 	/**璐d换浜�*/
 	@Excel(name = "璐d换浜�", width = 15)
     @ApiModelProperty(value = "璐d换浜�")
-	private String responsiblePerson;
+    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    private String responsiblePerson;
+	/**澶囨敞*/
+	@Excel(name = "澶囨敞", width = 50)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃堕棿*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃堕棿*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    private Date updateTime;
+	/**鍒犻櫎鏍囪*/
+	@Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @TableLogic
+    private Integer delFlag;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "缁翠慨鏄庣粏淇℃伅")
+    private List<EamMajorPartialRepairDetail> eamMajorPartialRepairDetailList;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java
index 5266590..567c471 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java
@@ -1,62 +1,76 @@
 package org.jeecg.modules.eam.entity;
 
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
 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: 澶т慨椤逛慨鏄庣粏琛�
+ * @Description: eam_major_partial_repair_detail
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 @Data
 @TableName("eam_major_partial_repair_detail")
-@EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="eam_major_partial_repair_detail瀵硅薄", description="澶т慨椤逛慨鏄庣粏琛�")
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="eam_major_partial_repair_detail瀵硅薄", description="eam_major_partial_repair_detail")
 public class EamMajorPartialRepairDetail implements Serializable {
-    
+    private static final long serialVersionUID = 1L;
+
 	/**涓婚敭*/
 	@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 emergencyDegree;
+    private String id;
+	/**缁翠慨ID*/
+	@Excel(name = "缁翠慨ID", width = 15)
+    @ApiModelProperty(value = "缁翠慨ID")
+    private String repairId;
+	/**璁惧ID*/
+	@Excel(name = "璁惧ID", width = 15)
+    @ApiModelProperty(value = "璁惧ID")
+    @Dict(dictTable = "eam_equipment", dicText = "equipment_name", dicCode = "id")
+    private String equipmentId;
+	/**鍗曚环*/
+	@Excel(name = "鍗曚环", width = 15)
+    @ApiModelProperty(value = "鍗曚环")
+    private BigDecimal unitPrice;
 	/**缁翠慨缁撴灉*/
 	@Excel(name = "缁翠慨缁撴灉", width = 15)
     @ApiModelProperty(value = "缁翠慨缁撴灉")
-	private String repairResult;
+    private String repairResult;
 	/**缁翠慨鎻忚堪*/
 	@Excel(name = "缁翠慨鎻忚堪", width = 15)
     @ApiModelProperty(value = "缁翠慨鎻忚堪")
-	private String repairDescription;
+    private String repairDescription;
+	/**鍒涘缓浜�*/
+    @ApiModelProperty(value = "鍒涘缓浜�")
+    private String createBy;
+	/**鍒涘缓鏃堕棿*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private Date createTime;
+	/**鏇存柊浜�*/
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+	/**鏇存柊鏃堕棿*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    private Date updateTime;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairDetailMapper.java
index 350a6a3..e06af6a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairDetailMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairDetailMapper.java
@@ -7,9 +7,9 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
- * @Description: 澶т慨椤逛慨鏄庣粏琛�
+ * @Description: eam_major_partial_repair_detail
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 public interface EamMajorPartialRepairDetailMapper extends BaseMapper<EamMajorPartialRepairDetail> {
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java
index 8e845eb..ddc2d33 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java
@@ -2,16 +2,23 @@
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.eam.entity.EamMajorPartialRepair;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
- * @Description: 澶т慨椤逛慨
+ * @Description: eam_major_partial_repair
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 public interface EamMajorPartialRepairMapper extends BaseMapper<EamMajorPartialRepair> {
 
+    IPage<EamMajorPartialRepair> queryPageList(Page<EamMajorPartialRepair> page,
+                                               @Param(Constants.WRAPPER) Wrapper<EamMajorPartialRepair> queryWrapper);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml
index f5da47e..5ad5095 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml
@@ -2,4 +2,10 @@
 <!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.EamMajorPartialRepairMapper">
 
+    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamMajorPartialRepair">
+        select
+            t.*
+        from eam_major_partial_repair t
+        ${ew.customSqlSegment}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMajorPartialRepairQuery.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMajorPartialRepairQuery.java
new file mode 100644
index 0000000..3f1ef0a
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMajorPartialRepairQuery.java
@@ -0,0 +1,30 @@
+package org.jeecg.modules.eam.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.util.Date;
+
+@Data
+public class EamMajorPartialRepairQuery {
+    /**缁翠慨缂栫爜*/
+    private String repairCode;
+    /**椤圭洰鍚嶇О*/
+    private String repairName;
+    /**缁翠慨鐘舵��*/
+    private String repairStatus;
+    /**缁翠慨绫诲瀷*/
+    private String repairType;
+    /**璁″垝寮�濮嬫棩鏈�*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    private Date planStartDate;
+    /**璁″垝缁撴潫鏃ユ湡*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    private Date planEndDate;
+
+    private String column;
+
+    private String order;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairDetailService.java
index 81a4706..ce469b7 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairDetailService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairDetailService.java
@@ -4,9 +4,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
- * @Description: 澶т慨椤逛慨鏄庣粏琛�
+ * @Description: eam_major_partial_repair_detail
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 public interface IEamMajorPartialRepairDetailService extends IService<EamMajorPartialRepairDetail> {
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java
index 5ccf59b..b33e7a4 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java
@@ -1,14 +1,27 @@
 package org.jeecg.modules.eam.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.eam.entity.EamMajorPartialRepair;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail;
+import org.jeecg.modules.eam.request.EamMajorPartialRepairQuery;
+
+import java.util.List;
 
 /**
- * @Description: 澶т慨椤逛慨
+ * @Description: eam_major_partial_repair
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 public interface IEamMajorPartialRepairService extends IService<EamMajorPartialRepair> {
 
+    void saveMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair);
+
+    void fillResult(List<EamMajorPartialRepairDetail> detailList);
+
+    void updateMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair);
+
+    IPage<EamMajorPartialRepair> queryPageList(Page<EamMajorPartialRepair> page, EamMajorPartialRepairQuery query);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairDetailServiceImpl.java
index d2b19fd..d206752 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairDetailServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairDetailServiceImpl.java
@@ -8,9 +8,9 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 /**
- * @Description: 澶т慨椤逛慨鏄庣粏琛�
+ * @Description: eam_major_partial_repair_detail
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 @Service
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairServiceImpl.java
index df56a71..9ab3aaa 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairServiceImpl.java
@@ -1,19 +1,135 @@
 package org.jeecg.modules.eam.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.constant.DataBaseConstant;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.eam.constant.MajorPartialRepairStatusEnum;
 import org.jeecg.modules.eam.entity.EamMajorPartialRepair;
+import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail;
 import org.jeecg.modules.eam.mapper.EamMajorPartialRepairMapper;
+import org.jeecg.modules.eam.request.EamMajorPartialRepairQuery;
+import org.jeecg.modules.eam.service.IEamMajorPartialRepairDetailService;
 import org.jeecg.modules.eam.service.IEamMajorPartialRepairService;
+import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
- * @Description: 澶т慨椤逛慨
+ * @Description: eam_major_partial_repair
  * @Author: jeecg-boot
- * @Date:   2025-05-13
+ * @Date:   2025-06-20
  * @Version: V1.0
  */
 @Service
 public class EamMajorPartialRepairServiceImpl extends ServiceImpl<EamMajorPartialRepairMapper, EamMajorPartialRepair> implements IEamMajorPartialRepairService {
 
+    @Autowired
+    private ISysBusinessCodeRuleService sysBusinessCodeRuleService;
+    @Autowired
+    private IEamMajorPartialRepairDetailService eamMajorPartialRepairDetailService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair) {
+        BigDecimal totalPrice = eamMajorPartialRepair.getEamMajorPartialRepairDetailList().stream()
+                .map(EamMajorPartialRepairDetail::getUnitPrice).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
+        eamMajorPartialRepair.setRepairCode(sysBusinessCodeRuleService.generateBusinessCodeSeq("MajorPartialRepairRule"));
+        eamMajorPartialRepair.setTotalAmount(totalPrice);
+        eamMajorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name());
+        eamMajorPartialRepair.setDelFlag(CommonConstant.DEL_FLAG_0);
+        save(eamMajorPartialRepair);
+        eamMajorPartialRepair.getEamMajorPartialRepairDetailList().forEach(eamMajorPartialRepairDetail -> {
+            eamMajorPartialRepairDetail.setRepairId(eamMajorPartialRepair.getId());
+        });
+        eamMajorPartialRepairDetailService.saveBatch(eamMajorPartialRepair.getEamMajorPartialRepairDetailList());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair) {
+        eamMajorPartialRepairDetailService.remove(new LambdaQueryWrapper<EamMajorPartialRepairDetail>()
+                .eq(EamMajorPartialRepairDetail::getRepairId, eamMajorPartialRepair.getId()));
+        BigDecimal totalPrice = eamMajorPartialRepair.getEamMajorPartialRepairDetailList().stream()
+                .map(EamMajorPartialRepairDetail::getUnitPrice).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
+        eamMajorPartialRepair.setTotalAmount(totalPrice);
+        updateById(eamMajorPartialRepair);
+        eamMajorPartialRepair.getEamMajorPartialRepairDetailList().forEach(eamMajorPartialRepairDetail -> {
+            eamMajorPartialRepairDetail.setRepairId(eamMajorPartialRepair.getId());
+        });
+        eamMajorPartialRepairDetailService.saveBatch(eamMajorPartialRepair.getEamMajorPartialRepairDetailList());
+    }
+
+    @Override
+    public IPage<EamMajorPartialRepair> queryPageList(Page<EamMajorPartialRepair> page, EamMajorPartialRepairQuery query) {
+        QueryWrapper<EamMajorPartialRepair> queryWrapper = Wrappers.query();
+        if (Objects.nonNull(query)) {
+            if (StringUtils.isNotBlank(query.getRepairCode())) {
+                queryWrapper.like("t.repair_code", query.getRepairCode());
+            }
+            if (StringUtils.isNotBlank(query.getRepairName())) {
+                queryWrapper.like("t.repair_name", query.getRepairName());
+            }
+            if (StringUtils.isNotBlank(query.getRepairStatus())) {
+                queryWrapper.eq("t.repair_status", query.getRepairStatus());
+            }
+            if (StringUtils.isNotBlank(query.getRepairType())) {
+                queryWrapper.like("t.repair_type", query.getRepairType());
+            }
+            if (query.getPlanStartDate() != null && query.getPlanEndDate() != null) {
+                queryWrapper.between("t.plan_start_date", query.getPlanStartDate(), query.getPlanEndDate());
+            }
+            //鎺掑簭
+            if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) {
+                String column = query.getColumn();
+                if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) {
+                    column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
+                }
+                if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) {
+                    queryWrapper.orderByAsc("t." + oConvertUtils.camelToUnderline(column));
+                } else {
+                    queryWrapper.orderByDesc("t." + oConvertUtils.camelToUnderline(column));
+                }
+            } else {
+                queryWrapper.orderByDesc("t.create_time");
+            }
+        }
+        return this.baseMapper.queryPageList(page, queryWrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void fillResult(List<EamMajorPartialRepairDetail> detailList) {
+        List<EamMajorPartialRepairDetail> result = CollectionUtil.newArrayList();
+        detailList.forEach(eamMajorPartialRepairDetail -> {
+            EamMajorPartialRepairDetail detail = new EamMajorPartialRepairDetail();
+            detail.setId(eamMajorPartialRepairDetail.getId());
+            detail.setRepairResult(eamMajorPartialRepairDetail.getRepairResult());
+            detail.setRepairDescription(eamMajorPartialRepairDetail.getRepairDescription());
+            result.add(detail);
+        });
+        eamMajorPartialRepairDetailService.updateBatchById(result);
+        String repairId = detailList.get(0).getRepairId();
+        EamMajorPartialRepair majorPartialRepair = getById(repairId);
+        majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.COMPLETED.name());
+        majorPartialRepair.setActualEndTime(new Date());
+        updateById(majorPartialRepair);
+    }
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/LogTable.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/LogTable.java
new file mode 100644
index 0000000..d522be5
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/LogTable.java
@@ -0,0 +1,39 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Lius
+ * @date 2024/12/18 14:19
+ */
+@Data
+@TableName("log_table")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "log_table瀵硅薄", description = "sql璁板綍琛�")
+public class LogTable implements Serializable {
+
+    private static final long serialVersionUID = 953864495681756550L;
+
+    /**
+     * 鎿嶄綔绫诲瀷锛圛NSERT / UPDATE / DELETE锛�
+     */
+    private String action;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    private Date createTime;
+
+    /**
+     * sql璁板綍
+     */
+    private String sqlLog;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ImportXmlToDataJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ImportXmlToDataJob.java
new file mode 100644
index 0000000..2dee55d
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ImportXmlToDataJob.java
@@ -0,0 +1,62 @@
+package org.jeecg.modules.mdc.job;
+
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.mdc.service.ILogTableService;
+import org.jeecg.modules.mdc.util.ThrowableUtil;
+import org.jeecg.modules.quartz.entity.QuartzJob;
+import org.jeecg.modules.quartz.entity.SysQuartzLog;
+import org.jeecg.modules.quartz.service.IQuartzJobService;
+import org.jeecg.modules.quartz.service.ISysQuartzLogService;
+import org.jeecg.modules.system.service.ISysAnnouncementService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/12/19 16:43
+ */
+@Slf4j
+public class ImportXmlToDataJob implements Job {
+
+    @Resource
+    private ISysQuartzLogService sysQuartzLogService;
+
+    @Resource
+    private IQuartzJobService quartzJobService;
+
+    @Resource
+    private ISysAnnouncementService sysAnnouncementService;
+
+    @Resource
+    private ILogTableService logTableService;
+
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        SysQuartzLog quartzLog = new SysQuartzLog();
+        quartzLog.setCreateTime(new Date());
+        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
+        if (byJobClassName != null && !byJobClassName.isEmpty()) {
+            quartzLog.setJobId(byJobClassName.get(0).getId());
+        }
+        log.info("瀹氭椂瀵煎叆sql鏁版嵁浠诲姟 ImportXmlToDataJob start!  鏃堕棿:" + DateUtils.now());
+        long startTime = System.currentTimeMillis();
+        try {
+            logTableService.importXmlToData();
+            quartzLog.setIsSuccess(0);
+        } catch (Exception e) {
+            quartzLog.setIsSuccess(-1);
+            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
+            // 鍙戦�佹秷鎭�氱煡
+            sysAnnouncementService.jobSendMessage("瀹氭椂瀵煎叆sql鏁版嵁浠诲姟", quartzLog.getExceptionDetail());
+        }
+        long endTime = System.currentTimeMillis();
+        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
+        sysQuartzLogService.save(quartzLog);
+    }
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/LogTableMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/LogTableMapper.java
new file mode 100644
index 0000000..98cc17f
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/LogTableMapper.java
@@ -0,0 +1,11 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mdc.entity.LogTable;
+
+/**
+ * @author Lius
+ * @date 2024/12/18 14:24
+ */
+public interface LogTableMapper extends BaseMapper<LogTable>  {
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/LogTableMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/LogTableMapper.xml
new file mode 100644
index 0000000..3d79dd7
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/LogTableMapper.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.mdc.mapper.LogTableMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/ILogTableService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/ILogTableService.java
new file mode 100644
index 0000000..9e9f887
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/ILogTableService.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.mdc.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mdc.entity.LogTable;
+
+/**
+ * @author Lius
+ * @date 2024/12/18 14:29
+ */
+public interface ILogTableService extends IService<LogTable> {
+
+    /**
+     * 瀵煎叆鍚屾鏁版嵁sql鎵ц鍒版暟鎹簱
+     */
+    void importXmlToData();
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/LogTableServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/LogTableServiceImpl.java
new file mode 100644
index 0000000..8f5d25e
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/LogTableServiceImpl.java
@@ -0,0 +1,80 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.io.file.FileReader;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.modules.mdc.entity.LogTable;
+import org.jeecg.modules.mdc.mapper.LogTableMapper;
+import org.jeecg.modules.mdc.service.ILogTableService;
+import org.jeecg.modules.mdc.util.SqlExecutor;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/12/18 14:29
+ */
+@Service
+@Slf4j
+public class LogTableServiceImpl extends ServiceImpl<LogTableMapper, LogTable> implements ILogTableService {
+
+    @Value("${fileService.localFilePath}")
+    private String localFilePath;
+
+    @Value("${fileService.newFilePath}")
+    private String newFilePath;
+
+    @Value("${fileService.failedLocFilePath}")
+    private String failedLocFilePath;
+
+    @Resource
+    private SqlExecutor sqlExecutor;
+
+    /**
+     * 瀵煎叆鍚屾鏁版嵁sql鎵ц鍒版暟鎹簱
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void importXmlToData() {
+        File[] files = FileUtil.ls(localFilePath);
+        List<String> failedSqlList = new ArrayList<>(); // 鐢ㄤ簬瀛樺偍鎵ц澶辫触鐨� SQL
+        for (File file : files) {
+            if (file.isFile()) {
+                String loFilePath = localFilePath + file.getName();
+                FileReader fileReader = new FileReader(loFilePath);
+                List<String> sqlList = fileReader.readLines();
+                log.info("鎴愬姛璇诲彇鍒皗}鏉ql,鎵ц鎿嶄綔", sqlList.size());
+                for (String sql : sqlList) {
+                    try {
+                        sqlExecutor.execute(sql);
+                    } catch (Exception e) {
+                        failedSqlList.add(sql);
+                    }
+                }
+                if (!failedSqlList.isEmpty()) {
+                    try {
+                        FileUtil.appendLines(failedSqlList, failedLocFilePath, "UTF-8");
+                    } catch (Exception e) {
+                        throw new JeecgBootException("鏁版嵁鍐欏叆鏂囦欢澶辫触锛�");
+                    }
+                }
+
+                if (Integer.parseInt(file.getName().substring(file.getName().length() - 10, file.getName().length() - 4)) == 1) {
+                    // 鍒犻櫎鍘嗗彶鏂囦欢
+                    FileUtil.clean(newFilePath);
+                }
+
+                // 澶囦唤
+                FileUtil.move(new File(loFilePath), new File(newFilePath + file.getName()), true);
+            }
+        }
+    }
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/SqlExecutor.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/SqlExecutor.java
new file mode 100644
index 0000000..646dc55
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/SqlExecutor.java
@@ -0,0 +1,29 @@
+package org.jeecg.modules.mdc.util;
+
+import org.apache.ibatis.jdbc.SqlRunner;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @author Lius
+ * @date 2025/1/3 13:26
+ */
+@Component
+public class SqlExecutor {
+
+    @Resource
+    private SqlSessionFactory sqlSessionFactory;
+
+    public void execute(String sql) {
+        try (SqlSession sqlSession = sqlSessionFactory.openSession(true)) {
+            SqlRunner runner = new SqlRunner(sqlSession.getConnection());
+            runner.run(sql);
+        } catch (Exception e) {
+//            e.printStackTrace();
+            throw new RuntimeException("Error executing SQL: " + sql, e);
+        }
+    }
+}
diff --git a/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml b/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
index 682766c..127a534 100644
--- a/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
+++ b/lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
@@ -321,3 +321,8 @@
     interval: 10000  # 鐩戞帶闂撮殧(ms)
 security:
   encryption-key: 1234567890abcdef # 鍔犺В瀵嗙閽�
+#mdc鏂囦欢璺緞閰嶇疆
+fileService:
+  localFilePath: D:/data/sql/     #鏈湴鏂囦欢璺緞
+  newFilePath: D:/data/bak/     #澶囦唤鏂囦欢璺緞
+  failedLocFilePath: D:/data/failed/failed.sql    #澶辫触鏂囦欢璺緞
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
index b9e31ed..c9a24b8 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
@@ -445,7 +445,7 @@
             result.put("content","淇濆瓨鎴愬姛");
             results.add(result);
         }
-        return results;
+            return results;
     }
 
     @Override
diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
index cee90e8..35ae470 100644
--- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
@@ -247,6 +247,7 @@
                                     .setTypeName(name)
                                     .setStatus("1")
                                     .setLeafFlag(leafFlag)
+                                    .setEncodingType("3")
                                     .setSeq(seq)
                                     .setParentId(toolsClassify.getId())
                                     .setParaTypeFlag(paraTypeFlag);
@@ -256,6 +257,7 @@
                                     .setTypeName(name)
                                     .setStatus("1")
                                     .setLeafFlag(leafFlag)
+                                    .setEncodingType("3")
                                     .setSeq(seq)
                                     .setParentId(toolsClassify.getId())
                                     .setParaTypeFlag(paraTypeFlag);
@@ -272,6 +274,7 @@
                                 .setTypeName(name)
                                 .setStatus("1")
                                 .setLeafFlag(leafFlag)
+                                .setEncodingType("3")
                                 .setSeq(seq)
                                 .setParentId("-1")
                                 .setParaTypeFlag(paraTypeFlag);
@@ -283,6 +286,7 @@
                                 .setParentId("-1")
                                 .setSeq(seq)
                                 .setLeafFlag(leafFlag)
+                                .setEncodingType("3")
                                 .setParaTypeFlag(paraTypeFlag);
                         this.save(newToolsClassify);
                     }

--
Gitblit v1.9.3