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.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.model.ProjectStorage; import com.ruoyi.system.model.ProjectMain; import com.ruoyi.system.model.ProjectStorageItem; import com.ruoyi.system.query.ProjectStorageListQuery; import com.ruoyi.system.query.YearTaskListQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.ProjectStorageDetailVO; import com.ruoyi.system.vo.ProjectStorageListVO; import com.ruoyi.system.vo.YearTaskListVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; /** *

* 在库项目管理 前端控制器 *

* * @author WuGuanFengYue * @since 2025-10-16 */ @RestController @Api(tags = "在库项目管理") @RequestMapping("/project-storage") public class ProjectStorageController { @Resource private ProjectStorageService projectStorageService; @Resource private ProjectStorageItemService projectStorageItemService; @ApiOperation(value = "在库项目分页列表") @PostMapping(value = "/pageList") public R> pageList(@RequestBody ProjectStorageListQuery query) { return R.ok(projectStorageService.pageList(query)); } @ApiOperation(value = "在库项目-添加") @Log(title = "在库项目-添加", businessType = BusinessType.INSERT) @PostMapping(value = "/add") public R save(@RequestBody ProjectStorage entity) { return R.ok(projectStorageService.save(entity)); } @ApiOperation(value = "在库项目-修改") @Log(title = "在库项目-修改", businessType = BusinessType.UPDATE) @PostMapping(value = "/edit") public R edit(@RequestBody ProjectStorage entity) { return R.ok(projectStorageService.updateById(entity)); } @ApiOperation(value = "详情") @GetMapping(value = "/detail") public R detail(Integer id) { ProjectStorageDetailVO res = new ProjectStorageDetailVO(); ProjectStorage projectStorage = projectStorageService.getById(id); List list = projectStorageItemService.lambdaQuery().eq(ProjectStorageItem::getProjectStorageId, id) .list(); res.setProjectName(projectStorage.getProjectName()); res.setInTime(projectStorage.getInTime()); res.setList(list); return R.ok(res); } @Log(title = "在库项目-投资明细-删除", businessType = BusinessType.DELETE) @ApiOperation(value = "在库项目-投资明细-删除") @Transactional @DeleteMapping(value = "/deleteDetail") public R deleteDetail(@RequestParam String ids) { projectStorageItemService.remove( new LambdaQueryWrapper() .in(ProjectStorageItem::getId, Arrays.asList(ids.split(","))) ); return R.ok(); } @ApiOperation(value = "在库项目-投资明细-新增") @Log(title = "在库项目-投资明细-修改", businessType = BusinessType.UPDATE) @PostMapping(value = "/addDetail") public R addDetail(@RequestBody ProjectStorageItem entity) { return R.ok(projectStorageItemService.save(entity)); } @ApiOperation(value = "在库项目-投资明细-修改") @Log(title = "在库项目-投资明细-修改", businessType = BusinessType.UPDATE) @PostMapping(value = "/editDetail") public R editDetail(@RequestBody ProjectStorageItem entity) { return R.ok(projectStorageItemService.updateById(entity)); } @Log(title = "在库项目-删除", businessType = BusinessType.DELETE) @ApiOperation(value = "在库项目-删除") @Transactional @DeleteMapping(value = "/delete") public R delete(@RequestParam String ids) { projectStorageItemService.remove( new LambdaQueryWrapper() .in(ProjectStorageItem::getProjectStorageId, Arrays.asList(ids.split(","))) ); projectStorageService.removeBatchByIds(Arrays.asList(ids.split(","))); return R.ok(); } }