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.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 评审委员会 前端控制器
|
* </p>
|
*
|
* @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<String> 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 = {"后台-评审委员会管理"})
|
@PostMapping("/list")
|
public R<Page<TCommittee>> list(@RequestBody CommitteeQuery informationQuery){
|
Page<TCommittee> page;
|
if(StringUtils.isEmpty(informationQuery.getProvinceName())){
|
if(informationQuery.getSortType() == 1){
|
page = tCommitteeService.lambdaQuery()
|
.like(!StringUtils.isEmpty(informationQuery.getName()), TCommittee::getCommitteeName, informationQuery.getName())
|
.like(!StringUtils.isEmpty(informationQuery.getCommitteeUnit()), TCommittee::getCommitteeUnit, 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::getCreateTime)
|
.page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize()));
|
}else {
|
page = tCommitteeService.lambdaQuery()
|
.like(!StringUtils.isEmpty(informationQuery.getName()), TCommittee::getCommitteeName, informationQuery.getName())
|
.like(!StringUtils.isEmpty(informationQuery.getCommitteeUnit()), TCommittee::getCommitteeUnit, 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()));
|
}
|
}else {
|
List<TRegion> list;
|
// 查询省份下的市
|
if(informationQuery.getProvinceName().equals("直辖市")){
|
List<String> cityList = new ArrayList<>();
|
cityList.add("北京市");
|
cityList.add("天津市");
|
cityList.add("重庆市");
|
cityList.add("上海市");
|
list = regionService.lambdaQuery().in(TRegion::getProvinceName, cityList).list();
|
}else {
|
list = regionService.lambdaQuery().eq(TRegion::getProvinceName, informationQuery.getProvinceName()).list();
|
}
|
List<Integer> ids = list.stream().map(TRegion::getId).collect(Collectors.toList());
|
if(informationQuery.getSortType() == 1){
|
page = tCommitteeService.lambdaQuery()
|
.like(!StringUtils.isEmpty(informationQuery.getName()), TCommittee::getCommitteeName, informationQuery.getName())
|
.like(!StringUtils.isEmpty(informationQuery.getCommitteeUnit()), TCommittee::getCommitteeUnit, informationQuery.getCommitteeUnit())
|
.in( TCommittee::getRegionId, ids)
|
.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::getCreateTime)
|
.page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize()));
|
}else {
|
page = tCommitteeService.lambdaQuery()
|
.like(!StringUtils.isEmpty(informationQuery.getName()), TCommittee::getCommitteeName, informationQuery.getName())
|
.like(!StringUtils.isEmpty(informationQuery.getCommitteeUnit()), TCommittee::getCommitteeUnit, informationQuery.getCommitteeUnit())
|
.in( TCommittee::getRegionId, ids)
|
.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<TCommitteeTechnical> tCommitteeTechnicals = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getCommitteeId, record.getId()).list();
|
List<TCommitteeMajor> 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<TCommittee> getById(Long id){
|
TCommittee tCommittee = tCommitteeService.getById(id);
|
List<TCommitteeTechnical> tCommitteeTechnicals = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getCommitteeId, id).list();
|
List<TCommitteeMajor> tCommitteeMajors =tCommitteeMajorService.lambdaQuery().eq(TCommitteeMajor::getCommitteeId, id).list();
|
if (tCommittee.getDeclareId()!=null) {
|
String[] split = tCommittee.getDeclareId().split(",");
|
List<TDeclareNotice> list = noticeService.lambdaQuery().in(TDeclareNotice::getId, split).list();
|
tCommittee.setDeclareNotice(list);
|
}
|
tCommittee.setTCommitteeTechnicals(tCommitteeTechnicals);
|
tCommittee.setTCommitteeMajors(tCommitteeMajors);
|
return R.ok(tCommittee);
|
}
|
|
}
|