package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.*; import com.ruoyi.system.service.*; import com.ruoyi.web.controller.query.CommitteeQuery; import io.swagger.annotations.ApiOperation; import org.bouncycastle.jcajce.provider.symmetric.AES; 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 javax.annotation.Resource; import java.util.Arrays; import java.util.List; /** *

* 评审委员会 前端控制器 *

* * @author luodangjia * @since 2024-09-19 */ @RestController @RequestMapping("/t-committee") public class TCommitteeController { @Resource private TCommitteeService tCommitteeService; @Resource private TCommitteeTechnicalService committeeTechnicalService; @Resource private TCommitteeMajorService tCommitteeMajorService; @Resource private TRegionService regionService; @Resource private TTechnicalTitleService tTechnicalTitleService; @Resource private TTitleMajorService majorService; //添加 @ApiOperation(value = "添加",tags = "后台-评审委员会管理") @PostMapping("/add") public R add(@RequestBody TCommittee committee){ tCommitteeService.save(committee); for (TCommitteeTechnical tCommitteeTechnical : committee.getTCommitteeTechnicals()) { tCommitteeTechnical.setCommitteeId(committee.getId()); } committeeTechnicalService.saveBatch(committee.getTCommitteeTechnicals()); for (TCommitteeMajor tCommitteeMajor : committee.getTCommitteeMajors()) { tCommitteeMajor.setCommitteeId(committee.getId()); } tCommitteeMajorService.saveBatch(committee.getTCommitteeMajors()); return R.ok(); } //修改 @ApiOperation(value = "编辑",tags = "后台-评审委员会管理") @PostMapping("/edit") public R edit(@RequestBody TCommittee committee){ tCommitteeService.updateById(committee); //删除相关数据 committeeTechnicalService.remove(Wrappers.lambdaQuery(TCommitteeTechnical.class).eq(TCommitteeTechnical::getCommitteeId, committee.getId())); tCommitteeMajorService.remove(Wrappers.lambdaQuery(TCommitteeMajor.class).eq(TCommitteeMajor::getCommitteeId, committee.getId())); for (TCommitteeTechnical tCommitteeTechnical : committee.getTCommitteeTechnicals()) { tCommitteeTechnical.setId(null); tCommitteeTechnical.setCommitteeId(committee.getId()); } committeeTechnicalService.saveBatch(committee.getTCommitteeTechnicals()); for (TCommitteeMajor tCommitteeMajor : committee.getTCommitteeMajors()) { tCommitteeMajor.setCommitteeId(committee.getId()); tCommitteeMajor.setId(null); } tCommitteeMajorService.saveBatch(committee.getTCommitteeMajors()); return R.ok(); } //删除 @ApiOperation(value = "删除",tags = "后台-评审委员会管理") @PostMapping("/deleteByIds") public R deleteByIds(String ids){ List list = Arrays.asList(ids.split(",")); tCommitteeService.removeByIds(list); //删除相关数据 committeeTechnicalService.remove(Wrappers.lambdaQuery(TCommitteeTechnical.class).in(TCommitteeTechnical::getCommitteeId, list)); tCommitteeMajorService.remove(Wrappers.lambdaQuery(TCommitteeMajor.class).in(TCommitteeMajor::getCommitteeId, list)); return R.ok(); } //列表 @ApiOperation(value = "查询",tags = {"后台-评审委员会管理","web-评审委员会"}) @PostMapping("/list") public R> list(@RequestBody CommitteeQuery informationQuery){ Page page = tCommitteeService.lambdaQuery() .like(!StringUtils.isEmpty(informationQuery.getName()), TCommittee::getCommitteeName, informationQuery.getName()) .like(!StringUtils.isEmpty(informationQuery.getCommitteeUnit()), TCommittee::getCommitteeLevel, informationQuery.getCommitteeUnit()) .eq(informationQuery.getRegionId() != null, TCommittee::getRegionId, informationQuery.getRegionId()) .eq(informationQuery.getTechnicalId() != null, TCommittee::getTechnicalId, informationQuery.getTechnicalId()) .eq(informationQuery.getMajorId() != null, TCommittee::getMajorId, informationQuery.getMajorId()) .eq(informationQuery.getLevel() != null, TCommittee::getLevel, informationQuery.getLevel()) .orderByDesc(TCommittee::getCommitteeSort) .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize())); for (TCommittee record : page.getRecords()) { TRegion byId = regionService.getById(record.getRegionId()); record.setRegionName(byId.getProvinceName()+"-"+byId.getName()); TTechnicalTitle byId1 = tTechnicalTitleService.getById(record.getTechnicalId() ); TTitleMajor byId2 = majorService.getById(record.getMajorId()); record.setTechnicalName(byId1.getTitileName()+"-"+byId2.getMajorName()); List tCommitteeTechnicals = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getCommitteeId, record.getId()).list(); List tCommitteeMajors =tCommitteeMajorService.lambdaQuery().eq(TCommitteeMajor::getCommitteeId, record.getId()).list(); record.setTCommitteeTechnicals(tCommitteeTechnicals); record.setTCommitteeMajors(tCommitteeMajors); } return R.ok(page); } @Resource private TDeclareNoticeService noticeService; //详情 @ApiOperation(value = "详情",tags = {"后台-评审委员会管理","web-评审委员会"}) @PostMapping("/getById") public R getById(Long id){ TCommittee tCommittee = tCommitteeService.getById(id); List tCommitteeTechnicals = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getCommitteeId, id).list(); List tCommitteeMajors =tCommitteeMajorService.lambdaQuery().eq(TCommitteeMajor::getCommitteeId, id).list(); if (tCommittee.getDeclareId()!=null) { String[] split = tCommittee.getDeclareId().split(","); List list = noticeService.lambdaQuery().in(TDeclareNotice::getId, split).list(); tCommittee.setDeclareNotice(list); } tCommittee.setTCommitteeTechnicals(tCommitteeTechnicals); tCommittee.setTCommitteeMajors(tCommitteeMajors); return R.ok(tCommittee); } }