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;
|
|
/**
|
* <p>
|
* 在库项目管理 前端控制器
|
* </p>
|
*
|
* @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<PageInfo<ProjectStorageListVO>> pageList(@RequestBody ProjectStorageListQuery query) {
|
return R.ok(projectStorageService.pageList(query));
|
}
|
@ApiOperation(value = "在库项目-添加")
|
@Log(title = "在库项目-添加", businessType = BusinessType.INSERT)
|
@PostMapping(value = "/add")
|
public R<Boolean> save(@RequestBody ProjectStorage entity) {
|
return R.ok(projectStorageService.save(entity));
|
}
|
@ApiOperation(value = "在库项目-修改")
|
@Log(title = "在库项目-修改", businessType = BusinessType.UPDATE)
|
@PostMapping(value = "/edit")
|
public R<Boolean> edit(@RequestBody ProjectStorage entity) {
|
return R.ok(projectStorageService.updateById(entity));
|
}
|
@ApiOperation(value = "详情")
|
@GetMapping(value = "/detail")
|
public R<ProjectStorageDetailVO> detail(Integer id) {
|
ProjectStorageDetailVO res = new ProjectStorageDetailVO();
|
ProjectStorage projectStorage = projectStorageService.getById(id);
|
List<ProjectStorageItem> 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<ProjectStorageItem>()
|
.in(ProjectStorageItem::getId, Arrays.asList(ids.split(",")))
|
);
|
return R.ok();
|
}
|
@ApiOperation(value = "在库项目-投资明细-新增")
|
@Log(title = "在库项目-投资明细-修改", businessType = BusinessType.UPDATE)
|
@PostMapping(value = "/addDetail")
|
public R<Boolean> addDetail(@RequestBody ProjectStorageItem entity) {
|
return R.ok(projectStorageItemService.save(entity));
|
}
|
@ApiOperation(value = "在库项目-投资明细-修改")
|
@Log(title = "在库项目-投资明细-修改", businessType = BusinessType.UPDATE)
|
@PostMapping(value = "/editDetail")
|
public R<Boolean> 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<ProjectStorageItem>()
|
.in(ProjectStorageItem::getProjectStorageId, Arrays.asList(ids.split(",")))
|
);
|
projectStorageService.removeBatchByIds(Arrays.asList(ids.split(",")));
|
return R.ok();
|
}
|
}
|