From 0d82e9bb89c8569847537f1ce8b9d994bbc4099b Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期一, 29 九月 2025 19:57:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java | 52 +++++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalTodoController.java | 7 + ruoyi-system/src/main/java/com/ruoyi/system/model/AssetHouseInspectionDetail.java | 3 ruoyi-system/src/main/java/com/ruoyi/system/query/AsseIdleListQuery.java | 22 +++ ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java | 21 +++ ruoyi-system/src/main/java/com/ruoyi/system/service/AssetTypeService.java | 6 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java | 18 ++ ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml | 10 + ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java | 16 ++ ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java | 59 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleVO.java | 23 +++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java | 27 +++ ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetStatisticsDetailVO.java | 2 ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetItemMapper.xml | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java | 7 + ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetTypeMapper.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java | 9 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java | 44 +++++ ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java | 7 + ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml | 46 ++++++ 20 files changed, 379 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java index 3e88256..0a44643 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java @@ -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)); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java index 0795b13..e5f61c6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetStatisticsController.java @@ -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); + } } 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 cd68061..02da6dc 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 @@ -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()); } 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 af49e9e..8eb7a3d 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 @@ -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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java index 23bbf83..807fb33 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetRepairRecordMapper.java @@ -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); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetTypeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetTypeMapper.java index a655310..39044e4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/AssetTypeMapper.java +++ b/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); } 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 ef8149d..6b02140 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 @@ -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") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/AsseIdleListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/AsseIdleListQuery.java new file mode 100644 index 0000000..db6d5f1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/AsseIdleListQuery.java @@ -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; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.java new file mode 100644 index 0000000..7527349 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/AssetRepairRequestListQuery.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 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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java index b71ae33..240be6c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetRepairRecordService.java @@ -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); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetTypeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetTypeService.java index 2401d9e..80d3960 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/AssetTypeService.java +++ b/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); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java index b0c561c..c5acfe3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetRepairRecordServiceImpl.java @@ -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; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java index 20e3869..46354d3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AssetTypeServiceImpl.java @@ -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; + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java new file mode 100644 index 0000000..dca285e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleListVO.java @@ -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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleVO.java new file mode 100644 index 0000000..41ee4b0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetIdleVO.java @@ -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; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java new file mode 100644 index 0000000..640f6eb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetRepairRequestVO.java @@ -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 { + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetStatisticsDetailVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetStatisticsDetailVO.java index a330026..736b37f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/AssetStatisticsDetailVO.java +++ b/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; diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml index 8e52586..a1b48a1 100644 --- a/ruoyi-system/src/main/resources/mapper/system/AssetRepairRecordMapper.xml +++ b/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> diff --git a/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml index 15e7004..4430581 100644 --- a/ruoyi-system/src/main/resources/mapper/system/AssetTypeMapper.xml +++ b/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> diff --git a/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetItemMapper.xml b/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetItemMapper.xml index 36dddfb..61e8401 100644 --- a/ruoyi-system/src/main/resources/mapper/system/OaApprovalApplicationAssetItemMapper.xml +++ b/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 -- Gitblit v1.7.1