From ba65a8ba87c236d97dec1da5fd59c0f16fdee320 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期四, 12 六月 2025 10:38:50 +0800 Subject: [PATCH] 工具管理-修复使用MapStruct做属性复制存在的问题 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java | 81 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 78 insertions(+), 3 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..f50edfc 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; @@ -12,7 +14,12 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import org.jeecg.modules.eam.entity.EamSparePartRequisition; +import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail; +import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; +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; @@ -42,6 +49,9 @@ @Resource private IEamSparePartRequisitionService eamSparePartRequisitionService; + @Resource + private IEamSparePartRequisitionDetailService eamSparePartRequisitionDetailService; + /** * 鍒嗛〉鍒楄〃鏌ヨ * @@ -60,6 +70,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 +92,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 +110,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 +134,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 +201,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