package com.ruoyi.web.controller.api; 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.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.YearTaskAuditDTO; import com.ruoyi.system.model.ProjectInvestment; import com.ruoyi.system.model.ProjectMain; import com.ruoyi.system.model.YearTask; import com.ruoyi.system.model.YearTaskDetail; import com.ruoyi.system.query.ProjectMainListQuery; import com.ruoyi.system.query.YearTaskListQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.ProjectMainListVO; 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.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 年度任务主表 前端控制器 *

* * @author WuGuanFengYue * @since 2025-10-16 */ @RestController @Api(tags = "年度任务") @RequestMapping("/year-task") public class YearTaskController { @Resource private YearTaskService yearTaskService; @Resource private ISysUserService sysUserService; @Resource private TokenService tokenService; @Resource private YearTaskDetailService yearTaskDetailService; @Resource private ProjectMainService projectMainService; @ApiOperation(value = "项目不分页列表") @PostMapping(value = "/listProject") public R> listProject() { return R.ok(projectMainService.list()); } @ApiOperation(value = "年度任务分页列表") @PostMapping(value = "/pageList") public R> pageList(@RequestBody YearTaskListQuery query) { return R.ok(yearTaskService.pageList(query)); } @ApiOperation(value = "添加") @Transactional @Log(title = "年度任务-添加", businessType = BusinessType.INSERT) @PostMapping(value = "/add") public R save(@RequestBody YearTask entity) { yearTaskService.save(entity); List yearTaskDetails = entity.getYearTaskDetails(); for (YearTaskDetail yearTaskDetail : yearTaskDetails) { yearTaskDetail.setYearTaskId(entity.getId()); } yearTaskDetailService.saveBatch(yearTaskDetails); return R.ok(); } @ApiOperation(value = "修改") @Transactional @Log(title = "年度任务-修改", businessType = BusinessType.UPDATE) @PostMapping(value = "/edit") public R edit(@RequestBody ProjectMain entity) { projectMainService.updateById(entity); return R.ok(); } @ApiOperation(value = "年度任务投资目标-审核") @Transactional @Log(title = "年度任务投资目标-审核", businessType = BusinessType.UPDATE) @PostMapping(value = "/audit") public R audit(@RequestBody YearTaskAuditDTO entity) { YearTaskDetail yearTaskDetail = yearTaskDetailService.getById(entity.getId()); yearTaskDetail.setIsAudit( true); yearTaskDetail.setAuditUserId(tokenService.getLoginUser().getUser().getUserId().intValue()); yearTaskDetailService.updateById(yearTaskDetail); return R.ok(); } @ApiOperation(value = "年度任务投资目标-修改") @Transactional @Log(title = "年度任务投资目标-修改", businessType = BusinessType.UPDATE) @PostMapping(value = "/editYearTaskDetail") public R edit(@RequestBody YearTaskDetail entity) { YearTaskDetail yearTaskDetail = yearTaskDetailService.getById(entity.getId()); yearTaskDetail.setIsAudit( true); yearTaskDetail.setCompeleteUserId(tokenService.getLoginUser().getUser().getUserId().intValue()); yearTaskDetailService.updateById(yearTaskDetail); return R.ok(); } @ApiOperation(value = "年度任务详情") @GetMapping(value = "/detail") public R detail(Integer id ) { YearTask yearTask = yearTaskService.getById(id); List list = yearTaskDetailService.lambdaQuery() .eq(YearTaskDetail::getYearTaskId, id).list(); Map userMaps = sysUserService.selectAllList().stream() .collect(Collectors.toMap(SysUser::getUserId, SysUser::getNickName)); for (YearTaskDetail yearTaskDetail : list) { if (yearTaskDetail.getAuditUserId()!=null){ yearTaskDetail.setAuditUserName(userMaps.get(Long.valueOf(yearTaskDetail.getAuditUserId()))); } if (yearTaskDetail.getCompeleteUserId()!=null){ yearTaskDetail.setCompeleteUserName(userMaps.get(Long.valueOf(yearTaskDetail.getCompeleteUserId()))); } } yearTask.setYearTaskDetails(list); return R.ok(yearTask); } }