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/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java |  257 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 193 insertions(+), 64 deletions(-)

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);
+    }
 
 }

--
Gitblit v1.9.3