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;
|
|
/**
|
* <p>
|
* 年度任务主表 前端控制器
|
* </p>
|
*
|
* @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<List<ProjectMain>> listProject() {
|
return R.ok(projectMainService.list());
|
}
|
@ApiOperation(value = "年度任务分页列表")
|
@PostMapping(value = "/pageList")
|
public R<PageInfo<YearTaskListVO>> pageList(@RequestBody YearTaskListQuery query) {
|
return R.ok(yearTaskService.pageList(query));
|
}
|
@ApiOperation(value = "添加")
|
@Transactional
|
@Log(title = "年度任务-添加", businessType = BusinessType.INSERT)
|
@PostMapping(value = "/add")
|
public R<Boolean> save(@RequestBody YearTask entity) {
|
yearTaskService.save(entity);
|
List<YearTaskDetail> 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<Boolean> edit(@RequestBody ProjectMain entity) {
|
projectMainService.updateById(entity);
|
return R.ok();
|
}
|
@ApiOperation(value = "年度任务投资目标-审核")
|
@Transactional
|
@Log(title = "年度任务投资目标-审核", businessType = BusinessType.UPDATE)
|
@PostMapping(value = "/audit")
|
public R<Boolean> 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<Boolean> 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<YearTask> detail(Integer id ) {
|
YearTask yearTask = yearTaskService.getById(id);
|
List<YearTaskDetail> list = yearTaskDetailService.lambdaQuery()
|
.eq(YearTaskDetail::getYearTaskId, id).list();
|
Map<Long, String> 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);
|
}
|
}
|