From 60afc1c228318d136a273cd0b389217f87583277 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 11 十月 2025 11:29:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/AssetRepairRequestController.java | 104 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 98 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 0a44643..1b64135 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,28 +1,41 @@ package com.ruoyi.web.controller.api; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.TDept; +import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.system.dto.AddAssetRepairRequestDTO; +import com.ruoyi.system.dto.AddContractDTO; import com.ruoyi.system.model.AssetMain; +import com.ruoyi.system.model.AssetRepairRequest; +import com.ruoyi.system.model.AssetRepairRequestItem; import com.ruoyi.system.query.AssetRepairRequestListQuery; import com.ruoyi.system.query.AssetStatisticsListQuery; +import com.ruoyi.system.service.*; import com.ruoyi.system.service.AssetMainService; import com.ruoyi.system.service.AssetRepairRecordService; import com.ruoyi.system.service.TDeptService; +import com.ruoyi.system.vo.AssetRepairListVO; import com.ruoyi.system.vo.AssetRepairRequestVO; import com.ruoyi.system.vo.AssetStatisticsVO; +import com.ruoyi.system.vo.GrabListVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.models.auth.In; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.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 org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -41,10 +54,18 @@ public class AssetRepairRequestController { @Resource private AssetRepairRecordService assetRepairRecordService; + @Resource + private AssetRepairRequestService assetRepairRequestService; + @Resource + private OaApprovalApplicationAssetItemService approvalApplicationAssetItemService; + @Resource + private AssetRepairRequestItemService assetRepairRequestItemService; @Autowired private TokenService tokenService; @Autowired private TDeptService deptService; + @Autowired + private ISysUserService sysUserService; @Resource private AssetMainService assetMainService; @@ -57,14 +78,85 @@ return R.ok(new PageInfo<>()); } else { query.setDeptIds(deptIds); + List<Long> userIds = sysUserService.selectAllList().stream().filter(e -> deptIds.contains(Integer.valueOf(e.getDeptId()))) + .map(SysUser::getUserId).collect(Collectors.toList()); + if (userIds.isEmpty()){ + return R.ok(new PageInfo<>()); + } + } + + return R.ok(assetRepairRecordService.pageList(query)); + } + @ApiOperation("资产报修不分页列表") + @PostMapping("/listAll") + public R<List<AssetRepairRequestVO>> listAll(@RequestBody AssetRepairRequestListQuery query) { + String deptId = tokenService.getLoginUser().getDeptId(); + List<Integer> deptIds = deptService.getAllSubDeptIds(deptId); + if (deptIds.isEmpty()) { + return R.ok(new ArrayList<>()); + } else { + query.setDeptIds(deptIds); + List<Long> userIds = sysUserService.selectAllList().stream().filter(e -> deptIds.contains(Integer.valueOf(e.getDeptId()))) + .map(SysUser::getUserId).collect(Collectors.toList()); + if (userIds.isEmpty()){ + return R.ok(new ArrayList<>()); + } } List<Integer> assetMainIds = assetMainService.lambdaQuery().in(AssetMain::getOwnershipDeptId, deptIds).list() .stream().map(AssetMain::getId).collect(Collectors.toList()); if (assetMainIds.isEmpty()){ - return R.ok(new PageInfo<>()); + return R.ok(new ArrayList<>()); } query.setAssetMainIds(assetMainIds); - return R.ok(assetRepairRecordService.pageList(query)); + return R.ok(assetRepairRecordService.listAll(query)); + } + @Log(title = "资产报修-新增", businessType = BusinessType.INSERT) + @ApiOperation(value = "资产报修新增") + @PostMapping(value = "/add") + public R add(@RequestBody AddAssetRepairRequestDTO dto) { + dto.setRepairNo("1"); + Long userId = tokenService.getLoginUser().getUserId(); + dto.setReporterId(userId.intValue()); + assetRepairRequestService.save(dto); + for (AssetRepairRequestItem assetRepairRequestItem : dto.getList()) { + assetRepairRequestItem.setRepairRequestId(dto.getId()); + } + assetRepairRequestItemService.saveBatch(dto.getList()); + return R.ok(); + + } + @Log(title = "资产报修-编辑", businessType = BusinessType.UPDATE) + @ApiOperation(value = "资产报修编辑") + @PostMapping(value = "/update") + public R update(@RequestBody AddAssetRepairRequestDTO dto) { + assetRepairRequestService.updateById(dto); + assetRepairRequestItemService.remove(new LambdaQueryWrapper<AssetRepairRequestItem>() + .eq(AssetRepairRequestItem::getRepairRequestId, dto.getId())); + assetRepairRequestItemService.saveBatch(dto.getList()); + return R.ok(); + } + @ApiOperation(value = "资产报修详情") + @GetMapping(value = "/detail") + public R<AddAssetRepairRequestDTO> detail(Integer id) { + AddAssetRepairRequestDTO res = new AddAssetRepairRequestDTO(); + AssetRepairRequest assetRepairRequest = assetRepairRequestService.getById(id); + BeanUtils.copyProperties(assetRepairRequest, res); + List<AssetRepairListVO> items = assetRepairRequestItemService.listDetail(id); + res.setListDetail(items); + SysUser sysUser = sysUserService.selectUserById(Long.valueOf(assetRepairRequest.getReporterId())); + if (sysUser!=null){ + res.setReporterName(sysUser.getNickName()); + } + return R.ok(res); + } + @Log(title = "资产报修-删除", businessType = BusinessType.DELETE) + @ApiOperation(value = "资产报修-删除") + @DeleteMapping(value = "/delete") + public R delete(@RequestParam String ids) { + assetRepairRequestItemService.remove(new LambdaQueryWrapper<AssetRepairRequestItem>() + .in(AssetRepairRequestItem::getRepairRequestId, Arrays.asList(ids.split(",")))); + assetRepairRequestService.removeBatchByIds(Arrays.asList(ids.split(","))); + return R.ok(); } } -- Gitblit v1.7.1