From 88f2a615a6c547adfd992334f42d7cd4aea8d55b Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 11 十月 2025 11:28:12 +0800
Subject: [PATCH] 资产报修

---
 ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java              |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java      |    6 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java                        |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java              |   39 +++-
 ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java                          |   22 +-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java       |   75 ++++----
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRequestItemServiceImpl.java |    8 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java                 |    1 
 ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java                        |   12 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java           |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java               |    3 
 ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml                               |    4 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java        |   59 +++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java            |    2 
 ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml                       |   31 +++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRequestItemMapper.java            |    6 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java                             |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairListVO.java                           |   34 ++++
 ruoyi-common/src/main/java/com/ruoyi/common/utils/IDCardUtils.java                              |   10 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/AddAssetRepairRequestDTO.java                   |    9 
 ruoyi-common/src/main/java/com/ruoyi/common/utils/TimeConverter.java                            |   10 
 ruoyi-system/src/main/resources/mapper/system/AssetRepairRequestItemMapper.xml                  |   23 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/util/MainApp.java                                       |   31 ---
 ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRequestItemService.java          |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java                       |    6 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetMainServiceImpl.java              |   42 ++--
 26 files changed, 305 insertions(+), 144 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java
index 38d3d8b..4f34495 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java
@@ -5,6 +5,7 @@
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.TDept;
 import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.enums.BusinessType;
@@ -12,14 +13,19 @@
 import com.ruoyi.system.dto.AddAssetRepairRequestDTO;
 import com.ruoyi.system.dto.AddContractDTO;
 import com.ruoyi.system.model.AssetMain;
+import com.ruoyi.system.model.AssetRepairRequest;
 import com.ruoyi.system.model.AssetRepairRequestItem;
 import com.ruoyi.system.query.AssetRepairRequestListQuery;
 import com.ruoyi.system.query.AssetStatisticsListQuery;
 import com.ruoyi.system.service.*;
+import com.ruoyi.system.vo.AssetRepairListVO;
 import com.ruoyi.system.vo.AssetRepairRequestVO;
 import com.ruoyi.system.vo.AssetStatisticsVO;
+import com.ruoyi.system.vo.GrabListVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -48,11 +54,15 @@
     @Resource
     private AssetRepairRequestService assetRepairRequestService;
     @Resource
+    private OaApprovalApplicationAssetItemService approvalApplicationAssetItemService;
+    @Resource
     private AssetRepairRequestItemService assetRepairRequestItemService;
     @Autowired
     private TokenService tokenService;
     @Autowired
     private TDeptService deptService;
+    @Autowired
+    private ISysUserService sysUserService;
     @Resource
     private AssetMainService assetMainService;
 
@@ -65,25 +75,54 @@
             return R.ok(new PageInfo<>());
         } else {
             query.setDeptIds(deptIds);
+            List<Long> userIds = sysUserService.selectAllList().stream().filter(e -> deptIds.contains(Integer.valueOf(e.getDeptId())))
+                    .map(SysUser::getUserId).collect(Collectors.toList());
+            if (userIds.isEmpty()){
+                return R.ok(new PageInfo<>());
+            }
+        }
+
+        return R.ok(assetRepairRecordService.pageList(query));
+    }
+    @ApiOperation("资产报修不分页列表")
+    @PostMapping("/listAll")
+    public R<List<AssetRepairRequestVO>> listAll(@RequestBody AssetRepairRequestListQuery query) {
+        String deptId = tokenService.getLoginUser().getDeptId();
+        List<Integer> deptIds = deptService.getAllSubDeptIds(deptId);
+        if (deptIds.isEmpty()) {
+            return R.ok(new ArrayList<>());
+        } else {
+            query.setDeptIds(deptIds);
+            List<Long> userIds = sysUserService.selectAllList().stream().filter(e -> deptIds.contains(Integer.valueOf(e.getDeptId())))
+                    .map(SysUser::getUserId).collect(Collectors.toList());
+            if (userIds.isEmpty()){
+                return R.ok(new ArrayList<>());
+            }
         }
         List<Integer> assetMainIds = assetMainService.lambdaQuery().in(AssetMain::getOwnershipDeptId, deptIds).list()
                 .stream().map(AssetMain::getId).collect(Collectors.toList());
         if (assetMainIds.isEmpty()){
-            return R.ok(new PageInfo<>());
+            return R.ok(new ArrayList<>());
         }
         query.setAssetMainIds(assetMainIds);
-        return R.ok(assetRepairRecordService.pageList(query));
+        return R.ok(assetRepairRecordService.listAll(query));
     }
     @Log(title = "资产报修-新增", businessType = BusinessType.INSERT)
     @ApiOperation(value = "资产报修新增")
     @PostMapping(value = "/add")
     public R add(@RequestBody AddAssetRepairRequestDTO dto) {
+        dto.setRepairNo("1");
+        Long userId = tokenService.getLoginUser().getUserId();
+        dto.setReporterId(userId.intValue());
         assetRepairRequestService.save(dto);
+        for (AssetRepairRequestItem assetRepairRequestItem : dto.getList()) {
+            assetRepairRequestItem.setRepairRequestId(dto.getId());
+        }
         assetRepairRequestItemService.saveBatch(dto.getList());
         return R.ok();
 
     }
-    @Log(title = "资产报修-编辑", businessType = BusinessType.INSERT)
+    @Log(title = "资产报修-编辑", businessType = BusinessType.UPDATE)
     @ApiOperation(value = "资产报修编辑")
     @PostMapping(value = "/update")
     public R update(@RequestBody AddAssetRepairRequestDTO dto) {
@@ -93,6 +132,20 @@
         assetRepairRequestItemService.saveBatch(dto.getList());
         return R.ok();
     }
+    @ApiOperation(value = "资产报修详情")
+    @GetMapping(value = "/detail")
+    public R<AddAssetRepairRequestDTO> detail(Integer id) {
+        AddAssetRepairRequestDTO res = new AddAssetRepairRequestDTO();
+        AssetRepairRequest assetRepairRequest = assetRepairRequestService.getById(id);
+        BeanUtils.copyProperties(assetRepairRequest, res);
+        List<AssetRepairListVO> items = assetRepairRequestItemService.listDetail(id);
+        res.setListDetail(items);
+        SysUser sysUser = sysUserService.selectUserById(Long.valueOf(assetRepairRequest.getReporterId()));
+        if (sysUser!=null){
+            res.setReporterName(sysUser.getNickName());
+        }
+        return R.ok(res);
+    }
     @Log(title = "资产报修-删除", businessType = BusinessType.DELETE)
     @ApiOperation(value = "资产报修-删除")
     @DeleteMapping(value = "/delete")
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java
index a24ffe2..65c9707 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java
@@ -192,10 +192,10 @@
                 query.setDeptIds(deptIds);
             }
         }
-        String[] dateList = query.getDate().split(",");
+        String[] dateList = query.getDate().split("-");
         String month = dateList[1];
         int monthValue = Integer.parseInt(month);
-        int year = LocalDateTime.now().getYear();
+        int year = Integer.parseInt(dateList[0]);
         LocalDateTime firstDay = LocalDateTime.of(year, monthValue, 1, 0, 0, 0);
         LocalDateTime lastDay = LocalDateTime.of(year, monthValue,
                 YearMonth.of(year, monthValue).lengthOfMonth(), 23, 59, 59);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
index 549aa10..192d1eb 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
@@ -11,47 +11,11 @@
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.dto.AuditDTO;
 import com.ruoyi.system.emums.ApprovalTypeEnum;
-import com.ruoyi.system.model.AssetMain;
-import com.ruoyi.system.model.AssetType;
-import com.ruoyi.system.model.OaApproval;
-import com.ruoyi.system.model.OaApprovalApplicationAdvertisement;
-import com.ruoyi.system.model.OaApprovalApplicationAsset;
-import com.ruoyi.system.model.OaApprovalApplicationAssetItem;
-import com.ruoyi.system.model.OaApprovalApplicationAttendance;
-import com.ruoyi.system.model.OaApprovalApplicationChange;
-import com.ruoyi.system.model.OaApprovalApplicationContract;
-import com.ruoyi.system.model.OaApprovalApplicationDispose;
-import com.ruoyi.system.model.OaApprovalApplicationMoney;
-import com.ruoyi.system.model.OaApprovalApplicationPayment;
-import com.ruoyi.system.model.OaApprovalApplicationPurchase;
-import com.ruoyi.system.model.OaApprovalApplicationReimbursement;
-import com.ruoyi.system.model.OaApprovalApplicationReimbursementItem;
-import com.ruoyi.system.model.OaApprovalApplicationStorage;
-import com.ruoyi.system.model.OaApprovalApplications;
-import com.ruoyi.system.model.OaApprovalFlowAudit;
-import com.ruoyi.system.model.OaApprovalFlowNode;
-import com.ruoyi.system.model.OaApprovalTodo;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.ApprovalDetailQuery;
 import com.ruoyi.system.query.ApprovalTodoListQuery;
-import com.ruoyi.system.service.AssetMainService;
-import com.ruoyi.system.service.AssetTypeService;
-import com.ruoyi.system.service.ISysUserService;
-import com.ruoyi.system.service.OaApprovalApplicationAdvertisementService;
-import com.ruoyi.system.service.OaApprovalApplicationAssetItemService;
-import com.ruoyi.system.service.OaApprovalApplicationAssetService;
-import com.ruoyi.system.service.OaApprovalApplicationAttendanceService;
-import com.ruoyi.system.service.OaApprovalApplicationChangeService;
-import com.ruoyi.system.service.OaApprovalApplicationContactService;
-import com.ruoyi.system.service.OaApprovalApplicationContractService;
-import com.ruoyi.system.service.OaApprovalApplicationDisposeService;
-import com.ruoyi.system.service.OaApprovalApplicationMoneyService;
-import com.ruoyi.system.service.OaApprovalApplicationPaymentService;
-import com.ruoyi.system.service.OaApprovalApplicationPurchaseItemService;
-import com.ruoyi.system.service.OaApprovalApplicationPurchaseService;
-import com.ruoyi.system.service.OaApprovalApplicationReimbursementItemService;
-import com.ruoyi.system.service.OaApprovalApplicationReimbursementService;
-import com.ruoyi.system.service.OaApprovalApplicationStorageAssetService;
-import com.ruoyi.system.service.OaApprovalApplicationStorageService;
+import com.ruoyi.system.service.*;
+
 import com.ruoyi.system.service.OaApprovalApplicationsService;
 import com.ruoyi.system.service.OaApprovalFlowAuditService;
 import com.ruoyi.system.service.OaApprovalFlowNodeService;
@@ -144,6 +108,9 @@
     private OaApprovalApplicationMoneyService approvalApplicationMoneyService;
     @Resource
     private AssetMainService assetMainService;
+    @Resource
+
+    private AssetInventoryRecordService assetInventoryRecordService;
     @Resource
     private OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService;
     @Resource
@@ -655,20 +622,29 @@
                                 borrowApplications.setReturnStatus(0);
                             }
                             approvalApplicationAssetService.updateById(borrowApplications);
+                            saveAssetRecord(0,ApprovalTypeEnum.RETURN.getDesc(),back.stream().map(OaApprovalApplicationAssetItem::getAssetMainId)
+                                    .collect(Collectors.toList()));
+
                         case 10:
                             assetMains.forEach(assetMain -> {
                                 assetMain.setDisposed(1);
                             });
+                            saveAssetRecord(null,ApprovalTypeEnum.ASSET_DISPOSE.getDesc(),assetMains
+                                    .stream().map(AssetMain::getId).collect(Collectors.toList()));
                             break;
                         case 7:
                             assetMains.forEach(assetMain -> {
                                 assetMain.setInUse(1);
                             });
+                            saveAssetRecord(1,ApprovalTypeEnum.GRAB.getDesc(),assetMains
+                                    .stream().map(AssetMain::getId).collect(Collectors.toList()));
                             break;
                         default:
                             assetMains.forEach(assetMain -> {
                                 assetMain.setBorrowed(1);
                             });
+                            saveAssetRecord(1,ApprovalTypeEnum.BORROW.getDesc(),assetMains
+                                    .stream().map(AssetMain::getId).collect(Collectors.toList()));
                             break;
                     }
                     assetMainService.updateBatchById(assetMains);
@@ -677,6 +653,14 @@
                 if (approval.getApprovalCategory().equals(ApprovalTypeEnum.IN_STOCK.getCode())) {
                     assetMainService.saveAssetByApprovalApplicationId(approvalApplications.getId());
                 }
+                // 资产变更
+                if (approval.getApprovalCategory().equals(ApprovalTypeEnum.ASSET_CHANGE.getCode())) {
+                    List<OaApprovalApplicationAssetItem> approvalApplicationAssetItems = approvalApplicationAssetItemService.lambdaQuery()
+                            .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, approvalApplications.getId()).list();
+                    List<Integer> AssetMainIds = approvalApplicationAssetItems.stream().map(OaApprovalApplicationAssetItem::getAssetMainId).collect(Collectors.toList());
+                    saveAssetRecord(1,ApprovalTypeEnum.ASSET_CHANGE.getDesc(),AssetMainIds);
+                }
+
             } else {
                 log.info("不为最后一个审批节点");
                 // 生成下一个节点的待办事项
@@ -695,6 +679,19 @@
             }
         }
         return R.ok();
+    }
 
+    private  void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) {
+        List<AssetInventoryRecord> res = new ArrayList<>();
+        Map<Integer, Integer> warehouseMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId));
+        for (Integer assetMainId : assetMainIds) {
+            AssetInventoryRecord assetInventoryRecord = new AssetInventoryRecord();
+            assetInventoryRecord.setAssetMainId(assetMainId);
+            assetInventoryRecord.setWarehouseId(warehouseMap.get(assetMainId));
+            assetInventoryRecord.setType(type);
+            assetInventoryRecord.setRemarks(approvalType);
+            res.add(assetInventoryRecord);
+        }
+        assetInventoryRecordService.saveBatch(res);
     }
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
index 0b4f34c..5a98d3a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
@@ -94,9 +94,7 @@
     private OaApprovalFlowService  approvalFlowService;
 
 
-    public static void main(String[] args) {
 
-    }
     @ApiOperation("待办事项列表")
     @PostMapping("/pageList")
     public R<PageInfo<ApprovalTodoVO>> pageList(@RequestBody ApprovalTodoListQuery query) {
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/util/MainApp.java b/ruoyi-admin/src/main/java/com/ruoyi/web/util/MainApp.java
index e48c99c..0d4805d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/util/MainApp.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/util/MainApp.java
@@ -8,36 +8,5 @@
 import java.util.List;
 
 public class MainApp {
-    public static void main(String[] args) {
-        double startLat = 39.9042;
-        double startLon = 118.4074;
-        double endLat = 39.9042;
-        double endLon = 119.4074;
 
-        double userLat = 39.9042;
-        double userLon = 116.4074;
-
-        double radius = 50; // 单位:米
-        int segments = 4;   // 四段,共 5 个点
-        try {
-            String routeJson = AmapApiClient.getDrivingRoute(startLat, startLon, endLat, endLon);
-            // 转化为json对象
-            JSONObject jsonObject = JSONObject.parseObject(routeJson);
-            JSONObject route = jsonObject.getJSONObject("route");
-            JSONArray paths = route.getJSONArray("paths");
-            JSONObject o = (JSONObject)paths.get(0);
-            BigDecimal distance = o.getBigDecimal("distance");
-            System.err.println( paths);
-
-            List<double[]> fivePoints = PathParser.parseAndInterpolate(routeJson, segments,startLat, startLon, endLat, endLon);
-
-            if (GeoChecker.isInAnyCircle(userLat, userLon, fivePoints, radius)) {
-                System.out.println("✅ 成功!您位于某个圆形电子围栏范围内。");
-            } else {
-                System.out.println("❌ 失败!您不在任何圆形电子围栏范围内。");
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java
index fe7d2df..28ff495 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CodeGenerateUtils.java
@@ -88,11 +88,11 @@
         return dateTime + code + timestampPart;
     }
 
-    public static void main(String[] args) {
-        for (int i = 0; i < 5; i++) {
-            System.err.println(generateVolumeSn());
-
-        }
-    }
+//    public static void main(String[] args) {
+//        for (int i = 0; i < 5; i++) {
+//            System.err.println(generateVolumeSn());
+//
+//        }
+//    }
 
 }
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/IDCardUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/IDCardUtils.java
index dde704d..534baff 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/IDCardUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/IDCardUtils.java
@@ -2,11 +2,11 @@
 
 public class IDCardUtils {
 
-    public static void main(String[] args) {
-        String idCardNumber = "110101199001011234";
-        String birthday = getBirthdayFromIdCard(idCardNumber);
-        System.out.println("出生日期为:" + birthday);
-    }
+//    public static void main(String[] args) {
+//        String idCardNumber = "110101199001011234";
+//        String birthday = getBirthdayFromIdCard(idCardNumber);
+//        System.out.println("出生日期为:" + birthday);
+//    }
 
     public static String getBirthdayFromIdCard(String idCardNumber) {
         String birthday = idCardNumber.substring(6, 14);
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/TimeConverter.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/TimeConverter.java
index 6715f60..42fd58e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/TimeConverter.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/TimeConverter.java
@@ -11,9 +11,9 @@
         return String.format("%02d",hours) + ":" + String.format("%02d",minutes) + ":" + String.format("%02d",remainingSeconds);
     }
 
-    public static void main(String[] args) {
-        Long totalSeconds = 44871L;
-        String hms = convertSecondsToHMS(totalSeconds);
-        System.out.println(hms);
-    }
+//    public static void main(String[] args) {
+//        Long totalSeconds = 44871L;
+//        String hms = convertSecondsToHMS(totalSeconds);
+//        System.out.println(hms);
+//    }
 }
\ No newline at end of file
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
index f52e83e..82a1e4a 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
@@ -153,15 +153,15 @@
         return tmp.toString();
     }
 
-    public static void main(String[] args)
-    {
-        String html = "<script>alert(1);</script>";
-        String escape = EscapeUtil.escape(html);
-        // String html = "<scr<script>ipt>alert(\"XSS\")</scr<script>ipt>";
-        // String html = "<123";
-        // String html = "123>";
-        System.out.println("clean: " + EscapeUtil.clean(html));
-        System.out.println("escape: " + escape);
-        System.out.println("unescape: " + EscapeUtil.unescape(escape));
-    }
+//    public static void main(String[] args)
+//    {
+//        String html = "<script>alert(1);</script>";
+//        String escape = EscapeUtil.escape(html);
+//        // String html = "<scr<script>ipt>alert(\"XSS\")</scr<script>ipt>";
+//        // String html = "<123";
+//        // String html = "123>";
+//        System.out.println("clean: " + EscapeUtil.clean(html));
+//        System.out.println("escape: " + escape);
+//        System.out.println("unescape: " + EscapeUtil.unescape(escape));
+//    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddAssetRepairRequestDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddAssetRepairRequestDTO.java
index a3e89ce..3c983c0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddAssetRepairRequestDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AddAssetRepairRequestDTO.java
@@ -2,6 +2,8 @@
 
 import com.ruoyi.system.model.AssetRepairRequest;
 import com.ruoyi.system.model.AssetRepairRequestItem;
+import com.ruoyi.system.vo.AssetRepairListVO;
+import com.ruoyi.system.vo.GrabListVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -14,8 +16,11 @@
 public class AddAssetRepairRequestDTO extends AssetRepairRequest {
 
 
-
-    @ApiModelProperty(value = "报修资产列表")
+    @ApiModelProperty(value = "报修人")
+    private String reporterName;
+    @ApiModelProperty(value = "新增使用报修资产列表")
     private List<AssetRepairRequestItem> list;
+    @ApiModelProperty(value = "详情使用报修资产列表")
+    private List<AssetRepairListVO> listDetail;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java
index 43e8c4e..fe565f7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java
@@ -34,4 +34,5 @@
      */
     IPage<AssetRepairRecordPageVO> getRepairRecordPageList(Page<AssetRepairRecordPageVO> page, @Param("query") AssetRepairRecordPageQuery pageQuery);
 
+    List<AssetRepairRequestVO> listAll(@Param("query")AssetRepairRequestListQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRequestItemMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRequestItemMapper.java
index 020c68b..929407c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRequestItemMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRequestItemMapper.java
@@ -2,6 +2,10 @@
 
 import com.ruoyi.system.model.AssetRepairRequestItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.system.vo.AssetRepairListVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,6 @@
  */
 public interface AssetRepairRequestItemMapper extends BaseMapper<AssetRepairRequestItem> {
 
+    List<AssetRepairListVO> listDetail(@Param("id") Integer id);
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java
index 5cf751a..7176496 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -46,6 +47,7 @@
 
     @ApiModelProperty(value = "报修时间")
     @TableField("report_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime reportTime;
 
     @ApiModelProperty(value = "报修资产类型ID")
@@ -54,10 +56,12 @@
 
     @ApiModelProperty(value = "紧急程度:0-高、1-中、2-低")
     @TableField("urgency_level")
-    private Boolean urgencyLevel;
+    private Integer urgencyLevel;
 
     @ApiModelProperty(value = "期望维修时间")
     @TableField("expected_repair_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+
     private LocalDateTime expectedRepairTime;
 
     @ApiModelProperty(value = "报修内容")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java
index 7527349..6b5d202 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java
@@ -18,4 +18,6 @@
     private List<Integer> assetMainIds;
     @ApiModelProperty(value = "部门id 前端忽略")
     private List<Integer> deptIds;
+    @ApiModelProperty(value = "userIdS 前端忽略")
+    private List<Long> userIds;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java
index 0ea19c3..08bf94b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java
@@ -11,6 +11,8 @@
 import com.ruoyi.system.vo.AssetStatisticsVO;
 import com.ruoyi.system.vo.asset.AssetRepairRecordPageVO;
 
+import java.util.List;
+
 /**
  * <p>
  * 资产维修主表 服务类
@@ -30,4 +32,5 @@
      */
     IPage<AssetRepairRecordPageVO> getRepairRecordPageList(AssetRepairRecordPageQuery pageQuery);
 
+    List<AssetRepairRequestVO> listAll(AssetRepairRequestListQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRequestItemService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRequestItemService.java
index f006008..99c6f20 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRequestItemService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRequestItemService.java
@@ -2,6 +2,9 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.system.model.AssetRepairRequestItem;
+import com.ruoyi.system.vo.AssetRepairListVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@
  */
 public interface AssetRepairRequestItemService extends IService<AssetRepairRequestItem> {
 
+    List<AssetRepairListVO> listDetail(Integer id);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetMainServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetMainServiceImpl.java
index 3a144ff..0e8b51d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetMainServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetMainServiceImpl.java
@@ -8,32 +8,16 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.entity.TDept;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.emums.ApprovalTypeEnum;
 import com.ruoyi.system.mapper.AssetMainMapper;
 import com.ruoyi.system.mapper.AssetPropertyExtMapper;
 import com.ruoyi.system.mapper.AssetVehicleExtMapper;
 import com.ruoyi.system.mapper.OaApprovalApplicationStorageAssetMapper;
 import com.ruoyi.system.mapper.OaApprovalApplicationStorageAssetPropertyExtMapper;
 import com.ruoyi.system.mapper.OaApprovalApplicationStorageAssetVehicleExtMapper;
-import com.ruoyi.system.model.AssetMain;
-import com.ruoyi.system.model.AssetPropertyExt;
-import com.ruoyi.system.model.AssetType;
-import com.ruoyi.system.model.AssetVehicleExt;
-import com.ruoyi.system.model.AssetWarehouse;
-import com.ruoyi.system.model.OaApprovalApplicationStorage;
-import com.ruoyi.system.model.OaApprovalApplicationStorageAsset;
-import com.ruoyi.system.model.OaApprovalApplicationStorageAssetPropertyExt;
-import com.ruoyi.system.model.OaApprovalApplicationStorageAssetVehicleExt;
+import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.AssetMainPageQuery;
-import com.ruoyi.system.service.AssetMainService;
-import com.ruoyi.system.service.AssetPropertyExtService;
-import com.ruoyi.system.service.AssetTypeService;
-import com.ruoyi.system.service.AssetVehicleExtService;
-import com.ruoyi.system.service.AssetWarehouseService;
-import com.ruoyi.system.service.OaApprovalApplicationStorageAssetPropertyExtService;
-import com.ruoyi.system.service.OaApprovalApplicationStorageAssetService;
-import com.ruoyi.system.service.OaApprovalApplicationStorageAssetVehicleExtService;
-import com.ruoyi.system.service.OaApprovalApplicationStorageService;
-import com.ruoyi.system.service.TDeptService;
+import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.asset.AssetMainPageVO;
 import com.ruoyi.system.vo.asset.AssetMainVO;
 import lombok.RequiredArgsConstructor;
@@ -59,6 +43,8 @@
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class AssetMainServiceImpl extends ServiceImpl<AssetMainMapper, AssetMain> implements AssetMainService {
     private final AssetTypeService assetTypeService;
+    private final AssetMainService assetMainService;
+    private final AssetInventoryRecordService assetInventoryRecordService;
     private final OaApprovalApplicationStorageAssetService oaApprovalApplicationStorageAssetService;
     private final OaApprovalApplicationStorageService oaApprovalApplicationStorageService;
     private final OaApprovalApplicationStorageAssetPropertyExtService oaApprovalApplicationStorageAssetPropertyExtService;
@@ -182,7 +168,8 @@
         // 批量保存资产主表
         if (!assetMainList.isEmpty()) {
             this.saveBatch(assetMainList);
-            
+            saveAssetRecord(0, ApprovalTypeEnum.IN_STOCK.getDesc(),assetMainList.stream().map(AssetMain::getId)
+                    .collect(Collectors.toList()));
             // 建立storageAssetId到assetMainId的映射关系
             int assetMainIndex = 0;
             for (OaApprovalApplicationStorageAsset storageAsset : storageAssets) {
@@ -199,7 +186,20 @@
             saveExtensionInfoBatch(storageAssetIdToAssetMainIdMap, storageAssetIdToAssetTypeMap);
         }
     }
-    
+    private  void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) {
+        List<AssetInventoryRecord> res = new ArrayList<>();
+        Map<Integer, Integer> warehouseMap = assetMainService.list(new LambdaQueryWrapper<AssetMain>()
+                .isNotNull(AssetMain::getWarehouseId)).stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId));
+        for (Integer assetMainId : assetMainIds) {
+            AssetInventoryRecord assetInventoryRecord = new AssetInventoryRecord();
+            assetInventoryRecord.setAssetMainId(assetMainId);
+            assetInventoryRecord.setWarehouseId(warehouseMap.get(assetMainId));
+            assetInventoryRecord.setType(type);
+            assetInventoryRecord.setRemarks(approvalType);
+            res.add(assetInventoryRecord);
+        }
+        assetInventoryRecordService.saveBatch(res);
+    }
     /**
      * 批量保存扩展信息
      */
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java
index a1ebac1..604de85 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java
@@ -45,4 +45,10 @@
         Page<AssetRepairRecordPageVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
         return this.baseMapper.getRepairRecordPageList(page, pageQuery);
     }
+
+    @Override
+    public List<AssetRepairRequestVO> listAll(AssetRepairRequestListQuery query) {
+        List<AssetRepairRequestVO> list = this.baseMapper.listAll(query);
+        return list;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRequestItemServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRequestItemServiceImpl.java
index c162085..8c59e4f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRequestItemServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRequestItemServiceImpl.java
@@ -4,7 +4,10 @@
 import com.ruoyi.system.mapper.AssetRepairRequestItemMapper;
 import com.ruoyi.system.model.AssetRepairRequestItem;
 import com.ruoyi.system.service.AssetRepairRequestItemService;
+import com.ruoyi.system.vo.AssetRepairListVO;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +20,9 @@
 @Service
 public class AssetRepairRequestItemServiceImpl extends ServiceImpl<AssetRepairRequestItemMapper, AssetRepairRequestItem> implements AssetRepairRequestItemService {
 
+    @Override
+    public List<AssetRepairListVO> listDetail(Integer id) {
+
+        return this.baseMapper.listDetail(id);
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java
index 957aa9a..0df58f2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java
@@ -405,22 +405,24 @@
 
     @Override
     public PageInfo<AssetInventoryVO> pageListInventory(AssetInventoryListQuery query) {
-        AssetType assetType = this.baseMapper.selectById(query.getAssetTypeId());
-        if (assetType.getParentId()==0){
-            List<Integer> assetTypeChild = this.baseMapper.selectList(new LambdaQueryWrapper<AssetType>()
-                            .eq(AssetType::getParentId, assetType.getId())).stream().map(AssetType::getId)
-                    .collect(Collectors.toList());
-            List<Integer> list = new ArrayList<>(assetTypeChild);
-            list.add(assetType.getId());
-            query.setAssetTypeIds( list);
-        }else{
-            query.setAssetTypeIds(Collections.singletonList(assetType.getId()));
+        if (query.getAssetTypeId()!=null){
+            AssetType assetType = this.baseMapper.selectById(query.getAssetTypeId());
+            if (assetType.getParentId()==0){
+                List<Integer> assetTypeChild = this.baseMapper.selectList(new LambdaQueryWrapper<AssetType>()
+                                .eq(AssetType::getParentId, assetType.getId())).stream().map(AssetType::getId)
+                        .collect(Collectors.toList());
+                List<Integer> list = new ArrayList<>(assetTypeChild);
+                list.add(assetType.getId());
+                query.setAssetTypeIds( list);
+            }else{
+                query.setAssetTypeIds(Collections.singletonList(assetType.getId()));
+            }
         }
         PageInfo<AssetInventoryVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
         List<AssetInventoryVO> list = this.baseMapper.pageListInventory(query,pageInfo);
-        Map<Integer, List<AssetMain>> assetMainMap = assetMainService.lambdaQuery().in(AssetMain::getId, query.getAssetMainIds()).list()
+        Map<Integer, List<AssetMain>> assetMainMap = assetMainService.lambdaQuery().in(query.getAssetMainIds()!=null&&!query.getAssetMainIds().isEmpty(),AssetMain::getId, query.getAssetMainIds()).list()
                 .stream().collect(Collectors.groupingBy(AssetMain::getAssetTypeId));
-        List<AssetInventoryRecord> assetInventoryRecords = assetInventoryRecordService.lambdaQuery().in(AssetInventoryRecord::getAssetMainId, query.getAssetMainIds()).list();
+        List<AssetInventoryRecord> assetInventoryRecords = assetInventoryRecordService.lambdaQuery().in(query.getAssetMainIds()!=null&&!query.getAssetMainIds().isEmpty(),AssetInventoryRecord::getAssetMainId, query.getAssetMainIds()).list();
         for (AssetInventoryVO assetInventoryVO : list) {
             int inCount = 0;
             int outCount = 0;
@@ -431,6 +433,14 @@
             BigDecimal outMoney = new BigDecimal("0");
             List<AssetMain> assetMains = assetMainMap.get(assetInventoryVO.getAssetTypeIdSecond());
             for (AssetInventoryRecord assetInventoryRecord : assetInventoryRecords) {
+                if (assetMains==null){
+                    assetInventoryVO.setInCount(inCount);
+                    assetInventoryVO.setOutCount(outCount);
+                    assetInventoryVO.setInMoney(inMoney);
+                    assetInventoryVO.setOutMoney(outMoney);
+
+                    continue;
+                }
                 if (assetInventoryRecord.getType()==0){
                     AssetMain assetMain = assetMains.stream().filter(e -> e.getId().equals(assetInventoryRecord.getAssetMainId()))
                             .findFirst().orElse(null);
@@ -453,6 +463,11 @@
             assetInventoryVO.setOutCount(outCount);
             assetInventoryVO.setInMoney(inMoney);
             assetInventoryVO.setOutMoney(outMoney);
+            if (assetMains==null){
+                assetInventoryVO.setInStockCount(inStockCount);
+                assetInventoryVO.setInStockMoney(inStockMoney);
+                continue;
+            }
             List<AssetMain> inStorage = assetMains.stream().filter(e -> e.getDisposed() == 0 && e.getInUse() == 0 && e.getBorrowed() == 0).collect(Collectors.toList());
             for (AssetMain assetMain : inStorage) {
                 inStockCount+=assetMain.getQuantity();
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java
index dca285e..8a2f75e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java
@@ -11,6 +11,8 @@
 @Data
 @ApiModel(value = "闲置房产分页返回VO")
 public class AssetIdleListVO implements Serializable {
+    @ApiModelProperty(value = "资产id 安置用")
+    private Integer id;
     @ApiModelProperty(value = "资产名称")
     private String assetName;
     @ApiModelProperty(value = "规格型号")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairListVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairListVO.java
new file mode 100644
index 0000000..4ab9b2b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairListVO.java
@@ -0,0 +1,34 @@
+package com.ruoyi.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+
+@Data
+@ApiModel(value = "资产报修详情资产列表返回VO")
+public class AssetRepairListVO implements Serializable {
+    @ApiModelProperty(value = "id")
+    private Integer id;
+    @ApiModelProperty(value = "资产id")
+    private Integer assetMainId;
+    @ApiModelProperty(value = "资产名称")
+    private String assetName;
+    @ApiModelProperty(value = "资产类型")
+    private String assetTypeName;
+    @ApiModelProperty(value = "资产编码")
+    private String assetCode;
+    @ApiModelProperty(value = "归属部门")
+    private String ownershipDeptName;
+    @ApiModelProperty(value = "资产状态")
+    private String assetStatus;
+    @ApiModelProperty(value = "使用部门/位置")
+    private String useName;
+    @ApiModelProperty(value = "入库日期")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate storageTime;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java
index 640f6eb..131e946 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java
@@ -1,5 +1,6 @@
 package com.ruoyi.system.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ruoyi.system.model.AssetRepairRequest;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -11,6 +12,7 @@
 @Data
 @ApiModel(value = "资产报修分页返回VO")
 public class AssetRepairRequestVO extends AssetRepairRequest {
-
+    @ApiModelProperty(value = "报修人")
+    private String reporterName;
 
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
index 0842bb4..84761b5 100644
--- a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
@@ -26,11 +26,18 @@
         id, repair_request_id, repair_no, title, repair_time, repair_by, asset_type_id, repair_remarks, attachment_urls, repair_status, create_time, create_by, update_time, update_by, disabled
     </sql>
     <select id="pageList" resultType="com.ruoyi.system.vo.AssetRepairRequestVO">
-        select t1.*,t2.asset_main_id as assetMainId from asset_repair_request t1
+        select t1.*,t2.asset_main_id as assetMainId,t3.nick_name as reporterName from asset_repair_request t1
         left join asset_repair_request_item t2 on t1.id = t2.repair_request_id
+                                                    left join sys_user t3 on t1.reporter_id = t3.user_id
         where 1=1
         <if test="query.numberOrTitle != null and query.numberOrTitle != ''">
             AND (t1.repair_no like concat('%', #{query.numberOrTitle}, '%') or t1.title like concat('%', #{query.numberOrTitle}, '%'))
+        </if>
+          <if test="query.userIds != null and query.userIds.size() > 0">
+            AND t1.reporter_id IN
+            <foreach item="item" index="index" collection="query.userIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
         </if>
         AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         order by t1.repair_status, t1.urgency_level asc
@@ -63,5 +70,27 @@
         </if>
         ORDER BY arr.create_time DESC
     </select>
+    <select id="listAll" resultType="com.ruoyi.system.vo.AssetRepairRequestVO">
+        select t1.*,t2.asset_main_id as assetMainId from asset_repair_request t1
+        left join asset_repair_request_item t2 on t1.id = t2.repair_request_id
+        where 1=1
+        <if test="query.numberOrTitle != null and query.numberOrTitle != ''">
+            AND (t1.repair_no like concat('%', #{query.numberOrTitle}, '%') or t1.title like concat('%', #{query.numberOrTitle}, '%'))
+        </if>
+        <if test="query.assetMainIds != null and query.assetMainIds.size() > 0">
+            AND t2.asset_main_id IN
+            <foreach item="item" index="index" collection="query.assetMainIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="query.userIds != null and query.userIds.size() > 0">
+            AND t1.reporter_id IN
+            <foreach item="item" index="index" collection="query.userIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        order by t1.repair_status, t1.urgency_level asc
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRequestItemMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRequestItemMapper.xml
index a9839c1..068f1e8 100644
--- a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRequestItemMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRequestItemMapper.xml
@@ -13,5 +13,28 @@
     <sql id="Base_Column_List">
         id, repair_request_id, asset_main_id
     </sql>
+    <select id="listDetail" resultType="com.ruoyi.system.vo.AssetRepairListVO">
+        select t1.*,
+               t3.type_name    as assetTypeName,
+               t2.asset_name   as assetName,
+               t2.asset_code   as assetCode,
+               t4.dept_name    as ownershipDeptName,
+               t2.asset_status as assetStatus,
+               t5.storage_time as storageTime,
+               case
+                   when t2.use_dept_id is not null and t2.use_dept_id != '' then t6.dept_name
+                   when t2.address is not null and t2.address != '' then t2.address
+                   when t2.warehouse_name is not null and t2.warehouse_name != '' then t2.warehouse_name
+                   else null
+                   end as useName
+        from asset_repair_request_item t1
+                 left join asset_main t2 on t2.id = t1.asset_main_id
+                 left join asset_type t3 on t3.id = t2.asset_type_id
+                 left join t_dept t4 on t4.id = t2.ownership_dept_id
+                 left join oa_approval_application_storage t5 on t5.approval_application_id = t2.approval_application_id
+                 left join t_dept t6 on t6.id = t2.use_dept_id
+        where t1.repair_request_id = #{id}
+        order by t1.id  desc
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml
index 3558638..a73dc7c 100644
--- a/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml
@@ -99,8 +99,8 @@
 
     </select>
     <select id="pageListInventory" resultType="com.ruoyi.system.vo.AssetInventoryVO">
-        select t1.name as assetTypeNameSecond,t1.id as assetTypeIdSecond,
-        t2.name as assetTypeNameFirst,t2.id as assetTypeIdFirst
+        select t1.type_name as assetTypeNameSecond,t1.id as assetTypeIdSecond,
+        t2.type_name as assetTypeNameFirst,t2.id as assetTypeIdFirst
         from asset_type t1
         left join asset_type t2 on t1.parent_id = t2.id
         where t1.parent_id != 0

--
Gitblit v1.7.1