From bc8cd378fd72f43e66120c540f57f630580aa093 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 11 九月 2025 10:57:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java |   81 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 76 insertions(+), 5 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java
index 7d973b6..6ed9eb7 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java
@@ -1,6 +1,8 @@
 package org.jeecg.modules.eam.controller;
 
 import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -13,6 +15,9 @@
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.entity.EamSparePartRequisition;
+import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail;
+import org.jeecg.modules.eam.request.EamSparePartRequisitionRequest;
+import org.jeecg.modules.eam.service.IEamSparePartRequisitionDetailService;
 import org.jeecg.modules.eam.service.IEamSparePartRequisitionService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -20,8 +25,6 @@
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.system.base.controller.JeecgController;
 
-import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 import io.swagger.annotations.Api;
@@ -42,6 +45,9 @@
     @Resource
     private IEamSparePartRequisitionService eamSparePartRequisitionService;
 
+    @Resource
+    private IEamSparePartRequisitionDetailService eamSparePartRequisitionDetailService;
+
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
@@ -60,6 +66,11 @@
         QueryWrapper<EamSparePartRequisition> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartRequisition, req.getParameterMap());
         Page<EamSparePartRequisition> page = new Page<EamSparePartRequisition>(pageNo, pageSize);
         IPage<EamSparePartRequisition> pageList = eamSparePartRequisitionService.page(page, queryWrapper);
+        for (EamSparePartRequisition record : pageList.getRecords()) {
+            List<EamSparePartRequisitionDetail> details = eamSparePartRequisitionDetailService.lambdaQuery()
+                    .eq(EamSparePartRequisitionDetail::getSpareRequisitionId, record.getId()).list();
+            record.setSparePartRequisitionDetails(details);
+        }
         return Result.OK(pageList);
     }
 
@@ -77,6 +88,11 @@
         String realName = user.getRealname();
         eamSparePartRequisition.setReportUser(realName);
         eamSparePartRequisitionService.save(eamSparePartRequisition);
+        for (EamSparePartRequisitionDetail sparePartRequisitionDetail : eamSparePartRequisition.getSparePartRequisitionDetails()) {
+            sparePartRequisitionDetail.setSpareRequisitionId(eamSparePartRequisition.getId());
+            eamSparePartRequisitionDetailService.saveOrUpdate(sparePartRequisitionDetail);
+        }
+
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -90,6 +106,18 @@
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<?> edit(@RequestBody EamSparePartRequisition eamSparePartRequisition) {
         eamSparePartRequisitionService.updateById(eamSparePartRequisition);
+
+        List<EamSparePartRequisitionDetail> details = eamSparePartRequisitionDetailService.lambdaQuery()
+                .eq(EamSparePartRequisitionDetail::getSpareRequisitionId, eamSparePartRequisition.getId()).list();
+        for (EamSparePartRequisitionDetail detail : details) {
+            eamSparePartRequisitionDetailService.removeById(detail.getId());
+        }
+
+        for (EamSparePartRequisitionDetail sparePartRequisitionDetail : eamSparePartRequisition.getSparePartRequisitionDetails()) {
+            sparePartRequisitionDetail.setSpareRequisitionId(eamSparePartRequisition.getId());
+            eamSparePartRequisitionDetailService.saveOrUpdate(sparePartRequisitionDetail);
+        }
+
         return Result.OK("缂栬緫鎴愬姛!");
     }
 
@@ -102,6 +130,11 @@
     @ApiOperation(value = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎", notes = "澶囦欢璇疯喘鍗�-閫氳繃id鍒犻櫎")
     @DeleteMapping(value = "/delete")
     public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        List<EamSparePartRequisitionDetail> details = eamSparePartRequisitionDetailService.lambdaQuery()
+                .eq(EamSparePartRequisitionDetail::getSpareRequisitionId, id).list();
+        for (EamSparePartRequisitionDetail detail : details) {
+            eamSparePartRequisitionDetailService.removeById(detail.getId());
+        }
         eamSparePartRequisitionService.removeById(id);
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
@@ -164,9 +197,47 @@
     @ApiOperation(value = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�", notes = "澶囦欢璇疯喘鍗�-鎻愪氦璇疯喘鍗�")
     @PostMapping(value = "/submitSpareRequisition")
     public Result<?> submitSpareRequisition(@RequestBody EamSparePartRequisition eamSparePartRequisition) {
-        eamSparePartRequisition.setRequisitionStatus(BusinessCodeConst.SPARE_REQUISITION_STATUS_2);
-        eamSparePartRequisitionService.updateById(eamSparePartRequisition);
-        return Result.OK("鎻愪氦鎴愬姛锛�");
+//        eamSparePartRequisition.setRequisitionStatus(BusinessCodeConst.SPARE_REQUISITION_STATUS_2);
+//        eamSparePartRequisitionService.updateById(eamSparePartRequisition);
+        boolean b = eamSparePartRequisitionService.submitSpareRequisition(eamSparePartRequisition);
+        if (!b) {
+            return Result.error("鎻愪氦澶辫触锛�");
+        }
+        return Result.OK("鎻愪氦鎴愬姛!");
+    }
+
+    @GetMapping(value = "/getSparePartRequisitionList")
+    public Result<?> getSparePartRequisitionList(EamSparePartRequisition eamSparePartRequisition,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<EamSparePartRequisition> queryWrapper = QueryGenerator.initQueryWrapper(eamSparePartRequisition, req.getParameterMap());
+        Page<EamSparePartRequisition> page = new Page<EamSparePartRequisition>(pageNo, pageSize);
+        IPage<EamSparePartRequisition> pageList = eamSparePartRequisitionService.page(page, queryWrapper);
+        List<EamSparePartRequisition> records = pageList.getRecords();
+        for (EamSparePartRequisition record : records) {
+            String id = record.getId();
+            List<Map<String, Object>> sparePartRequisitionDetailList = eamSparePartRequisitionService.getSparePartRequisitionDetailList(id);
+            record.setSparePartRequisitionDetailList(sparePartRequisitionDetailList);
+        }
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 瀹℃牳
+     */
+    @AutoLog(value = "澶囦欢璇疯喘-瀹℃壒娴�")
+    @ApiOperation(value = "澶囦欢璇疯喘-瀹℃壒娴�", notes = "澶囦欢璇疯喘-瀹℃壒娴�")
+    @RequestMapping(value = "/approval", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> approval(@RequestBody EamSparePartRequisitionRequest request) {
+        if (request == null) {
+            return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒");
+        }
+        EamSparePartRequisition entity = eamSparePartRequisitionService.approval(request);
+        if (entity == null) {
+            return Result.error("鎿嶄綔澶辫触锛�");
+        }
+        return Result.OK("鎿嶄綔鎴愬姛!");
     }
 
     /**

--
Gitblit v1.9.3