| | |
| | | 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.AssetMainService; |
| | | import com.ruoyi.system.service.AssetRepairRecordService; |
| | | import com.ruoyi.system.service.TDeptService; |
| | | import com.ruoyi.system.service.*; |
| | | 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; |
| | | |
| | |
| | | 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; |
| | | |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | |