无关风月
20 小时以前 d1059cf7a8e9c4d8d4a213d7c949379b94f05133
资产汇总 出入库记录 闲置房产
15个文件已修改
5个文件已添加
385 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetTypeMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/AsseIdleListQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/AssetTypeService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleVO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetStatisticsDetailVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetItemMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java
@@ -1,8 +1,30 @@
package com.ruoyi.web.controller.api;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.TDept;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.AssetMain;
import com.ruoyi.system.query.AssetRepairRequestListQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.service.AssetMainService;
import com.ruoyi.system.service.AssetRepairRecordService;
import com.ruoyi.system.service.TDeptService;
import com.ruoyi.system.vo.AssetRepairRequestVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
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.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -14,7 +36,35 @@
 */
@RestController
@RequestMapping("/asset-repair-request")
public class AssetRepairRequestController {
@Api(tags = {"资产报修"})
public class AssetRepairRequestController {
    @Resource
    private AssetRepairRecordService assetRepairRecordService;
    @Autowired
    private TokenService tokenService;
    @Autowired
    private TDeptService deptService;
    @Resource
    private AssetMainService assetMainService;
    @ApiOperation("资产报修分页列表")
    @PostMapping("/pageList")
    public R<PageInfo<AssetRepairRequestVO>> pageList(@RequestBody AssetRepairRequestListQuery query) {
        String deptId = tokenService.getLoginUser().getDeptId();
        List<Integer> deptIds = deptService.getAllSubDeptIds(deptId);
        if (deptIds.isEmpty()) {
            return R.ok(new PageInfo<>());
        } else {
            query.setDeptIds(deptIds);
        }
        List<Integer> assetMainIds = assetMainService.lambdaQuery().in(AssetMain::getOwnershipDeptId, deptIds).list()
                .stream().map(AssetMain::getId).collect(Collectors.toList());
        if (assetMainIds.isEmpty()){
            return R.ok(new PageInfo<>());
        }
        query.setAssetMainIds(assetMainIds);
        return R.ok(assetRepairRecordService.pageList(query));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java
@@ -6,6 +6,8 @@
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.AssetInventoryRecord;
import com.ruoyi.system.model.AssetMain;
import com.ruoyi.system.model.AssetType;
import com.ruoyi.system.query.AsseIdleListQuery;
import com.ruoyi.system.query.AssetInventoryListQuery;
import com.ruoyi.system.query.AssetStatisticsListDetailQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
@@ -13,9 +15,7 @@
import com.ruoyi.system.service.AssetMainService;
import com.ruoyi.system.service.AssetTypeService;
import com.ruoyi.system.service.TDeptService;
import com.ruoyi.system.vo.AssetInventoryVO;
import com.ruoyi.system.vo.AssetStatisticsDetailVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
import com.ruoyi.system.vo.*;
import com.ruoyi.system.vo.asset.AssetTypeTreeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -25,6 +25,8 @@
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.time.LocalDateTime;
import java.time.YearMonth;
import java.util.ArrayList;
@@ -229,6 +231,42 @@
        PageInfo<AssetStatisticsDetailVO> res = assetTypeService.pageListInventoryDetail(query);
        return R.ok(res);
    }
    @ApiOperation("闲置房产")
    @PostMapping("/pageListIdle")
    public R<AssetIdleVO> pageListIdle(@RequestBody AsseIdleListQuery query) {
        AssetType child = assetTypeService.getById(8);
        AssetType parent = assetTypeService.getById(child.getParentId());
        AssetIdleVO res = new AssetIdleVO();
        res.setAssetMainTypeName(parent.getTypeName()+">"+child.getTypeName());
        if (StringUtils.hasLength(query.getNameOrCode())){
            // 查询出资产名称或者资产编号符合条件的code
            List<Integer> assetMainIds = assetMainService.lambdaQuery()
                    .and(wrapper -> wrapper.like(AssetMain::getAssetName, query.getNameOrCode())
                            .or()
                            .like(AssetMain::getAssetCode, query.getNameOrCode()))
                    .list()
                    .stream()
                    .map(AssetMain::getAssetTypeId)
                    .collect(Collectors.toList());
            query.setAssetMainIds(assetMainIds);
            if (assetMainIds.isEmpty()){
                res.setPageList(new PageInfo<>());
                return R.ok(res);
            }
        }
        PageInfo<AssetIdleListVO> pageList = assetTypeService.pageListIdle(query);
        List<AssetIdleListVO> noLimit = assetTypeService.pageListIdleNoLimit(query);
        Integer totalCount = 0;
        BigDecimal totalValue = new BigDecimal(BigInteger.ZERO);
        for (AssetIdleListVO assetIdleListVO : noLimit) {
            totalCount+=assetIdleListVO.getQuantity();
            totalValue = totalValue.add(new BigDecimal(assetIdleListVO.getQuantity()).multiply(assetIdleListVO.getUnitPrice()));
        }
        res.setTotalCount(totalCount);
        res.setTotalValue(totalValue);
        res.setPageList(pageList);
        return R.ok(res);
    }
    
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
@@ -295,6 +295,13 @@
                    break;
                case 9:
                    OaApprovalApplicationAsset oaApprovalApplicationAssetBack = approvalApplicationAssetMap.get(approvalApplication.getId());
                    // 归还资产条数
                    List<OaApprovalApplicationAssetItem> back = approvalApplicationAssetItemMap.get(approvalApplication.getId());
                    // 借用资产条数
                    List<OaApprovalApplicationAssetItem> grab = approvalApplicationAssetItemMap.get(oaApprovalApplicationAssetBack.getBorrowApplicationId());
                    if (back.size()==grab.size()){
//                        approvalTodoVO.setReturnStatus(2);
                    }
                    if (oaApprovalApplicationAssetBack!=null){
                        approvalTodoVO.setOperateTime(oaApprovalApplicationAssetBack.getExpectReturnDate());
                    }
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java
@@ -533,6 +533,7 @@
    public R<PageInfo<PurchaseListVO>> detailPurchaseList(@RequestBody ApprovalDetailQuery query) {
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<PurchaseListVO> items = approvalApplicationPurchaseItemService.pageList(query);
        return R.ok(items);
    }
@@ -581,6 +582,7 @@
    public R<PageInfo<GrabListVO>> detailGrabList(@RequestBody ApprovalDetailQuery query) {
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
        return R.ok(items);
    }
@@ -629,6 +631,7 @@
    public R<PageInfo<StorageListVO>> detailInStockList(@RequestBody ApprovalDetailQuery query) {
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<StorageListVO> items = approvalApplicationStorageService.pageList(query);
        return R.ok(items);
    }
@@ -667,6 +670,7 @@
    public R<PageInfo<GrabListVO>> detailBurrowList(@RequestBody ApprovalDetailQuery query) {
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
        return R.ok(items);
    }
@@ -710,6 +714,7 @@
    public R<PageInfo<GrabListVO>> detailBackList(@RequestBody ApprovalDetailQuery query) {
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
        return R.ok(items);
    }
@@ -757,6 +762,7 @@
        
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
        return R.ok(items);
    }
@@ -808,6 +814,7 @@
    public R<PageInfo<GrabListVO>> detailChangeList(@RequestBody ApprovalDetailQuery query) {
        OaApprovalApplications approvalApplications = approvalApplicationsService.getById(query.getId());
        query.setId(approvalApplications.getId());
        query.setApprovalApplicationId(approvalApplications.getId());
        PageInfo<GrabListVO> items = approvalApplicationAssetItemService.pageList(query);
        return R.ok(items);
    }
ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java
@@ -1,7 +1,14 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.AssetRepairRecord;
import com.ruoyi.system.query.AssetRepairRequestListQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.vo.AssetRepairRequestVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +20,6 @@
 */
public interface AssetRepairRecordMapper extends BaseMapper<AssetRepairRecord> {
    List<AssetRepairRequestVO> pageList(@Param("query") AssetRepairRequestListQuery query, @Param("pageInfo") PageInfo<AssetRepairRequestVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetTypeMapper.java
@@ -3,9 +3,11 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.AssetType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.query.AsseIdleListQuery;
import com.ruoyi.system.query.AssetInventoryListQuery;
import com.ruoyi.system.query.AssetStatisticsListDetailQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.vo.AssetIdleListVO;
import com.ruoyi.system.vo.AssetInventoryVO;
import com.ruoyi.system.vo.AssetStatisticsDetailVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
@@ -34,5 +36,7 @@
    List<AssetStatisticsDetailVO> pageListInventoryDetail(@Param("query")AssetStatisticsListDetailQuery query,@Param("pageInfo") PageInfo<AssetStatisticsDetailVO> pageInfo);
    List<AssetIdleListVO> pageListIdle(@Param("query")AsseIdleListQuery query,@Param("pageInfo") PageInfo<AssetIdleListVO> pageInfo);
    List<AssetIdleListVO> pageListIdleNoLimit(@Param("query")AsseIdleListQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java
@@ -51,6 +51,9 @@
    @ApiModelProperty(value = "巡检子项名称(冗余字段)")
    @TableField("sub_item_name")
    private String subItemName;
    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;
    @ApiModelProperty(value = "巡检结果:1-正常、0-异常")
    @TableField("inspection_result")
ruoyi-system/src/main/java/com/ruoyi/system/query/AsseIdleListQuery.java
New file
@@ -0,0 +1,22 @@
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 java.time.LocalDateTime;
import java.util.List;
@Data
@ApiModel(value = "闲置资产分页列表query")
public class AsseIdleListQuery extends BasePage {
    @ApiModelProperty(value = "资产名称或编号")
    private String nameOrCode;
    @ApiModelProperty(value = "资产状态")
    private String assetStatus;
    @ApiModelProperty(value = "资产ids 前端忽略")
    private List<Integer> assetMainIds;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java
New file
@@ -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 java.util.List;
@Data
@ApiModel(value = "资产保修分页列表query")
public class AssetRepairRequestListQuery extends BasePage {
    @ApiModelProperty(value = "标题或单号")
    private String numberOrTitle;
    @ApiModelProperty(value = "资产ids 前端忽略")
    private List<Integer> assetMainIds;
    @ApiModelProperty(value = "部门id 前端忽略")
    private List<Integer> deptIds;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java
@@ -1,7 +1,12 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.AssetRepairRecord;
import com.ruoyi.system.query.AssetRepairRequestListQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.vo.AssetRepairRequestVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
/**
 * <p>
@@ -13,4 +18,6 @@
 */
public interface AssetRepairRecordService extends IService<AssetRepairRecord> {
    PageInfo<AssetRepairRequestVO> pageList(AssetRepairRequestListQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/AssetTypeService.java
@@ -4,9 +4,11 @@
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.dto.asset.AssetTypeDTO;
import com.ruoyi.system.model.AssetType;
import com.ruoyi.system.query.AsseIdleListQuery;
import com.ruoyi.system.query.AssetInventoryListQuery;
import com.ruoyi.system.query.AssetStatisticsListDetailQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.vo.AssetIdleListVO;
import com.ruoyi.system.vo.AssetInventoryVO;
import com.ruoyi.system.vo.AssetStatisticsDetailVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
@@ -69,4 +71,8 @@
    PageInfo<AssetStatisticsDetailVO> pageListInventoryDetail(AssetStatisticsListDetailQuery query);
    PageInfo<AssetIdleListVO> pageListIdle(AsseIdleListQuery query);
    List<AssetIdleListVO> pageListIdleNoLimit(AsseIdleListQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java
@@ -1,10 +1,21 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.AssetRepairRecordMapper;
import com.ruoyi.system.model.AssetRepairRecord;
import com.ruoyi.system.model.AssetType;
import com.ruoyi.system.query.AssetRepairRequestListQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.service.AssetRepairRecordService;
import com.ruoyi.system.vo.AssetIdleListVO;
import com.ruoyi.system.vo.AssetRepairRequestVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +28,11 @@
@Service
public class AssetRepairRecordServiceImpl extends ServiceImpl<AssetRepairRecordMapper, AssetRepairRecord> implements AssetRepairRecordService {
    @Override
    public PageInfo<AssetRepairRequestVO> pageList(AssetRepairRequestListQuery query) {
        PageInfo<AssetRepairRequestVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<AssetRepairRequestVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java
@@ -14,12 +14,14 @@
import com.ruoyi.system.model.AssetInventoryRecord;
import com.ruoyi.system.model.AssetMain;
import com.ruoyi.system.model.AssetType;
import com.ruoyi.system.query.AsseIdleListQuery;
import com.ruoyi.system.query.AssetInventoryListQuery;
import com.ruoyi.system.query.AssetStatisticsListDetailQuery;
import com.ruoyi.system.query.AssetStatisticsListQuery;
import com.ruoyi.system.service.AssetInventoryRecordService;
import com.ruoyi.system.service.AssetMainService;
import com.ruoyi.system.service.AssetTypeService;
import com.ruoyi.system.vo.AssetIdleListVO;
import com.ruoyi.system.vo.AssetInventoryVO;
import com.ruoyi.system.vo.AssetStatisticsDetailVO;
import com.ruoyi.system.vo.AssetStatisticsVO;
@@ -491,4 +493,29 @@
        return pageInfo;
    }
    @Override
    public PageInfo<AssetIdleListVO> pageListIdle(AsseIdleListQuery query) {
        Map<Integer, AssetType> assetTypeMap = assetTypeService.list().stream().collect(
                Collectors.toMap(AssetType::getId, e -> e)
        );
        PageInfo<AssetIdleListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<AssetIdleListVO> list = this.baseMapper.pageListIdle(query,pageInfo);
        for (AssetIdleListVO assetIdleListVO : list) {
            AssetType assetType = assetTypeMap.get(assetIdleListVO.getAssetTypeId());
            if (assetType!=null){
                AssetType parent = assetTypeMap.get(assetType.getParentId());
                assetIdleListVO.setAssetTypeName(parent.getTypeName()+">"+assetType.getTypeName());
            }
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public List<AssetIdleListVO> pageListIdleNoLimit(AsseIdleListQuery query) {
        List<AssetIdleListVO> list = this.baseMapper.pageListIdleNoLimit(query);
        return list;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java
New file
@@ -0,0 +1,59 @@
package com.ruoyi.system.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
@Data
@ApiModel(value = "闲置房产分页返回VO")
public class AssetIdleListVO implements Serializable {
    @ApiModelProperty(value = "资产名称")
    private String assetName;
    @ApiModelProperty(value = "规格型号")
    private String specificationModel;
    @ApiModelProperty(value = "资产类型")
    private String assetTypeName;
    @ApiModelProperty(value = "资产类型id")
    private Integer assetTypeId;
    @ApiModelProperty(value = "资产类别")
    private String category;
    @ApiModelProperty(value = "计量单位")
    private String measurementUnit;
    @ApiModelProperty(value = "数量")
    private Integer quantity;
    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;
    @ApiModelProperty(value = "总价值(数量*单价)")
    private BigDecimal totalValue;
    @ApiModelProperty(value = "入账时间")
    private LocalDate accountingDate;
    @ApiModelProperty(value = "会计凭证号")
    private String accountingVoucherNo;
    @ApiModelProperty(value = "会计科目")
    private String accountingSubject;
    @ApiModelProperty(value = "入账金额")
    private BigDecimal accountingAmount;
    @ApiModelProperty(value = "入账状态")
    private String accountingStatus;
    @ApiModelProperty(value = "资产状态")
    private String assetStatus;
    @ApiModelProperty(value = "归属部门")
    private String ownershipDeptName;
    @ApiModelProperty(value = "使用人")
    private String userName;
    @ApiModelProperty(value = "使用部门/位置")
    private String useName;
    @ApiModelProperty(value = "备注")
    private String remarks;
    @ApiModelProperty(value = "位置类型 0-部门,1-仓库,2-录入地址")
    private Integer addressType;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleVO.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.system.vo;
import com.ruoyi.common.basic.PageInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
@Data
@ApiModel(value = "资产汇总分页返回VO")
public class AssetIdleVO implements Serializable {
   @ApiModelProperty(value = "合计数量")
    private Integer totalCount;
    @ApiModelProperty(value = "合计总价")
    private BigDecimal totalValue;
    @ApiModelProperty(value = "资产类型名称")
    private String assetMainTypeName;
    @ApiModelProperty(value = "分页列表数据")
    private PageInfo<AssetIdleListVO> pageList;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.AssetRepairRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
@ApiModel(value = "资产报修分页返回VO")
public class AssetRepairRequestVO extends AssetRepairRequest {
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetStatisticsDetailVO.java
@@ -9,7 +9,7 @@
import java.time.LocalDate;
@Data
@ApiModel(value = "资产汇总分页返回VO")
@ApiModel(value = "资产出入库/明细分页返回VO")
public class AssetStatisticsDetailVO implements Serializable {
    @ApiModelProperty(value = "出入库类型")
    private String typeName;
ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml
@@ -25,5 +25,15 @@
    <sql id="Base_Column_List">
        id, repair_request_id, repair_no, title, repair_time, repair_by, asset_type_id, repair_remarks, attachment_urls, repair_status, create_time, create_by, update_time, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.AssetRepairRequestVO">
        select t1.*,t2.asset_main_id as assetMainId from asset_repair_request_item t1
        left join asset_repair_request_item t2 on t1.id = t2.repair_request_id
        where 1=1
        <if test="query.numberOrTitle != null and query.numberOrTitle != ''">
            AND (t1.repair_no like concat('%', #{query.numberOrTitle}, '%') or t1.title like concat('%', #{query.numberOrTitle}, '%'))
        </if>
        AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        order by t1.repair_status, t1.urgency_level asc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml
@@ -148,5 +148,51 @@
        order by t1.create_time desc
    </select>
    <select id="pageListIdle" resultType="com.ruoyi.system.vo.AssetIdleListVO">
        select t1.* ,t2.type_name as assetTypeName,t4.dept_name as ownershipDeptName,
        case
        when t1.use_dept_id is not null and t1.use_dept_id != '' then t3.dept_name
        when t1.address is not null and t1.address != '' then t1.address
        when t1.warehouse_name is not null and t1.warehouse_name != '' then t1.warehouse_name
        else null
        end as useName from asset_main t1
        left join asset_type t2 on t2.id = t1.asset_type_id
        left join t_dept t3 on t3.id = t1.use_dept_id
        left join t_dept t4 on t4.id = t1.ownership_dept_id
        where 1=1
        AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        <if test="query.assetMainIds != null and query.assetMainIds.size()>0">
            AND t1.id IN
            <foreach collection="query.assetMainIds" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        order by t1.create_time desc
    </select>
    <select id="pageListIdleNoLimit" resultType="com.ruoyi.system.vo.AssetIdleListVO">
        select t1.* ,t2.type_name as assetTypeName,t4.dept_name as ownershipDeptName,
        case
        when t1.use_dept_id is not null and t1.use_dept_id != '' then t3.dept_name
        when t1.address is not null and t1.address != '' then t1.address
        when t1.warehouse_name is not null and t1.warehouse_name != '' then t1.warehouse_name
        else null
        end as useName from asset_main t1
        left join asset_type t2 on t2.id = t1.asset_type_id
        left join t_dept t3 on t3.id = t1.use_dept_id
        left join t_dept t4 on t4.id = t1.ownership_dept_id
        where 1=1
        AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        <if test="query.assetMainIds != null and query.assetMainIds.size()>0">
            AND t1.id IN
            <foreach collection="query.assetMainIds" item="item" open="(" separator="," close=")">
                #{item}
            </foreach>
        </if>
        order by t1.create_time desc
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetItemMapper.xml
@@ -32,7 +32,7 @@
                 left join asset_main t2 on t2.id = t1.asset_main_id
                 left join asset_type t3 on t3.id = t2.asset_type_id
                 left join t_dept t4 on t4.id = t2.ownership_dept_id
                 left join oa_approval_application_storage t5 on t5.approval_application_id = t1.approval_application_id
                 left join oa_approval_application_storage t5 on t5.approval_application_id = t2.approval_application_id
                 left join t_dept t6 on t6.id = t2.use_dept_id
        where t1.approval_application_id = #{query.approvalApplicationId}
        order by t1.id  desc