From c758c4e55d74a34902dac5752ff4f160118b19bc Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 23 九月 2025 14:09:36 +0800
Subject: [PATCH] 资产借用接口

---
 ruoyi-system/src/main/java/com/ruoyi/system/emums/ApprovalTypeEnum.java                                |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java                   |    7 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageVehicleDetailVO.java  |   11 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationAssetService.java             |   11 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalApplicationAssetMapper.java               |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java  |   69 ++++++---
 ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetMapper.xml                     |    7 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetBorrowDTO.java         |   68 +++++++++
 ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationStorageMapper.xml                   |    2 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageGeneralDetailVO.java  |   12 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationStorageService.java           |   18 +
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetPageVO.java             |    9 
 ruoyi-system/src/main/java/com/ruoyi/system/emums/AssetOperateTypeEnum.java                            |   23 +++
 ruoyi-system/src/main/java/com/ruoyi/system/query/OaApprovalApplicationAssetPageQuery.java             |    5 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java              |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationAssetController.java       |   30 ++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationStorageController.java     |   11 
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetDetailVO.java           |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetReceiveDTO.java        |   38 ++---
 ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStoragePropertyDetailVO.java |   11 +
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java    |   40 +++--
 21 files changed, 283 insertions(+), 100 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationAssetController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationAssetController.java
index 7540da5..c83e622 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationAssetController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationAssetController.java
@@ -13,6 +13,7 @@
 import com.ruoyi.system.vo.asset.OaApprovalApplicationAssetDetailVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -42,7 +43,7 @@
     @PostMapping("/submit-receive")
     @Log(title = "资产领用申请-提交", businessType = BusinessType.INSERT)
     public R<Void> submitReceive(@Valid @RequestBody OaApprovalApplicationAssetReceiveDTO dto) {
-        oaApprovalApplicationAssetService.submitReceive(dto);
+        oaApprovalApplicationAssetService.submitReceiveBorrow(dto);
         return R.ok();
     }
 
@@ -65,9 +66,34 @@
 
     @ApiOperation("获取资产领用详情")
     @GetMapping("/detail/receive/{id}")
-    public R<OaApprovalApplicationAssetDetailVO> getReceiveDetail(@PathVariable Integer id) {
+    public R<OaApprovalApplicationAssetDetailVO> getReceiveDetail(@ApiParam(name = "id", value = "审批单ID", required = true) @PathVariable Integer id) {
         OaApprovalApplicationAssetDetailVO detail = oaApprovalApplicationAssetService.getDetail(id);
         return R.ok(detail);
     }
 
+    @ApiOperation("提交资产借用申请")
+    @PostMapping("/submit-borrow")
+    @Log(title = "资产借用申请-提交", businessType = BusinessType.INSERT)
+    public R<Void> submitBorrow(@Valid @RequestBody OaApprovalApplicationAssetReceiveDTO dto) {
+        oaApprovalApplicationAssetService.submitReceiveBorrow(dto);
+        return R.ok();
+    }
+
+    @ApiOperation("获取资产借用申请分页列表")
+    @PostMapping("/page-borrow-list")
+    public R<IPage<OaApprovalApplicationAssetPageVO>> getBorrowPageList(@RequestBody OaApprovalApplicationAssetPageQuery pageQuery) {
+        // 数据权限:非管理员仅能查看本部门
+        Long userId = SecurityUtils.getUserId();
+        boolean isAdmin = SecurityUtils.isAdmin(userId);
+        if (!isAdmin) {
+            try {
+                pageQuery.setDeptId(Integer.valueOf(SecurityUtils.getDeptId()));
+            } catch (Exception e) {
+                // ignore parse, leave null if cannot parse
+            }
+        }
+        IPage<OaApprovalApplicationAssetPageVO> page = oaApprovalApplicationAssetService.getBorrowPageList(pageQuery);
+        return R.ok(page);
+    }
+
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationStorageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationStorageController.java
index a390c76..515d92c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationStorageController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationStorageController.java
@@ -23,6 +23,7 @@
 import com.ruoyi.system.vo.asset.OaApprovalApplicationStorageVehicleDetailVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
@@ -137,28 +138,28 @@
     @ApiOperation("删除资产入库申请")
     @DeleteMapping("/{id}")
     @Log(title = "资产入库申请-删除", businessType = BusinessType.DELETE)
-    public R<Void> delete(@PathVariable Integer id) {
-        oaApprovalApplicationStorageService.removeById(id);
+    public R<Void> delete(@ApiParam(name = "id",value = "审批单ID",required = true) @PathVariable Integer id) {
+        oaApprovalApplicationStorageService.removeByApplicationId(id);
         return R.ok();
     }
 
     @ApiOperation("获取通用资产入库申请详情")
     @GetMapping("/detail/general/{id}")
-    public R<OaApprovalApplicationStorageGeneralDetailVO> getGeneralDetail(@PathVariable Integer id) {
+    public R<OaApprovalApplicationStorageGeneralDetailVO> getGeneralDetail(@ApiParam(name = "id",value = "审批单ID",required = true) @PathVariable Integer id) {
         OaApprovalApplicationStorageGeneralDetailVO detail = oaApprovalApplicationStorageService.getGeneralDetail(id);
         return R.ok(detail);
     }
 
     @ApiOperation("获取房产资产入库申请详情")
     @GetMapping("/detail/property/{id}")
-    public R<OaApprovalApplicationStoragePropertyDetailVO> getPropertyDetail(@PathVariable Integer id) {
+    public R<OaApprovalApplicationStoragePropertyDetailVO> getPropertyDetail(@ApiParam(name = "id",value = "审批单ID",required = true) @PathVariable Integer id) {
         OaApprovalApplicationStoragePropertyDetailVO detail = oaApprovalApplicationStorageService.getPropertyDetail(id);
         return R.ok(detail);
     }
 
     @ApiOperation("获取车辆资产入库申请详情")
     @GetMapping("/detail/vehicle/{id}")
-    public R<OaApprovalApplicationStorageVehicleDetailVO> getVehicleDetail(@PathVariable Integer id) {
+    public R<OaApprovalApplicationStorageVehicleDetailVO> getVehicleDetail(@ApiParam(name = "id",value = "审批单ID",required = true) @PathVariable Integer id) {
         OaApprovalApplicationStorageVehicleDetailVO detail = oaApprovalApplicationStorageService.getVehicleDetail(id);
         return R.ok(detail);
     }
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 215f41e..e1321c2 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
@@ -721,7 +721,7 @@
         BorrowDetailVO res = new BorrowDetailVO();
 
         List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
-                .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BURROW.getCode())
+                .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BORROW.getCode())
                 .orderByAsc(OaApprovalFlowNode::getSortOrder)
                 .eq(OaApprovalFlowNode::getStatus, 1).list();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
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 24058d2..4991f78 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
@@ -1,23 +1,18 @@
 package com.ruoyi.web.controller.api;
 
 
-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.enums.BusinessType;
 import com.ruoyi.framework.web.service.TokenService;
 import com.ruoyi.system.emums.ApprovalTypeEnum;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.query.ApprovalDetailQuery;
 import com.ruoyi.system.query.ApprovalTodoListQuery;
-import com.ruoyi.system.query.NotificationListQuery;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.*;
-import com.ruoyi.system.vo.system.NotificationVO;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.util.StringUtils;
@@ -651,7 +646,7 @@
         BorrowDetailVO res = new BorrowDetailVO();
 
         List<OaApprovalFlowNode> approvalFlowNodes = approvalFlowNodeService.lambdaQuery()
-                .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BURROW.getCode())
+                .eq(OaApprovalFlowNode::getApprovalId, ApprovalTypeEnum.BORROW.getCode())
                 .orderByAsc(OaApprovalFlowNode::getSortOrder)
                 .eq(OaApprovalFlowNode::getStatus, 1).list();
         SysUser sysUser = sysUserService.selectUserById(approvalApplications.getApplicantUserId().longValue());
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetBorrowDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetBorrowDTO.java
new file mode 100644
index 0000000..af18888
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetBorrowDTO.java
@@ -0,0 +1,68 @@
+package com.ruoyi.system.dto.asset;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * 资产领用申请 DTO
+ */
+@Data
+@ApiModel("资产借用申请DTO")
+public class OaApprovalApplicationAssetBorrowDTO implements Serializable {
+    private static final long serialVersionUID = 2025091801L;
+    // 公共字段:领用部门、领用人、领用备注
+    @ApiModelProperty("操作类型 0-领用,1-借用,2-归还")
+    @NotNull(message = "操作类型不能为空")
+    private Integer type;
+    @ApiModelProperty("领用/借用部门ID")
+    @NotNull(message = "领用/借用部门不能为空")
+    private Integer deptId;
+
+    @ApiModelProperty("领用/借用部门名称")
+    @NotNull(message = "领用/借用部门名称不能为空")
+    private String deptName;
+
+    @ApiModelProperty("领用/借用人用户ID")
+    private Integer applicantUserId;
+
+    @ApiModelProperty("领用/借用人名称")
+    private String applicantName;
+
+    @ApiModelProperty("领用/借用备注")
+    private String applicationReason;
+
+    @ApiModelProperty("附件URL,多个使用英文逗号拼接")
+    private String attachmentUrl;
+
+    // 独有字段:事项标题、领用日期、资产类型、预计退还日期、领用资产列表
+    @ApiModelProperty("事项标题")
+    @NotNull(message = "事项标题不能为空")
+    private String title;
+
+    @ApiModelProperty("领用/借用日期")
+    @NotNull(message = "领用/借用日期不能为空")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate operateTime;
+
+    @ApiModelProperty("资产类型ID")
+    @NotNull(message = "资产类型不能为空")
+    private Integer assetTypeId;
+
+    @ApiModelProperty("预计退还日期,借用必填")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDate expectReturnDate;
+
+    @ApiModelProperty("领用资产列表")
+    @NotEmpty(message = "领用资产列表不能为空")
+    private List<Integer> assetMainIds;
+
+}
+
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetReceiveDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetReceiveDTO.java
index c151a49..a028cbb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetReceiveDTO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/asset/OaApprovalApplicationAssetReceiveDTO.java
@@ -20,23 +20,27 @@
     private static final long serialVersionUID = 2025091801L;
 
     // 公共字段:领用部门、领用人、领用备注
-    @ApiModelProperty("领用部门ID")
-    @NotNull(message = "领用部门不能为空")
+    @ApiModelProperty("操作类型 0-领用,1-借用,2-归还")
+    @NotNull(message = "操作类型不能为空")
+    private Integer type;
+
+    @ApiModelProperty("领用/借用部门ID")
+    @NotNull(message = "领用/借用部门不能为空")
     private Integer deptId;
 
-    @ApiModelProperty("领用部门名称")
-    @NotNull(message = "领用部门名称不能为空")
+    @ApiModelProperty("领用/借用部门名称")
+    @NotNull(message = "领用/借用部门名称不能为空")
     private String deptName;
 
-    @ApiModelProperty("领用人用户ID")
-    @NotNull(message = "领用人不能为空")
+    @ApiModelProperty("领用/借用人用户ID")
+    @NotNull(message = "领用/借用人不能为空")
     private Integer applicantUserId;
 
-    @ApiModelProperty("领用人名称")
-    @NotNull(message = "领用人名称不能为空")
+    @ApiModelProperty("领用/借用人名称")
+    @NotNull(message = "领用/借用人名称不能为空")
     private String applicantName;
 
-    @ApiModelProperty("领用备注")
+    @ApiModelProperty("领用/借用备注")
     private String applicationReason;
 
     @ApiModelProperty("附件URL,多个使用英文逗号拼接")
@@ -47,8 +51,8 @@
     @NotNull(message = "事项标题不能为空")
     private String title;
 
-    @ApiModelProperty("领用日期")
-    @NotNull(message = "领用日期不能为空")
+    @ApiModelProperty("领用/借用日期")
+    @NotNull(message = "领用/借用日期不能为空")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private LocalDate operateTime;
 
@@ -56,21 +60,13 @@
     @NotNull(message = "资产类型不能为空")
     private Integer assetTypeId;
 
-    @ApiModelProperty("预计退还日期,可为空")
+    @ApiModelProperty("预计退还日期,借用必填")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     private LocalDate expectReturnDate;
 
     @ApiModelProperty("领用资产列表")
     @NotEmpty(message = "领用资产列表不能为空")
-    private List<ReceiveAssetItemDTO> assetItems;
+    private List<Integer> assetMainIds;
 
-    @Data
-    public static class ReceiveAssetItemDTO implements Serializable {
-        private static final long serialVersionUID = 1L;
-
-        @ApiModelProperty("资产主表ID")
-        @NotNull(message = "资产ID不能为空")
-        private Integer assetMainId;
-    }
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/emums/ApprovalTypeEnum.java b/ruoyi-system/src/main/java/com/ruoyi/system/emums/ApprovalTypeEnum.java
index 9adf171..4970abf 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/emums/ApprovalTypeEnum.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/emums/ApprovalTypeEnum.java
@@ -12,7 +12,7 @@
 	PURCHASE(5, "采购申请"),
 	IN_STOCK(6, "资产入库"),
 	GRAB(7, "物品领用"),
-	BURROW(8, "物品借用"),
+	BORROW(8, "物品借用"),
 	RETURN(9, "借用归还"),
 	ASSET_DISPOSE(10, "资产处置"),
 	ASSET_CHANGE(11, "资产表更"),
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/emums/AssetOperateTypeEnum.java b/ruoyi-system/src/main/java/com/ruoyi/system/emums/AssetOperateTypeEnum.java
new file mode 100644
index 0000000..d0d48bb
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/emums/AssetOperateTypeEnum.java
@@ -0,0 +1,23 @@
+package com.ruoyi.system.emums;
+
+import lombok.Getter;
+import lombok.AllArgsConstructor;
+@Getter
+@AllArgsConstructor
+public enum AssetOperateTypeEnum {
+	RECEIVE(0, "领用"),
+	BORROW(1, "借用"),
+	RETURN(2, "归还");
+
+	private final Integer code;
+	private final String desc;
+
+	public static AssetOperateTypeEnum getEnumByCode(Integer code) {
+		for (AssetOperateTypeEnum e : AssetOperateTypeEnum.values()) {
+			if (e.code.equals(code)) {
+				return e;
+			}
+		}
+		return null;
+	}
+} 
\ No newline at end of file
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalApplicationAssetMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalApplicationAssetMapper.java
index 862157f..848141c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalApplicationAssetMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/OaApprovalApplicationAssetMapper.java
@@ -18,6 +18,6 @@
  */
 public interface OaApprovalApplicationAssetMapper extends BaseMapper<OaApprovalApplicationAsset> {
 
-    IPage<OaApprovalApplicationAssetPageVO> selectReceivePage(Page<OaApprovalApplicationAssetPageVO> page,
-                                                             @Param("query") OaApprovalApplicationAssetPageQuery query);
+    IPage<OaApprovalApplicationAssetPageVO> getPageByType(Page<OaApprovalApplicationAssetPageVO> page,
+                                                          @Param("query") OaApprovalApplicationAssetPageQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/OaApprovalApplicationAssetPageQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/OaApprovalApplicationAssetPageQuery.java
index 9c63463..7414d54 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/query/OaApprovalApplicationAssetPageQuery.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/OaApprovalApplicationAssetPageQuery.java
@@ -18,7 +18,10 @@
     @ApiModelProperty("关键词(标题/单据号/部门/领用人)")
     private String keyword;
 
-    @ApiModelProperty("部门ID(非管理员时作为数据权限过滤)")
+    @ApiModelProperty("部门ID(非管理员时作为数据权限过滤),前端不传")
     private Integer deptId;
+
+    @ApiModelProperty("操作类型 前端不传")
+    private Integer type; // 0-领用,1-借用,2-归还
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationAssetService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationAssetService.java
index e1b747b..840988e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationAssetService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationAssetService.java
@@ -19,10 +19,10 @@
 public interface OaApprovalApplicationAssetService extends IService<OaApprovalApplicationAsset> {
 
     /**
-     * 提交资产领用申请
+     * 提交资产领用/归还申请
      * @param dto 领用申请DTO
      */
-    void submitReceive(OaApprovalApplicationAssetReceiveDTO dto);
+    void submitReceiveBorrow(OaApprovalApplicationAssetReceiveDTO dto);
 
     /**
      * 获取资产领用申请分页列表
@@ -34,4 +34,11 @@
      * @param id 领用/借用/归还明细表ID(oa_approval_application_asset.id)
      */
     OaApprovalApplicationAssetDetailVO getDetail(Integer id);
+
+    /**
+     * 获取借用资产申请列表
+     * @param pageQuery
+     * @return
+     */
+    IPage<OaApprovalApplicationAssetPageVO> getBorrowPageList(OaApprovalApplicationAssetPageQuery pageQuery);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationStorageService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationStorageService.java
index 2df657c..7472d53 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationStorageService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/OaApprovalApplicationStorageService.java
@@ -55,21 +55,27 @@
 
     /**
      * 获取通用资产入库申请详情
-     * @param storageId 入库申请存储表ID
+     * @param approvalApplicationId 入库申请存储表ID
      */
-    OaApprovalApplicationStorageGeneralDetailVO getGeneralDetail(Integer storageId);
+    OaApprovalApplicationStorageGeneralDetailVO getGeneralDetail(Integer approvalApplicationId);
 
     /**
      * 获取房产资产入库申请详情
-     * @param storageId 入库申请存储表ID
+     * @param approvalApplicationId 入库申请存储表ID
      */
-    OaApprovalApplicationStoragePropertyDetailVO getPropertyDetail(Integer storageId);
+    OaApprovalApplicationStoragePropertyDetailVO getPropertyDetail(Integer approvalApplicationId);
 
     /**
      * 获取车辆资产入库申请详情
-     * @param storageId 入库申请存储表ID
+     * @param approvalApplicationId 入库申请存储表ID
      */
-    OaApprovalApplicationStorageVehicleDetailVO getVehicleDetail(Integer storageId);
+    OaApprovalApplicationStorageVehicleDetailVO getVehicleDetail(Integer approvalApplicationId);
 
     PageInfo<StorageListVO> pageList(ApprovalDetailQuery query);
+
+    /**
+     * 根据审批单ID删除入库申请
+     * @param id
+     */
+    void removeByApplicationId(Integer id);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java
index 051d780..d87033e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java
@@ -7,6 +7,7 @@
 import com.ruoyi.system.dto.asset.OaApprovalApplicationAssetReceiveDTO;
 import com.ruoyi.system.emums.ApprovalStatusEnum;
 import com.ruoyi.system.emums.ApprovalTypeEnum;
+import com.ruoyi.system.emums.AssetOperateTypeEnum;
 import com.ruoyi.system.mapper.OaApprovalApplicationAssetMapper;
 import com.ruoyi.system.model.OaApprovalApplicationAsset;
 import com.ruoyi.system.model.OaApprovalApplicationAssetItem;
@@ -49,32 +50,33 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void submitReceive(OaApprovalApplicationAssetReceiveDTO dto) {
-        if (CollectionUtils.isEmpty(dto.getAssetItems())) {
-            throw new ServiceException("领用资产列表不能为空");
+    public void submitReceiveBorrow(OaApprovalApplicationAssetReceiveDTO dto) {
+        if (CollectionUtils.isEmpty(dto.getAssetMainIds())) {
+            throw new ServiceException("领用资产ID列表不能为空");
         }
 
         // 1. 构建并保存审批主表
         OaApprovalApplications applications = buildOaApprovalApplications(dto);
 
         // 2. 获取流程首节点,设置当前节点,并保存
-        OaApprovalFlowNode firstFlowNode = getFirstFlowNode(ApprovalTypeEnum.GRAB.getCode());
+        OaApprovalFlowNode firstFlowNode = getFirstFlowNode(dto.getType().equals(AssetOperateTypeEnum.RECEIVE.getCode()) ?
+                ApprovalTypeEnum.GRAB.getCode() : ApprovalTypeEnum.BORROW.getCode());
         applications.setCurrentFlowNodeId(firstFlowNode.getId());
         oaApprovalApplicationsService.save(applications);
 
         // 3. 创建待办
         oaApprovalTodoService.createApprovalTodos(applications.getId(), applications.getApplicationCode(), firstFlowNode, dto.getDeptId());
 
-        // 4. 保存领用明细
+        // 4. 保存领用/借用明细
         OaApprovalApplicationAsset detail = buildOaApprovalApplicationAsset(dto, applications.getId());
         this.save(detail);
 
         // 5. 保存关联的资产项
-        List<OaApprovalApplicationAssetItem> items = dto.getAssetItems().stream()
+        List<OaApprovalApplicationAssetItem> items = dto.getAssetMainIds().stream()
                 .map(i -> {
                     OaApprovalApplicationAssetItem item = new OaApprovalApplicationAssetItem();
                     item.setApprovalApplicationId(applications.getId());
-                    item.setAssetMainId(i.getAssetMainId());
+                    item.setAssetMainId(i);
                     return item;
                 })
                 .collect(Collectors.toList());
@@ -115,8 +117,7 @@
         asset.setTitle(dto.getTitle());
         asset.setAssetTypeId(dto.getAssetTypeId());
         asset.setOperateTime(dto.getOperateTime());
-        asset.setExpectReturnDate(dto.getExpectReturnDate());
-        asset.setType(0); // 0-领用
+        asset.setType(AssetOperateTypeEnum.RECEIVE.getCode());
         return asset;
     }
 
@@ -139,19 +140,21 @@
     @Override
     public IPage<OaApprovalApplicationAssetPageVO> getReceivePageList(OaApprovalApplicationAssetPageQuery pageQuery) {
         Page<OaApprovalApplicationAssetPageVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
-        return this.baseMapper.selectReceivePage(page, pageQuery);
+        pageQuery.setType(0);//领用
+        return this.baseMapper.getPageByType(page, pageQuery);
     }
 
     @Override
     public OaApprovalApplicationAssetDetailVO getDetail(Integer id) {
-        OaApprovalApplicationAsset detail = this.getById(id);
-        if (detail == null) {
-            throw new ServiceException("记录不存在");
-        }
-        OaApprovalApplications app = oaApprovalApplicationsService.getById(detail.getApprovalApplicationId());
+        OaApprovalApplications app = oaApprovalApplicationsService.getById(id);
         if (app == null) {
             throw new ServiceException("审批主记录不存在");
         }
+        OaApprovalApplicationAsset detail = this.lambdaQuery().eq(OaApprovalApplicationAsset::getApprovalApplicationId, app.getId()).one();
+        if (detail == null) {
+            throw new ServiceException("记录不存在");
+        }
+
         List<OaApprovalApplicationAssetItem> items = oaApprovalApplicationAssetItemService.lambdaQuery()
                 .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, app.getId())
                 .list();
@@ -160,4 +163,11 @@
         vo.setItems(items);
         return vo;
     }
+
+    @Override
+    public IPage<OaApprovalApplicationAssetPageVO> getBorrowPageList(OaApprovalApplicationAssetPageQuery pageQuery) {
+        Page<OaApprovalApplicationAssetPageVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize());
+        pageQuery.setType(1);
+        return this.baseMapper.getPageByType(page, pageQuery);
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java
index 5c9f687..7dfc6c6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationStorageServiceImpl.java
@@ -523,14 +523,15 @@
     }
 
     @Override
-    public OaApprovalApplicationStorageGeneralDetailVO getGeneralDetail(Integer storageId) {
-        OaApprovalApplicationStorage storage = this.getById(storageId);
-        if (storage == null) {
-            throw new ServiceException("入库申请不存在");
-        }
-        OaApprovalApplications app = oaApprovalApplicationsService.getById(storage.getApprovalApplicationId());
+    public OaApprovalApplicationStorageGeneralDetailVO getGeneralDetail(Integer approvalApplicationId) {
+        OaApprovalApplications app = oaApprovalApplicationsService.getById(approvalApplicationId);
         if (app == null) {
             throw new ServiceException("审批主记录不存在");
+        }
+        OaApprovalApplicationStorage storage = this.lambdaQuery()
+                .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplicationId).one();
+        if (storage == null) {
+            throw new ServiceException("入库申请不存在");
         }
 
         OaApprovalApplicationStorageGeneralDetailVO vo = new OaApprovalApplicationStorageGeneralDetailVO();
@@ -549,18 +550,18 @@
             // 批量查询使用部门
             List<Integer> useDeptIds = mains.stream().map(OaApprovalApplicationStorageAsset::getUseDeptId)
                     .filter(Objects::nonNull).distinct().collect(Collectors.toList());
-            Map<Integer, TDept> useDeptMap = ownerIds.isEmpty() ? Collections.emptyMap()
+            Map<Integer, TDept> useDeptMap = useDeptIds.isEmpty() ? Collections.emptyMap()
                     : tDeptService.listByIds(useDeptIds).stream().collect(Collectors.toMap(TDept::getId, d -> d));
             // 批量查询仓库
             List<Integer> warehouseIds = mains.stream().map(OaApprovalApplicationStorageAsset::getWarehouseId)
                     .filter(Objects::nonNull).distinct().collect(Collectors.toList());
             Map<Integer, AssetWarehouse> warehouseMap = warehouseIds.isEmpty() ? Collections.emptyMap()
-                    : assetWarehouseService.listByIds(useDeptIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
+                    : assetWarehouseService.listByIds(warehouseIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
             List<OaApprovalApplicationStorageGeneralDetailVO.GeneralAssetItemVO> items = mains.stream().map(m -> {
                 OaApprovalApplicationStorageGeneralDetailVO.GeneralAssetItemVO item = BeanUtil.copyProperties(m, OaApprovalApplicationStorageGeneralDetailVO.GeneralAssetItemVO.class);
                 if (m.getOwnershipDeptId() != null) {
                     TDept dept = ownerDeptMap.get(m.getOwnershipDeptId());
-                    item.setOwnerShipDeptName(dept != null ? dept.getDeptName() : null);
+                    item.setOwnershipDeptName(dept != null ? dept.getDeptName() : null);
                 }
                 if (m.getAddressType().equals(0) && m.getUseDeptId() != null) {
                     TDept dept = useDeptMap.get(m.getUseDeptId());
@@ -577,14 +578,15 @@
     }
 
     @Override
-    public OaApprovalApplicationStoragePropertyDetailVO getPropertyDetail(Integer storageId) {
-        OaApprovalApplicationStorage storage = this.getById(storageId);
-        if (storage == null) {
-            throw new ServiceException("入库申请不存在");
-        }
-        OaApprovalApplications app = oaApprovalApplicationsService.getById(storage.getApprovalApplicationId());
+    public OaApprovalApplicationStoragePropertyDetailVO getPropertyDetail(Integer approvalApplicationId) {
+        OaApprovalApplications app = oaApprovalApplicationsService.getById(approvalApplicationId);
         if (app == null) {
             throw new ServiceException("审批主记录不存在");
+        }
+        OaApprovalApplicationStorage storage = this.lambdaQuery()
+                .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplicationId).one();
+        if (storage == null) {
+            throw new ServiceException("入库申请不存在");
         }
 
         OaApprovalApplicationStoragePropertyDetailVO vo = new OaApprovalApplicationStoragePropertyDetailVO();
@@ -607,19 +609,19 @@
             // 批量查询使用部门
             List<Integer> useDeptIds = mains.stream().map(OaApprovalApplicationStorageAsset::getUseDeptId)
                     .filter(Objects::nonNull).distinct().collect(Collectors.toList());
-            Map<Integer, TDept> useDeptMap = ownerIds.isEmpty() ? Collections.emptyMap()
+            Map<Integer, TDept> useDeptMap = useDeptIds.isEmpty() ? Collections.emptyMap()
                     : tDeptService.listByIds(useDeptIds).stream().collect(Collectors.toMap(TDept::getId, d -> d));
             // 批量查询仓库
             List<Integer> warehouseIds = mains.stream().map(OaApprovalApplicationStorageAsset::getWarehouseId)
                     .filter(Objects::nonNull).distinct().collect(Collectors.toList());
             Map<Integer, AssetWarehouse> warehouseMap = warehouseIds.isEmpty() ? Collections.emptyMap()
-                    : assetWarehouseService.listByIds(useDeptIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
+                    : assetWarehouseService.listByIds(warehouseIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
 
             List<OaApprovalApplicationStoragePropertyDetailVO.PropertyAssetItemVO> items = mains.stream().map(m -> {
                 OaApprovalApplicationStoragePropertyDetailVO.PropertyAssetItemVO item = BeanUtil.copyProperties(m, OaApprovalApplicationStoragePropertyDetailVO.PropertyAssetItemVO.class);
                 if (m.getOwnershipDeptId() != null) {
                     TDept dept = ownerDeptMap.get(m.getOwnershipDeptId());
-                    item.setOwnerShipDeptName(dept != null ? dept.getDeptName() : null);
+                    item.setOwnershipDeptName(dept != null ? dept.getDeptName() : null);
                 }
                 if (m.getAddressType().equals(0) && m.getUseDeptId() != null) {
                     TDept dept = useDeptMap.get(m.getUseDeptId());
@@ -655,14 +657,15 @@
     }
 
     @Override
-    public OaApprovalApplicationStorageVehicleDetailVO getVehicleDetail(Integer storageId) {
-        OaApprovalApplicationStorage storage = this.getById(storageId);
-        if (storage == null) {
-            throw new ServiceException("入库申请不存在");
-        }
-        OaApprovalApplications app = oaApprovalApplicationsService.getById(storage.getApprovalApplicationId());
+    public OaApprovalApplicationStorageVehicleDetailVO getVehicleDetail(Integer approvalApplicationId) {
+        OaApprovalApplications app = oaApprovalApplicationsService.getById(approvalApplicationId);
         if (app == null) {
             throw new ServiceException("审批主记录不存在");
+        }
+        OaApprovalApplicationStorage storage = this.lambdaQuery()
+                .eq(OaApprovalApplicationStorage::getApprovalApplicationId, approvalApplicationId).one();
+        if (storage == null) {
+            throw new ServiceException("入库申请不存在");
         }
 
         OaApprovalApplicationStorageVehicleDetailVO vo = new OaApprovalApplicationStorageVehicleDetailVO();
@@ -685,18 +688,18 @@
             // 批量查询使用部门
             List<Integer> useDeptIds = mains.stream().map(OaApprovalApplicationStorageAsset::getUseDeptId)
                     .filter(Objects::nonNull).distinct().collect(Collectors.toList());
-            Map<Integer, TDept> useDeptMap = ownerIds.isEmpty() ? Collections.emptyMap()
+            Map<Integer, TDept> useDeptMap = useDeptIds.isEmpty() ? Collections.emptyMap()
                     : tDeptService.listByIds(useDeptIds).stream().collect(Collectors.toMap(TDept::getId, d -> d));
             // 批量查询仓库
             List<Integer> warehouseIds = mains.stream().map(OaApprovalApplicationStorageAsset::getWarehouseId)
                     .filter(Objects::nonNull).distinct().collect(Collectors.toList());
             Map<Integer, AssetWarehouse> warehouseMap = warehouseIds.isEmpty() ? Collections.emptyMap()
-                    : assetWarehouseService.listByIds(useDeptIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
+                    : assetWarehouseService.listByIds(warehouseIds).stream().collect(Collectors.toMap(AssetWarehouse::getId, d -> d));
             List<OaApprovalApplicationStorageVehicleDetailVO.VehicleAssetItemVO> items = mains.stream().map(m -> {
                 OaApprovalApplicationStorageVehicleDetailVO.VehicleAssetItemVO item = BeanUtil.copyProperties(m, OaApprovalApplicationStorageVehicleDetailVO.VehicleAssetItemVO.class);
                 if (m.getOwnershipDeptId() != null) {
                     TDept dept = ownerDeptMap.get(m.getOwnershipDeptId());
-                    item.setOwnerShipDeptName(dept != null ? dept.getDeptName() : null);
+                    item.setOwnershipDeptName(dept != null ? dept.getDeptName() : null);
                 }
                 if (m.getAddressType().equals(0) && m.getUseDeptId() != null) {
                     TDept dept = useDeptMap.get(m.getUseDeptId());
@@ -730,6 +733,7 @@
             v.setDeptName(app.getDeptName());
             v.setApplicantUserId(app.getApplicantUserId());
             v.setApplicantName(app.getApplicantName());
+            v.setApprovalStatus(app.getApprovalStatus());
             v.setApplicationDate(app.getApplicationDate());
             v.setApplicationReason(app.getApplicationReason());
             v.setAttachmentUrl(app.getAttachmentUrl());
@@ -743,6 +747,7 @@
             v.setDeptName(app.getDeptName());
             v.setApplicantUserId(app.getApplicantUserId());
             v.setApplicantName(app.getApplicantName());
+            v.setApprovalStatus(app.getApprovalStatus());
             v.setApplicationDate(app.getApplicationDate());
             v.setApplicationReason(app.getApplicationReason());
             v.setAttachmentUrl(app.getAttachmentUrl());
@@ -756,6 +761,7 @@
             v.setDeptName(app.getDeptName());
             v.setApplicantUserId(app.getApplicantUserId());
             v.setApplicantName(app.getApplicantName());
+            v.setApprovalStatus(app.getApprovalStatus());
             v.setApplicationDate(app.getApplicationDate());
             v.setApplicationReason(app.getApplicationReason());
             v.setAttachmentUrl(app.getAttachmentUrl());
@@ -773,4 +779,13 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void removeByApplicationId(Integer id) {
+        //删除入库申请相关数据
+        this.lambdaUpdate().eq(OaApprovalApplicationStorage::getApprovalApplicationId, id).remove();
+        //删除入库申请单
+        oaApprovalApplicationsService.removeById(id);
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetDetailVO.java
index a3eea4e..87fa269 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetDetailVO.java
@@ -42,7 +42,7 @@
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate applicationDate;
 
-    @ApiModelProperty(value = "事由/原因/说明")
+    @ApiModelProperty(value = "事由/原因/说明/备注")
     private String applicationReason;
 
     @ApiModelProperty(value = "审批状态 0-草稿,1-待审批,2-审批通过,3-审批拒绝 ,4-已撤回")
@@ -64,6 +64,7 @@
     private LocalDate operateTime;
 
     @ApiModelProperty(value = "预计退还日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate expectReturnDate;
 
     @ApiModelProperty(value = "操作类型 0-领用,1-借用,2-归还")
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetPageVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetPageVO.java
index c420e67..92c1663 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetPageVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationAssetPageVO.java
@@ -25,10 +25,10 @@
     @ApiModelProperty("标题")
     private String title;
 
-    @ApiModelProperty("领用部门")
+    @ApiModelProperty("领用/借用部门")
     private String deptName;
 
-    @ApiModelProperty("领用人")
+    @ApiModelProperty("领用/借用人")
     private String applicantName;
 
     @ApiModelProperty("资产一级类型名称")
@@ -37,11 +37,14 @@
     @ApiModelProperty("资产二级类型名称")
     private String secondAssetTypeName;
 
-    @ApiModelProperty("领用日期")
+    @ApiModelProperty("领用/借用日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate operateTime;
 
     @ApiModelProperty("状态 0-草稿,1-待审批,2-通过,3-拒绝,4-撤回")
     private Integer approvalStatus;
+
+    @ApiModelProperty("归还状态 0-待归还,1-部分归还,2-全部归还")
+    private Integer returnStatus;
 }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageGeneralDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageGeneralDetailVO.java
index 291c6e8..a1a6221 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageGeneralDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageGeneralDetailVO.java
@@ -29,6 +29,9 @@
     @ApiModelProperty(value = "申请人姓名")
     private String applicantName;
 
+    @ApiModelProperty(value = "审批状态 0-草稿,1-待审批,2-审批通过,3-审批拒绝 ,4-已撤回")
+    private Integer approvalStatus;
+
     @ApiModelProperty(value = "申请日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate applicationDate;
@@ -58,11 +61,18 @@
     @Data
     @ApiModel("通用资产明细VO")
     public static class GeneralAssetItemVO implements Serializable {
+
+        @ApiModelProperty(value = "资产主表ID")
+        private Integer id;
+
         @ApiModelProperty(value = "资产原编码")
         private String assetOriginalCode;
 
         @ApiModelProperty(value = "资产名称")
         private String assetName;
+
+        @ApiModelProperty(value = "类别")
+        private String category;
 
         @ApiModelProperty(value = "规格型号")
         private String specificationModel;
@@ -80,7 +90,7 @@
         private Integer usefulLife;
 
         @ApiModelProperty(value = "权属单位/部门名称")
-        private String ownerShipDeptName;
+        private String ownershipDeptName;
 
         @ApiModelProperty(value = "使用人")
         private String userName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStoragePropertyDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStoragePropertyDetailVO.java
index 04b89c9..7586819 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStoragePropertyDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStoragePropertyDetailVO.java
@@ -29,6 +29,9 @@
     @ApiModelProperty(value = "申请人姓名")
     private String applicantName;
 
+    @ApiModelProperty(value = "审批状态 0-草稿,1-待审批,2-审批通过,3-审批拒绝 ,4-已撤回")
+    private Integer approvalStatus;
+
     @ApiModelProperty(value = "申请日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate applicationDate;
@@ -58,11 +61,17 @@
     @Data
     @ApiModel("房产资产明细VO")
     public static class PropertyAssetItemVO implements Serializable {
+        @ApiModelProperty(value = "资产主表ID")
+        private Integer id;
+
         @ApiModelProperty(value = "资产原编码")
         private String assetOriginalCode;
 
         @ApiModelProperty(value = "资产名称")
         private String assetName;
+
+        @ApiModelProperty(value = "类别")
+        private String category;
 
         @ApiModelProperty(value = "规格型号")
         private String specificationModel;
@@ -80,7 +89,7 @@
         private Integer usefulLife;
 
         @ApiModelProperty(value = "权属单位/部门名称")
-        private String ownerShipDeptName;
+        private String ownershipDeptName;
 
         @ApiModelProperty(value = "使用人")
         private String userName;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageVehicleDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageVehicleDetailVO.java
index c1a2fbf..f250691 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageVehicleDetailVO.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/asset/OaApprovalApplicationStorageVehicleDetailVO.java
@@ -29,6 +29,9 @@
     @ApiModelProperty(value = "申请人姓名")
     private String applicantName;
 
+    @ApiModelProperty(value = "审批状态 0-草稿,1-待审批,2-审批通过,3-审批拒绝 ,4-已撤回")
+    private Integer approvalStatus;
+
     @ApiModelProperty(value = "申请日期")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private LocalDate applicationDate;
@@ -58,11 +61,17 @@
     @Data
     @ApiModel("车辆资产明细VO")
     public static class VehicleAssetItemVO implements Serializable {
+        @ApiModelProperty(value = "资产主表ID")
+        private Integer id;
+
         @ApiModelProperty(value = "资产原编码")
         private String assetOriginalCode;
 
         @ApiModelProperty(value = "资产名称")
         private String assetName;
+
+        @ApiModelProperty(value = "类别")
+        private String category;
 
         @ApiModelProperty(value = "规格型号")
         private String specificationModel;
@@ -80,7 +89,7 @@
         private Integer usefulLife;
 
         @ApiModelProperty(value = "权属单位/部门名称")
-        private String ownerShipDeptName;
+        private String ownershipDeptName;
 
         @ApiModelProperty(value = "使用人")
         private String userName;
diff --git a/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetMapper.xml
index 4f1cd2e..c6ead5d 100644
--- a/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetMapper.xml
@@ -20,9 +20,9 @@
 </sql>
 
     <!-- 分页查询:资产领用申请列表(关联审批记录与资产类型) -->
-    <select id="selectReceivePage" resultType="com.ruoyi.system.vo.asset.OaApprovalApplicationAssetPageVO">
+    <select id="getPageByType" resultType="com.ruoyi.system.vo.asset.OaApprovalApplicationAssetPageVO">
         SELECT
-            oaa.id                               AS id,
+            aaa.id                               AS id,
             aaa.application_code                 AS applicationCode,
             oaa.title                            AS title,
             aaa.dept_name                        AS deptName,
@@ -31,13 +31,14 @@
             CASE WHEN at2.level = 2 THEN at2.type_name ELSE NULL END         AS secondAssetTypeName,
             oaa.operate_time                     AS operateTime,
             aaa.approval_status                  AS approvalStatus
+            oaa.return_status                     AS returnStatus
         FROM oa_approval_application_asset oaa
                  INNER JOIN oa_approval_applications aaa ON aaa.id = oaa.approval_application_id
                  LEFT JOIN asset_type at2 ON at2.id = oaa.asset_type_id
                  LEFT JOIN asset_type at1 ON at1.id = (CASE WHEN at2.level = 2 THEN at2.parent_id ELSE at2.id END)
         <where>
             AND aaa.disabled = 0
-            AND oaa.type = 0
+            AND oaa.type = #{query.type}
             <if test="query != null and query.keyword != null and query.keyword != ''">
                 AND (
                     oaa.title LIKE CONCAT('%', #{query.keyword}, '%')
diff --git a/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationStorageMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationStorageMapper.xml
index 94db2a5..1332ce7 100644
--- a/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationStorageMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationStorageMapper.xml
@@ -20,7 +20,7 @@
     <!-- 分页查询:资产入库申请列表(关联审批记录与资产类型) -->
     <select id="selectApplicationStoragePage" resultType="com.ruoyi.system.vo.asset.OaApprovalApplicationStoragePageVO">
         SELECT
-            oas.id                               AS id,
+            aaa.id                               AS id,
             oas.asset_type_id                    AS assetTypeId,
             aaa.dept_name                        AS deptName,
             aaa.application_code                 AS applicationCode,

--
Gitblit v1.7.1