From 7fe7b6182c2d407d28c2c9da1c070c3ce964e3e7 Mon Sep 17 00:00:00 2001
From: zhuguifei <zhuguifei@zhuguifeideiMac.local>
Date: 星期二, 20 五月 2025 10:49:14 +0800
Subject: [PATCH] 1.移动端添加自定义navbar导航栏

---
 eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java |  157 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 141 insertions(+), 16 deletions(-)

diff --git a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java
index 8fa2a81..ffdb5d5 100644
--- a/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java
+++ b/eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/EimsRepairResServiceImpl.java
@@ -3,7 +3,9 @@
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.SneakyThrows;
 import org.dromara.common.core.constant.DictConstants;
+import org.dromara.common.core.domain.model.LoginUser;
 import org.dromara.common.core.service.RepairResService;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.SpringUtils;
@@ -14,27 +16,24 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
-import org.dromara.eims.domain.EimsEqu;
-import org.dromara.eims.domain.EimsFixture;
-import org.dromara.eims.domain.EimsRepairReq;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.eims.domain.*;
+import org.dromara.eims.domain.vo.EimsEquVo;
+import org.dromara.eims.domain.vo.EimsFixtureVo;
 import org.dromara.eims.domain.vo.EimsRepairReqVo;
-import org.dromara.eims.mapper.EimsRepairReqMapper;
+import org.dromara.eims.mapper.*;
 import org.dromara.eims.utils.DataFilterUtil;
 import org.dromara.system.domain.SysDept;
 import org.dromara.system.domain.vo.SysDeptVo;
 import org.dromara.system.mapper.SysDeptMapper;
+import org.redisson.misc.LogHelper;
 import org.springframework.stereotype.Service;
 import org.dromara.eims.domain.bo.EimsRepairResBo;
 import org.dromara.eims.domain.vo.EimsRepairResVo;
-import org.dromara.eims.domain.EimsRepairRes;
-import org.dromara.eims.mapper.EimsRepairResMapper;
 import org.dromara.eims.service.IEimsRepairResService;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Collection;
+import java.util.*;
 
 /**
  * 缁翠慨宸ュ崟Service涓氬姟灞傚鐞�
@@ -49,6 +48,9 @@
     private final EimsRepairResMapper baseMapper;
     private final EimsRepairReqMapper reqMapper;
     private final SysDeptMapper deptMapper;
+    private final EimsRepairRecordMapper recordMapper;
+    private final EimsEquMapper equMapper;
+    private final EimsFixtureMapper fixtureMapper;
 
     /**
      * 鏌ヨ缁翠慨宸ュ崟
@@ -58,7 +60,32 @@
      */
     @Override
     public EimsRepairResVo queryById(Long id) {
-        return baseMapper.selectVoById(id);
+        EimsRepairResVo resVo = baseMapper.selectVoById(id);
+        Long reqId = resVo.getReqId();
+        if(reqId!=null){
+            EimsRepairReqVo reqVo = reqMapper.selectVoById(reqId);
+            resVo.setReqType(reqVo.getReqType());
+            resVo.setReqCode(reqVo.getCode());
+
+            if(reqVo.getEquId()!=null){
+                EimsEquVo equVo = equMapper.selectVoById(reqVo.getEquId());
+                if(equVo!=null){
+                    resVo.setAssetNo(equVo.getAssetNo());
+                    resVo.setEquName(equVo.getEquName());
+                }
+
+            }
+            if(reqVo.getFixtureId()!=null){
+                EimsFixtureVo fixtureVo = fixtureMapper.selectVoById(reqVo.getFixtureId());
+                if(fixtureVo!=null){
+                    resVo.setFixtureName(fixtureVo.getFixtureName());
+                    resVo.setAssetNo(fixtureVo.getAssetNo());
+                }
+            }
+
+
+        }
+        return resVo;
     }
 
     /**
@@ -98,6 +125,8 @@
             EimsRepairRes::getStartTime, params.get("beginStartTime"), params.get("endStartTime"));
         lqw.between(params.get("beginEndTime") != null && params.get("endEndTime") != null,
             EimsRepairRes::getEndTime, params.get("beginEndTime"), params.get("endEndTime"));
+        // 鎸夊垱寤烘椂闂村�掑簭
+        lqw.orderByDesc(EimsRepairRes::getCreateTime);
         return lqw;
     }
 
@@ -109,7 +138,7 @@
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public Boolean insertByBo(EimsRepairResBo bo) {
+    public synchronized Boolean insertByBo(EimsRepairResBo bo) {
         EimsRepairRes add = MapstructUtils.convert(bo, EimsRepairRes.class);
         validEntityBeforeSave(add);
         boolean flag = baseMapper.insert(add) > 0;
@@ -118,11 +147,57 @@
             // 鏂板缁翠慨宸ュ崟鐨勬椂鍊欐洿鏂版姤淇崟鏁版嵁
             EimsRepairReqVo reqVo = reqMapper.selectVoById(bo.getReqId());
             reqVo.setRepairId(add.getId());
-            reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WEIXIU);
+            reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.YIJIEDAN);
             EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class);
             reqMapper.updateById(req);
+
+            //灏嗘柊澧炴姤淇崟鏃剁淮淇褰曠殑缁翠慨宸ュ崟id鏇存柊
+            LambdaQueryWrapper<EimsRepairRecord> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(EimsRepairRecord::getReqId, add.getReqId());
+            EimsRepairRecord one = recordMapper.selectOne(queryWrapper);
+            if(one!=null){
+                one.setResId(add.getId());
+                recordMapper.updateById(one);
+            }
+
+
+            //鐢熸垚缁翠慨璁板綍
+            EimsRepairRecord record = new EimsRepairRecord();
+            record.setReqId(add.getReqId());
+            record.setResId(add.getId());
+            record.setHandleTime(new Date());
+            //鎺ュ崟鐘舵��
+            record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.YIJIEDAN);
+            record.setOperaUser(add.getCreateBy());
+            record.setOperaResult("鐢熸垚缁翠慨宸ュ崟");
+            //鏂板鏃剁敓鎴愯褰�
+            recordMapper.insert(record);
+
+
         }
         return flag;
+    }
+
+    @SneakyThrows
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Boolean insertBatchByBo(EimsRepairResBo bo){
+        String batchReqIds = bo.getBatchReqIds();
+        boolean result = StringUtils.isNotEmpty(batchReqIds);
+        for (String reqId : batchReqIds.split(",")) {
+            EimsRepairReqVo reqVo = reqMapper.selectVoById(reqId);
+            EimsRepairResBo insert = new EimsRepairResBo();
+            insert.setReqId(reqVo.getId());
+            insert.setReqUser(reqVo.getReqUser());
+            insert.setReqDept(reqVo.getReqDept());
+            insert.setResCode(reqVo.getCode().replace("BXD","WXD"));
+            insert.setResUser(bo.getResUser());
+            insert.setResDept(bo.getResDept());
+            insert.setStatus(DictConstants.REPAIR_RES_STATUS_DETAIL.YIJIEDAN);
+            Boolean b = insertByBo(insert);
+            if(!b)throw new Exception("");
+        }
+        return result;
     }
 
     /**
@@ -134,17 +209,56 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean updateByBo(EimsRepairResBo bo) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
         EimsRepairRes update = MapstructUtils.convert(bo, EimsRepairRes.class);
 
         EimsRepairResVo resVo = baseMapper.selectVoById(bo.getId());
         String status = resVo.getStatus();
-        //棣栨鏇存柊闇�瑕佸悓姝ユ洿鏂版姤淇崟鐘舵��
+        //缁翠慨宸ュ崟寮�濮嬬淮淇紝鍚屾鏇存柊鎶ヤ慨鍗� 浠ュ強 缁翠慨璁板綍
+        if (bo.getStatus().equals(DictConstants.REPAIR_RES_STATUS_DETAIL.WEIXIU) &&
+            status.equals(DictConstants.REPAIR_RES_STATUS_DETAIL.YIJIEDAN)) {
+            //1.璁剧疆寮�濮嬬淮淇椂闂�
+
+            //2.鏇存柊鎶ヤ慨鍗曚负缁翠慨鐘舵��
+            EimsRepairReqVo reqVo = reqMapper.selectVoById(bo.getReqId());
+            reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WEIXIU);
+            EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class);
+            reqMapper.updateById(req);
+
+            //3.鐢熸垚缁翠慨璁板綍
+            EimsRepairRecord record = new EimsRepairRecord();
+            record.setResId(bo.getId());
+            record.setReqId(bo.getReqId());
+            record.setHandleTime(new Date());
+            record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.WEIXIU);
+            assert loginUser != null;
+            record.setOperaUser(loginUser.getUserId());
+            record.setOperaResult("寮�濮嬬淮淇�");
+            recordMapper.insert(record);
+        }
+
+
+        //缁翠慨宸ュ崟瀹屾垚锛屽悓姝ユ洿鏂版姤淇崟 浠ュ強 缁翠慨璁板綍
         if (bo.getStatus().equals(DictConstants.REPAIR_RES_STATUS_DETAIL.WANCHENG) &&
             status.equals(DictConstants.REPAIR_RES_STATUS_DETAIL.WEIXIU)) {
+            //1.璁剧疆缁撴潫缁翠慨鏃堕棿
+
+            //2.鏇存柊鎶ヤ慨鍗曚负瀹屾垚鐘舵��
             EimsRepairReqVo reqVo = reqMapper.selectVoById(bo.getReqId());
             reqVo.setStatus(DictConstants.REPAIR_REQ_STATUS_DETAIL.WANCHENG);
             EimsRepairReq req = MapstructUtils.convert(reqVo, EimsRepairReq.class);
             reqMapper.updateById(req);
+
+            //3.鐢熸垚缁翠慨璁板綍
+            EimsRepairRecord record = new EimsRepairRecord();
+            record.setResId(bo.getId());
+            record.setReqId(bo.getReqId());
+            record.setHandleTime(new Date());
+            record.setOpera(DictConstants.REPAIR_RECORD_HANDLE_DETAIL.WANCHENG);
+            assert loginUser != null;
+            record.setOperaUser(loginUser.getUserId());
+            record.setOperaResult("瀹屾垚缁翠慨宸ュ崟");
+            recordMapper.insert(record);
         }
         validEntityBeforeSave(update);
         return baseMapper.updateById(update) > 0;
@@ -174,6 +288,7 @@
 
     @Override
     public TableDataInfo<EimsRepairResVo> queryPageListCustom(EimsRepairResBo bo, PageQuery pageQuery) {
+        DataFilterUtil.getInstance().filterRepairRes(bo);
         Page<EimsRepairResVo> page = baseMapper.selectRepairResList(pageQuery.build(), buildWrapper(bo));
         return TableDataInfo.build(page);
     }
@@ -184,9 +299,19 @@
         qw.like(StringUtils.isNotBlank(bo.getResCode()), "res.res_code", bo.getResCode());
         qw.like(StringUtils.isNotBlank(bo.getReqCode()), "req.code", bo.getReqCode());
         qw.eq(bo.getResUser() != null, "res.res_user", bo.getResUser());
+        qw.eq(bo.getReqType() != null, "req.req_type", bo.getReqType());
+        qw.eq(bo.getReqUser() != null, "res.req_user", bo.getReqUser());
+        qw.eq(bo.getAssetNo() != null, "equ.asset_no", bo.getAssetNo());
 
-        List<Long> allDescendantIds = getAllDescendantIds(bo.getResDept());
-        qw.in(bo.getResDept() != null, "res.res_dept", allDescendantIds);
+        qw.between(params.get("beginReqTime") != null && params.get("endReqTime") != null,
+            "req.req_time", params.get("beginReqTime"), params.get("endReqTime"));
+
+        List<Long> resDeptIds = getAllDescendantIds(bo.getResDept());
+        qw.in(bo.getResDept() != null, "res.res_dept", resDeptIds);
+
+        List<Long> reqDeptIds = getAllDescendantIds(bo.getReqDept());
+        qw.in(bo.getReqDept() != null, "res.req_dept", reqDeptIds);
+
 
         qw.eq(StringUtils.isNotBlank(bo.getStatus()), "res.status", bo.getStatus());
         qw.orderByDesc("res.create_time");

--
Gitblit v1.9.3