From 6365012e69b76d2a7804f5a462745f09a5fa0105 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期六, 11 十月 2025 18:23:02 +0800
Subject: [PATCH] 资产盘点接口

---
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java                           |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java                   |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java                         |   21 ++
 ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java                  |   13 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java           |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java                 |    7 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java                       |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java                   |    3 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java                |   30 +-
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java                                    |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java                      |   52 ++++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java              |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java                                    |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java                               |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java                               |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java                      |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java                             |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java                              |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java                                   |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java                         |    2 
 ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml                           |    5 
 ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml                            |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java                     |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java                       |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java                           |    6 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java            |   33 ++++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java             |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java                 |    5 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java                               |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java         |  123 +++++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java  |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java                           |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java                           |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java                       |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java                      |   43 +++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java                   |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java                               |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java               |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRequest.java                           |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java                               |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java                        |   10 +
 ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java                            |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java                    |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java |    2 
 44 files changed, 383 insertions(+), 42 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java
index ee19e48..9fa17e8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetInventoryTaskController.java
@@ -1,8 +1,23 @@
 package com.ruoyi.web.controller.api;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.system.dto.asset.AddInventoryTaskDTO;
+import com.ruoyi.system.query.AssertInventoryQuery;
+import com.ruoyi.system.service.AssetInventoryTaskService;
+import com.ruoyi.system.vo.asset.AssetInventoryTaskVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -12,9 +27,27 @@
  * @author WuGuanFengYue
  * @since 2025-09-15
  */
+@Slf4j
+@Api(tags = {"资产盘点相关接口"})
 @RestController
 @RequestMapping("/asset-inventory-task")
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class AssetInventoryTaskController {
+    private final AssetInventoryTaskService assetInventoryTaskService;
+
+    @ApiOperation("资产盘点列表")
+    @PostMapping("/page")
+    public R<IPage<AssetInventoryTaskVO>> getInventoryTaskPage(@RequestBody AssertInventoryQuery query){
+        IPage<AssetInventoryTaskVO> page = assetInventoryTaskService.getInventoryTaskPage(query);
+        return R.ok(page);
+    }
+
+    @ApiOperation("创建盘点任务")
+    @PostMapping("/create")
+    public R<String> createInventoryTask(@RequestBody @Valid AddInventoryTaskDTO dto){
+        boolean result = assetInventoryTaskService.createInventoryTask(dto);
+        return result ? R.ok("创建成功") : R.fail("创建失败");
+    }
 
 }
 
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
index 38b549b..74b8fe2 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
@@ -8,7 +8,7 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.TDept;
 import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.system.model.OaNotifationUser;
+import com.ruoyi.system.model.OaNotificationUser;
 import com.ruoyi.system.model.OaNotification;
 import com.ruoyi.system.query.NotificationListQuery;
 import com.ruoyi.system.service.*;
@@ -63,8 +63,8 @@
         List<String> notificationIds = Arrays.asList(ids.split(","));
         // 删除后 将已发送的消息通知一并删除
         oaNotificationService.removeBatchByIds(notificationIds);
-        oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotifationUser>()
-                .in(OaNotifationUser::getNotificationId,notificationIds));
+        oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
+                .in(OaNotificationUser::getNotificationId,notificationIds));
         return R.ok();
     }
     @Log(title = "消息通知-新增消息", businessType = BusinessType.INSERT)
@@ -72,28 +72,28 @@
     @PostMapping(value = "/add")
     public R<Boolean> add( @RequestBody OaNotification dto) {
         oaNotificationService.save(dto);
-        ArrayList<OaNotifationUser> oaNotifationUsers = new ArrayList<>();
+        ArrayList<OaNotificationUser> oaNotificationUsers = new ArrayList<>();
         // 发送消息通知
         if (dto.getType()){
             // 指定人员发送
             Arrays.asList(dto.getUserIds().split(","))
                     .forEach(userId -> {
-                        OaNotifationUser oaNotifationUser = new OaNotifationUser();
-                        oaNotifationUser.setUserId(Integer.parseInt(userId));
-                        oaNotifationUser.setNotificationId(dto.getId());
-                        oaNotifationUsers.add(oaNotifationUser);
+                        OaNotificationUser oaNotificationUser = new OaNotificationUser();
+                        oaNotificationUser.setUserId(Integer.parseInt(userId));
+                        oaNotificationUser.setNotificationId(dto.getId());
+                        oaNotificationUsers.add(oaNotificationUser);
                     });
         }else{
             // 所有人发送
             List<SysUser> sysUsers = sysUserService.selectAllList();
             sysUsers.forEach(sysUser -> {
-                OaNotifationUser oaNotifationUser = new OaNotifationUser();
-                oaNotifationUser.setUserId(sysUser.getUserId().intValue());
-                oaNotifationUser.setNotificationId(dto.getId());
-                oaNotifationUsers.add(oaNotifationUser);
+                OaNotificationUser oaNotificationUser = new OaNotificationUser();
+                oaNotificationUser.setUserId(sysUser.getUserId().intValue());
+                oaNotificationUser.setNotificationId(dto.getId());
+                oaNotificationUsers.add(oaNotificationUser);
             });
         }
-        oaNotifationUserService.saveBatch(oaNotifationUsers);
+        oaNotifationUserService.saveBatch(oaNotificationUsers);
         return R.ok();
     }
     @ApiOperation(value = "消息通知详情")
@@ -105,7 +105,7 @@
         StringBuilder deptName = new StringBuilder();
         List<TDept> tDepts = deptService.list();
         List<SysUser> sysUsers = sysUserService.selectAllList();
-        List<OaNotifationUser> notifationUsers = oaNotifationUserService.lambdaQuery().eq(OaNotifationUser::getNotificationId, id)
+        List<OaNotificationUser> notifationUsers = oaNotifationUserService.lambdaQuery().eq(OaNotificationUser::getNotificationId, id)
                 .list();
         Map<Integer, String> deptMap = tDepts.stream().collect(Collectors.toMap(TDept::getId, TDept::getDeptName));
         Map<Long, SysUser> userMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, e->e));
@@ -149,7 +149,7 @@
         }
         List<NotificationUserDetailVO> notificationUserDetailVOS = new ArrayList<>();
 
-        for (OaNotifationUser notifationUser : notifationUsers) {
+        for (OaNotificationUser notifationUser : notifationUsers) {
             NotificationUserDetailVO notificationUserDetailVO = new NotificationUserDetailVO();
             BeanUtils.copyProperties(notifationUser, notificationUserDetailVO);
             SysUser sysUser = userMap.get(notifationUser.getUserId().longValue());
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java
index 66571e5..f3fd8a7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/AssetRepairRecordAddDTO.java
@@ -1,12 +1,15 @@
 package com.ruoyi.system.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -27,7 +30,7 @@
 
     @ApiModelProperty(value = "维护资产类型ID", required = true)
     @NotBlank(message = "维护资产类型ID不能为空")
-    private String assetTypeId;
+    private Integer assetTypeId;
 
     @ApiModelProperty(value = "当前维修状态:0-维修中,1-无需维修,2-维修完成", required = true)
     @NotNull(message = "维修状态不能为空")
@@ -50,6 +53,11 @@
     @ApiModelProperty(value = "关联报修单号(非必填,保存时需要校验报修单是否存在)")
     private String repairRequestNo;
 
+    @ApiModelProperty("开始维修时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private LocalDateTime repairTime;
+
     @ApiModelProperty(value = "维修资产ID列表", required = true)
     @NotNull(message = "维修资产ID列表不能为空")
     private List<Integer> assetMainIds;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java
new file mode 100644
index 0000000..3103645
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/AddInventoryTaskDTO.java
@@ -0,0 +1,43 @@
+package com.ruoyi.system.dto.asset;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * 新增盘点任务DTO
+ *
+ * @author WuGuanFengYue
+ * @since 2025-09-15
+ */
+@Data
+@ApiModel("新增盘点任务DTO")
+public class AddInventoryTaskDTO {
+
+    @NotBlank(message = "任务名称不能为空")
+    @ApiModelProperty("盘点任务名称")
+    private String taskName;
+
+    @NotNull(message = "所属部门不能为空")
+    @ApiModelProperty("所属部门ID")
+    private Integer deptId;
+
+    @ApiModelProperty("备注")
+    private String remarks;
+
+    @NotNull(message = "盘点日期不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("盘点日期")
+    private LocalDate executeDate;
+
+    @NotEmpty(message = "盘点资产列表不能为空")
+    @ApiModelProperty("盘点资产ID列表")
+    private List<Integer> assetMainIds;
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java
index 41849ea..23e5add 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaNotifationUserMapper.java
@@ -1,6 +1,6 @@
 package com.ruoyi.system.mapper;
 
-import com.ruoyi.system.model.OaNotifationUser;
+import com.ruoyi.system.model.OaNotificationUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
@@ -11,6 +11,6 @@
  * @author WuGuanFengYue
  * @since 2025-09-15
  */
-public interface OaNotifationUserMapper extends BaseMapper<OaNotifationUser> {
+public interface OaNotifationUserMapper extends BaseMapper<OaNotificationUser> {
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java
index 96f3d7b..93cfc08 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisement.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -82,6 +83,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java
index 402e0f8..a3f0e36 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementMaterialPrice.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -67,6 +68,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java
index 8bee2d0..d208089 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetAdvertisementRentalRecord.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -84,6 +85,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java
index 6b02140..79fe7fe 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -73,6 +74,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java
index 4eddb76..78776da 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionItem.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -66,6 +67,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java
index caeb443..9384d32 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionRecord.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -87,6 +88,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java
index 2df7126..2512fe2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryRecord.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -66,5 +67,6 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java
index b78e3c2..5ce2a1d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTask.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -51,7 +52,7 @@
 
     @ApiModelProperty(value = "盘点状态 0-未开始,1-进行中,2-已完成")
     @TableField("status")
-    private Boolean status;
+    private Integer status;
 
     @ApiModelProperty(value = "备注")
     @TableField("remarks")
@@ -75,6 +76,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java
index 30d8629..62c122f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetInventoryTaskItem.java
@@ -31,6 +31,9 @@
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
+    @ApiModelProperty(value = "盘点任务ID")
+    private Integer inventoryTaskId;
+
     @ApiModelProperty(value = "资产主表ID,关联asset_main表")
     @TableField("asset_main_id")
     private Integer assetMainId;
@@ -41,7 +44,7 @@
 
     @ApiModelProperty(value = "盘点结果 0-未盘点,1-正常,2-异常")
     @TableField("result_status")
-    private Boolean resultStatus;
+    private Integer resultStatus;
 
     @ApiModelProperty(value = "实存部门ID")
     @TableField("real_dept_id")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java
index 2d7def2..0c1665f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetMain.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -179,6 +180,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
     @ApiModelProperty(value = "使用部门/位置")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java
index 5da51a5..f01c246 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetPropertyExt.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -120,6 +121,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java
index ce2dca4..5a85874 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetRepairRecord.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -55,7 +56,7 @@
 
     @ApiModelProperty(value = "维修资产类型ID")
     @TableField("asset_type_id")
-    private String assetTypeId;
+    private Integer assetTypeId;
 
     @ApiModelProperty(value = "维修备注")
     @TableField("repair_remarks")
@@ -91,6 +92,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
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..257f55e 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
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -94,6 +95,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java
index 24fb685..32e2538 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetType.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -66,6 +67,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Integer disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java
index 0c3bea3..e8cd977 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetUseRecord.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -83,6 +84,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java
index d8c3d88..fceb1bd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetVehicleExt.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -87,6 +88,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java
index 2b954d4..a57a439 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/AssetWarehouse.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -75,6 +76,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java
index ed02218..b2abced 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApproval.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -66,6 +67,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java
index 558bafa..b8ad7cd 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetPropertyExt.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -101,6 +102,7 @@
     private String updateBy;
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java
index 73330e7..aa2b785 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplicationStorageAssetVehicleExt.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -74,6 +75,7 @@
     private String updateBy;
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java
index dd7282c..ca30f30 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalApplications.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -95,6 +96,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Integer disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java
index 67ef1c0..347bd3b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlow.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -54,6 +55,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java
index 414940e..e9ac6ee 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalFlowNode.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -82,6 +83,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
     @ApiModelProperty(value = "审批人名称")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java
index 01bee13..98c2390 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaApprovalTodo.java
@@ -3,8 +3,8 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.sun.org.apache.xpath.internal.operations.Bool;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -75,6 +75,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Integer disabled;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java
index f5db75a..692d2a9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotification.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -62,6 +63,7 @@
 
     @ApiModelProperty(value = "是否删除 0-否,1-是")
     @TableField("disabled")
+    @TableLogic
     private Boolean disabled;
 
     @ApiModelProperty(value = "通知部门ids 逗号拼接")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotifationUser.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java
similarity index 85%
rename from ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotifationUser.java
rename to ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java
index 98d1977..689d4af 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotifationUser.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/OaNotificationUser.java
@@ -21,9 +21,9 @@
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@TableName("oa_notifation_user")
-@ApiModel(value="OaNotifationUser对象", description="通知用户关联表")
-public class OaNotifationUser implements Serializable {
+@TableName("oa_notification_user")
+@ApiModel(value="OaNotificationUser对象", description="通知用户关联表")
+public class OaNotificationUser implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java
new file mode 100644
index 0000000..143582c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssertInventoryQuery.java
@@ -0,0 +1,21 @@
+package com.ruoyi.system.query;
+
+import com.ruoyi.common.core.domain.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author mitao
+ * @date 2025/10/11
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("资产盘点分页列表query")
+public class AssertInventoryQuery extends BasePage {
+    private static final long serialVersionUID = 5972537443752522968L;
+
+    @ApiModelProperty("盘点任务名称")
+    private String taskName;
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java
index 0393950..7e8ceae 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetInventoryTaskService.java
@@ -1,7 +1,11 @@
 package com.ruoyi.system.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.dto.asset.AddInventoryTaskDTO;
 import com.ruoyi.system.model.AssetInventoryTask;
+import com.ruoyi.system.query.AssertInventoryQuery;
+import com.ruoyi.system.vo.asset.AssetInventoryTaskVO;
 
 /**
  * <p>
@@ -13,4 +17,13 @@
  */
 public interface AssetInventoryTaskService extends IService<AssetInventoryTask> {
 
+    IPage<AssetInventoryTaskVO> getInventoryTaskPage(AssertInventoryQuery query);
+
+    /**
+     * 创建盘点任务
+     *
+     * @param dto 新增盘点任务DTO
+     * @return 创建结果
+     */
+    boolean createInventoryTask(AddInventoryTaskDTO dto);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java
index aade554..1b4fa4d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaNotifationUserService.java
@@ -1,7 +1,7 @@
 package com.ruoyi.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.ruoyi.system.model.OaNotifationUser;
+import com.ruoyi.system.model.OaNotificationUser;
 
 /**
  * <p>
@@ -11,6 +11,6 @@
  * @author WuGuanFengYue
  * @since 2025-09-15
  */
-public interface OaNotifationUserService extends IService<OaNotifationUser> {
+public interface OaNotifationUserService extends IService<OaNotificationUser> {
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java
index d5b7d35..a74e2a6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetInventoryTaskServiceImpl.java
@@ -1,10 +1,34 @@
 package com.ruoyi.system.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.TDept;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.dto.asset.AddInventoryTaskDTO;
 import com.ruoyi.system.mapper.AssetInventoryTaskMapper;
+import com.ruoyi.system.mapper.TDeptMapper;
 import com.ruoyi.system.model.AssetInventoryTask;
+import com.ruoyi.system.model.AssetInventoryTaskItem;
+import com.ruoyi.system.query.AssertInventoryQuery;
+import com.ruoyi.system.service.AssetInventoryTaskItemService;
 import com.ruoyi.system.service.AssetInventoryTaskService;
+import com.ruoyi.system.vo.asset.AssetInventoryTaskVO;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -15,6 +39,105 @@
  * @since 2025-09-15
  */
 @Service
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class AssetInventoryTaskServiceImpl extends ServiceImpl<AssetInventoryTaskMapper, AssetInventoryTask> implements AssetInventoryTaskService {
 
+    private final TDeptMapper tDeptMapper;
+
+    private final AssetInventoryTaskItemService assetInventoryTaskItemService;
+
+    @Override
+    public IPage<AssetInventoryTaskVO> getInventoryTaskPage(AssertInventoryQuery query) {
+        // 1. 构建Lambda查询条件
+        LambdaQueryWrapper<AssetInventoryTask> wrapper = new LambdaQueryWrapper<>();
+        wrapper.like(StringUtils.isNotBlank(query.getTaskName()),
+                     AssetInventoryTask::getTaskName, query.getTaskName())
+               .eq(AssetInventoryTask::getDisabled, false)
+               .orderByDesc(AssetInventoryTask::getCreateTime);
+
+        // 2. 构建分页对象
+        Page<AssetInventoryTask> page = new Page<>(query.getPageNum(), query.getPageSize());
+
+        // 3. 执行分页查询
+        IPage<AssetInventoryTask> taskPage = this.page(page, wrapper);
+
+        // 4. 收集部门ID并去重
+        List<Integer> deptIds = taskPage.getRecords().stream()
+                .map(AssetInventoryTask::getDeptId)
+                .filter(Objects::nonNull)
+                .distinct()
+                .collect(Collectors.toList());
+
+        // 5. 批量查询部门信息
+        List<TDept> depts = deptIds.isEmpty() ?
+                Collections.emptyList() :
+                tDeptMapper.selectBatchIds(deptIds);
+
+        // 6. 构建部门ID->名称的映射Map
+        Map<Integer, String> deptNameMap = depts.stream()
+                .collect(Collectors.toMap(TDept::getId, TDept::getDeptName));
+
+        // 7. 使用BeanUtil.copyToList转换VO并填充部门名称
+        List<AssetInventoryTaskVO> voList = BeanUtil.copyToList(taskPage.getRecords(), AssetInventoryTaskVO.class);
+        voList.forEach(vo -> {
+            if (vo.getDeptId() != null) {
+                vo.setDeptName(deptNameMap.get(vo.getDeptId()));
+            }
+        });
+
+        // 8. 构建返回的分页结果
+        IPage<AssetInventoryTaskVO> resultPage = new Page<>(taskPage.getCurrent(), taskPage.getSize(), taskPage.getTotal());
+        resultPage.setRecords(voList);
+
+        return resultPage;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean createInventoryTask(AddInventoryTaskDTO dto) {
+        // 1. DTO转Entity
+        AssetInventoryTask task = new AssetInventoryTask();
+        BeanUtil.copyProperties(dto, task);
+
+        // 2. 设置默认值
+        SysUser currentUser = SecurityUtils.getLoginUser().getUser();
+        task.setUserId(Math.toIntExact(currentUser.getUserId()));
+        task.setStatus(0); // 未开始状态
+        task.setCreateTime(LocalDateTime.now());
+        task.setCreateBy(currentUser.getUserName());
+        task.setDisabled(false);
+
+        // 3. 保存主任务
+        boolean saved = this.save(task);
+        if (!saved) {
+            throw new RuntimeException("保存盘点任务失败");
+        }
+
+        // 4. 批量创建资产明细
+        List<AssetInventoryTaskItem> items = buildTaskItems(task.getId(), dto.getAssetMainIds());
+        return assetInventoryTaskItemService.saveBatch(items);
+    }
+
+    /**
+     * 构建盘点任务资产明细列表
+     *
+     * @param taskId 盘点任务ID
+     * @param assetMainIds 资产ID列表
+     * @return 资产明细列表
+     */
+    private List<AssetInventoryTaskItem> buildTaskItems(Integer taskId, List<Integer> assetMainIds) {
+        SysUser currentUser = SecurityUtils.getLoginUser().getUser();
+        Integer currentUserId = Math.toIntExact(currentUser.getUserId());
+
+        return assetMainIds.stream()
+                .map(assetId -> {
+                    AssetInventoryTaskItem item = new AssetInventoryTaskItem();
+                    item.setInventoryTaskId(taskId);
+                    item.setAssetMainId(assetId);
+                    item.setUserId(currentUserId);
+                    item.setResultStatus(0); // 未盘点状态
+                    return item;
+                })
+                .collect(Collectors.toList());
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java
index 6e9b5ca..32d8833 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaNotifationUserServiceImpl.java
@@ -2,7 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.system.mapper.OaNotifationUserMapper;
-import com.ruoyi.system.model.OaNotifationUser;
+import com.ruoyi.system.model.OaNotificationUser;
 import com.ruoyi.system.service.OaNotifationUserService;
 import org.springframework.stereotype.Service;
 
@@ -15,6 +15,6 @@
  * @since 2025-09-15
  */
 @Service
-public class OaNotifationUserServiceImpl extends ServiceImpl<OaNotifationUserMapper, OaNotifationUser> implements OaNotifationUserService {
+public class OaNotifationUserServiceImpl extends ServiceImpl<OaNotifationUserMapper, OaNotificationUser> implements OaNotifationUserService {
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java
new file mode 100644
index 0000000..d950cc2
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetInventoryTaskVO.java
@@ -0,0 +1,52 @@
+package com.ruoyi.system.vo.asset;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @author mitao
+ * @date 2025/10/11
+ */
+@Data
+@ApiModel("资产盘点分页视图对象")
+public class AssetInventoryTaskVO {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+
+    @ApiModelProperty(value = "盘点人ID")
+    private Integer userId;
+
+    @ApiModelProperty(value = "所属部门ID")
+    private Integer deptId;
+
+    @ApiModelProperty("所属部门名称")
+    private String deptName;
+
+    @ApiModelProperty(value = "任务名称")
+    private String taskName;
+
+    @ApiModelProperty(value = "盘点日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDate executeDate;
+
+    @ApiModelProperty(value = "盘点状态 0-未开始,1-进行中,2-已完成")
+    private Integer status;
+
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java
index c12e603..f3f1904 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordDetailVO.java
@@ -33,11 +33,8 @@
     @ApiModelProperty(value = "事项标题")
     private String title;
 
-    @ApiModelProperty(value = "维修资产类型")
-    private String assetTypeName;
-
-    @ApiModelProperty(value = "维修资产一级类型")
-    private String assetTypeFirstLevel;
+    @ApiModelProperty(value = "维修资产类型ID")
+    private Integer assetTypeId;
 
     @ApiModelProperty(value = "维修开始时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java
index 0da1ddd..2211898 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/AssetRepairRecordPageVO.java
@@ -18,6 +18,9 @@
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty("ID")
+    private Integer id;
+
     @ApiModelProperty(value = "单据号")
     private String repairNo;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java
index 98c28c5..95cf2c4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationDeptUserDetailVO.java
@@ -1,7 +1,6 @@
 package com.ruoyi.system.vo.system;
 
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.system.model.OaNotifationUser;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java
index c280777..d914895 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserDetailVO.java
@@ -1,14 +1,13 @@
 package com.ruoyi.system.vo.system;
 
-import com.ruoyi.system.model.OaNotifationUser;
-import com.ruoyi.system.model.OaNotification;
+import com.ruoyi.system.model.OaNotificationUser;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 @ApiModel(value = "通知对象返回VO")
-public class NotificationUserDetailVO extends OaNotifationUser {
+public class NotificationUserDetailVO extends OaNotificationUser {
 
     @ApiModelProperty(value = "部门名称")
     private String deptName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java
index f40d58b..6f2af2f 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/system/NotificationUserVO.java
@@ -1,6 +1,5 @@
 package com.ruoyi.system.vo.system;
 
-import com.ruoyi.system.model.OaNotifationUser;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
index 099379e..0fb5c01 100644
--- a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
@@ -40,6 +40,7 @@
     <!-- 分页查询维修记录列表 -->
     <select id="getRepairRecordPageList" resultType="com.ruoyi.system.vo.asset.AssetRepairRecordPageVO">
         SELECT
+            arr.id,
             arr.repair_no AS repairNo,
             arr.title,
             pt.type_name AS assetTypeFirstLevel,
@@ -71,7 +72,7 @@
             am.id,
             am.asset_code,
             am.asset_name,
-            dept.dept_name,
+            d.dept_name,
             parent_type.type_name AS parentAssetType,
             current_type.type_name AS assetType,
             am.asset_status,
@@ -82,7 +83,7 @@
         LEFT JOIN asset_main am ON arri.asset_main_id = am.id
         LEFT JOIN asset_type current_type ON am.asset_type_id = current_type.id
         LEFT JOIN asset_type parent_type ON current_type.parent_id = parent_type.id
-        LEFT JOIN t_dept dept ON am.use_dept_id = dept.dept_id
+        LEFT JOIN t_dept d ON am.ownership_dept_id = d.id
         LEFT JOIN asset_repair_record arr ON arri.repair_record_id = arr.id
         WHERE arri.repair_record_id = #{repairRecordId}
           AND am.disabled = 0
diff --git a/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml
index 4d9efb5..0c1cc93 100644
--- a/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/OaNotifationUserMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="com.ruoyi.system.mapper.OaNotifationUserMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.OaNotifationUser">
+    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.OaNotificationUser">
         <id column="id" property="id" />
         <result column="notification_id" property="notificationId" />
         <result column="user_id" property="userId" />

--
Gitblit v1.7.1