From df64c34d92cbe8501bbbfe837bc491a47452c0b6 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期一, 09 六月 2025 10:58:19 +0800 Subject: [PATCH] feat(eims): 新增保养工单批量修改功能并优化相关领域对象 --- eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 54 insertions(+), 1 deletions(-) diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java index 5610c22..fe4f775 100644 --- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java +++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/controller/EimsMaintOrderController.java @@ -1,11 +1,21 @@ package org.dromara.eims.controller; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.temporal.TemporalAdjusters; import java.util.List; +import java.util.Map; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.common.core.constant.DictConstants; +import org.dromara.common.core.utils.DateUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.eims.domain.bo.MaintOrderBo; +import org.dromara.eims.domain.vo.MaintOrdeGroupVo; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -46,6 +56,41 @@ return eimsMaintOrderService.queryPageListCustom(bo, pageQuery); } + + @SaCheckPermission("eims:maintOrder:list") + @GetMapping("/groupList") + public TableDataInfo<MaintOrdeGroupVo> group(EimsMaintOrderBo bo, PageQuery pageQuery) { + return eimsMaintOrderService.queryPageGroupList(bo, pageQuery); + } + + @SaCheckPermission("eims:maintOrder:list") + @GetMapping("/detailList") + public TableDataInfo<EimsMaintOrderVo> groupDetail(EimsMaintOrderBo bo, PageQuery pageQuery) { + // 杩欓噷浣跨敤mintCode浼犻�掍簡 equid + plantime + String maintCode = bo.getMaintCode(); + if (StringUtils.isEmpty(maintCode) || !maintCode.contains("_")) { + return TableDataInfo.build(new Page<>(0,0)); + } + String[] split = maintCode.split("_"); + bo.setEquId(Long.valueOf(split[0])); + bo.setMaintCode(null); + LocalDate planTime = DateUtils.parseDate(split[1]).toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDate startOfMonth = planTime.with(TemporalAdjusters.firstDayOfMonth()); + LocalDate endOfMonth = planTime.with(TemporalAdjusters.lastDayOfMonth()); + Map<String, Object> params = bo.getParams(); + params.put("beginPlanTime",startOfMonth); + params.put("endPlanTime",endOfMonth); + + TableDataInfo<EimsMaintOrderVo> tableDataInfo = eimsMaintOrderService.queryPageListCustom(bo, pageQuery); + tableDataInfo.getRows().forEach(e -> { + // 濡傛灉淇濆吇鏂规硶鏄淮淇紝鏌ヨ鍏宠仈鐨勫浠� + if (DictConstants.MAINT_METHOD_DETAIL.REPAIR.equals(e.getMaintFun())) { + e.setSpareParts(eimsMaintOrderService.querySpareParts(e.getMaintCode())); + } + }); + return tableDataInfo; + } + /** * 瀵煎嚭淇濆吇宸ュ崟鍒楄〃 */ @@ -65,7 +110,7 @@ @SaCheckPermission("eims:maintOrder:query") @GetMapping("/{id}") public R<EimsMaintOrderVo> getInfo(@NotNull(message = "涓婚敭涓嶈兘涓虹┖") - @PathVariable Long id) { + @PathVariable Long id) { return R.ok(eimsMaintOrderService.queryById(id)); } @@ -91,6 +136,14 @@ return toAjax(eimsMaintOrderService.updateByBo(bo)); } + @SaCheckPermission("eims:maintOrder:edit") + @Log(title = "淇濆吇宸ュ崟-鎵归噺淇敼", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping("editBatch") + public R<Void> editBatch(@Validated(EditGroup.class) @RequestBody MaintOrderBo bo) { + return toAjax(eimsMaintOrderService.updateBatchByBo(bo)); + } + /** * 鍒犻櫎淇濆吇宸ュ崟 * -- Gitblit v1.9.3