From 0976769f6ecc75e26c9de48f23e7fcd46d858560 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期二, 24 六月 2025 17:40:26 +0800
Subject: [PATCH] 设备管理-大修项修

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MajorPartialRepairStatusEnum.java        |   12 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java                  |   11 
 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-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-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java               |   17 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java                  |   82 +++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml               |    6 
 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 ++++++++
 13 files changed, 600 insertions(+), 234 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);
+    }
+
 }

--
Gitblit v1.9.3