package com.gkhy.labRiskManage.api.controller.experiment;
|
|
import cn.hutool.json.JSONObject;
|
import com.gkhy.labRiskManage.api.controller.common.BaseController;
|
import com.gkhy.labRiskManage.api.controller.experiment.converter.ExperimentApiConverter;
|
import com.gkhy.labRiskManage.api.controller.experiment.dto.req.ExperimentDevelopUpdateReqBO;
|
import com.gkhy.labRiskManage.api.controller.experiment.dto.req.ExperimentInfoQueryReqBO;
|
import com.gkhy.labRiskManage.api.controller.experiment.dto.req.ExperimentInsertReqBO;
|
import com.gkhy.labRiskManage.api.controller.experiment.dto.resp.*;
|
import com.gkhy.labRiskManage.application.experiment.dto.bo.*;
|
import com.gkhy.labRiskManage.application.experiment.dto.dto.*;
|
import com.gkhy.labRiskManage.application.experiment.service.ExperimentAppService;
|
import com.gkhy.labRiskManage.commons.domain.Result;
|
import com.gkhy.labRiskManage.commons.domain.SearchResult;
|
import com.gkhy.labRiskManage.commons.enums.ResultCode;
|
import com.gkhy.labRiskManage.commons.model.PageQuery;
|
import com.gkhy.labRiskManage.commons.utils.BeanCopyUtils;
|
import com.gkhy.labRiskManage.domain.experiment.entity.ExperimentInfo;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.ObjectUtils;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
/**
|
* 实验信息
|
*/
|
@RestController
|
@RequestMapping("experimentInfo")
|
public class ExperimentInfoController extends BaseController {
|
|
@Autowired
|
private ExperimentAppService experimentAppService;
|
@Autowired
|
private ExperimentApiConverter converter;
|
|
/**
|
* 录入信息
|
* @param experimentInsertReqBO
|
* @return
|
*/
|
@PostMapping(value = "/save")
|
public Result save(@RequestBody ExperimentInsertReqBO experimentInsertReqBO){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("新增成功");
|
experimentAppService.save(getCurrentUserId(),experimentInsertReqBO);
|
return result;
|
}
|
/**
|
* 录入信息
|
* @param experimentInsertReqBO
|
* @return
|
*/
|
@PostMapping(value = "develop/save")
|
public Result developSave(@RequestBody ExperimentInsertReqBO experimentInsertReqBO){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("新增成功");
|
experimentAppService.developSave(getCurrentUserId(),experimentInsertReqBO);
|
return result;
|
}
|
|
@PostMapping(value = "rectify/save")
|
public Result rectifySave(@RequestBody ExperimentInsertReqBO experimentInsertReqBO){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("已申请整改");
|
|
int insertResult = experimentAppService.rectifySave(getCurrentUserId(),experimentInsertReqBO);
|
|
result.setCount(insertResult);
|
if (insertResult < 1){
|
result.setCode(ResultCode.NOT_OK);
|
result.setMsg("申请整改失败");
|
}
|
result.setCount(insertResult);
|
|
return result;
|
}
|
/**
|
* 开展实验
|
* @param developUpdateReqBOList
|
* @return
|
*/
|
@PostMapping(value = "/update/develop")
|
public Result updateDevelop(@RequestBody List<ExperimentDevelopUpdateReqBO> developUpdateReqBOList){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("实验开展成功");
|
List<ExperimentAppDevelopUpdateBO> appDevelopUpdateBOList = new ArrayList<>();
|
if (!CollectionUtils.isEmpty(developUpdateReqBOList)) {
|
appDevelopUpdateBOList = BeanCopyUtils.copyBeanList(developUpdateReqBOList,ExperimentAppDevelopUpdateBO.class);
|
}
|
|
int updateResult = experimentAppService.updateDevelop(getCurrentUserId(),appDevelopUpdateBOList);
|
result.setCount(updateResult);
|
if (updateResult < 1){
|
result.setCode(ResultCode.NOT_OK);
|
result.setMsg("实验开展失败");
|
}
|
result.setCount(updateResult);
|
|
return result;
|
}
|
|
/**
|
* 申请评估
|
* @param ids
|
* @return
|
*/
|
@PostMapping(value = "/update/apply/evaluation")
|
public Result applyEvaluation(@RequestBody List<Long> ids){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("申请成功");
|
|
int insertResult = experimentAppService.applyEvaluation(getCurrentUserId(),ids);
|
result.setCount(insertResult);
|
if (insertResult < 1){
|
result.setCode(ResultCode.NOT_OK);
|
result.setMsg("申请失败");
|
}
|
result.setCount(insertResult);
|
|
return result;
|
}
|
@PostMapping(value = "/update/revoke/apply/evaluation")
|
public Result revokeApplyEvaluation(@RequestBody List<Long> ids){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("撤销申请成功");
|
|
int insertResult = experimentAppService.revokeApplyEvaluation(getCurrentUserId(),ids);
|
result.setCount(insertResult);
|
if (insertResult < 1){
|
result.setCode(ResultCode.NOT_OK);
|
result.setMsg("撤销申请失败");
|
}
|
result.setCount(insertResult);
|
|
return result;
|
}
|
/**
|
* 删除
|
* @param jsonObject
|
* @return
|
*/
|
@PostMapping(value = "/delete")
|
public Result delete(@RequestBody JSONObject jsonObject){
|
Result result = new Result();
|
result.setCode(ResultCode.OK);
|
result.setMsg("删除成功");
|
|
int deleteResult = experimentAppService.deleteById(jsonObject.getLong("id"),getCurrentUserId());
|
result.setCount(deleteResult);
|
if (deleteResult < 1){
|
result.setCode(ResultCode.NOT_OK);
|
result.setMsg("删除失败");
|
}
|
result.setCount(deleteResult);
|
return result;
|
}
|
|
/**
|
* 新立项
|
* @param pageQueryReqBO
|
* @return
|
*/
|
@PostMapping("/list/page/project")
|
public SearchResult<ExperimentInfoRespDTO> projectListByPage(@RequestBody PageQuery<ExperimentInfoQueryReqBO> pageQueryReqBO){
|
|
SearchResult result = new SearchResult();
|
result.setCode(ResultCode.OK);
|
result.setMsg("查询成功");
|
|
SearchResult<List<ExperimentInfoAppQueryDTO>> searchResult = experimentAppService.projectListByPage(converter.getAppPageQuery(pageQueryReqBO),getCurrentUserId());
|
List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOList = (List<ExperimentInfoAppQueryDTO>)searchResult.getData();
|
result.setPageIndex(searchResult.getPageIndex());
|
result.setPageSize(searchResult.getPageSize());
|
result.setTotal(searchResult.getTotal());
|
result.setCount(searchResult.getTotal().intValue());
|
result.setPages(searchResult.getPages());
|
|
result.setData(converter.getExperimentInfoRespDTO(experimentInfoAppQueryDTOList));
|
|
return result;
|
}
|
|
/**
|
* 已开展
|
* @param pageQueryReqBO
|
* @return
|
*/
|
@PostMapping("/list/page/develop")
|
public SearchResult<ExperimentInfoRespDTO> developListByPage(@RequestBody PageQuery<ExperimentInfoQueryReqBO> pageQueryReqBO){
|
|
SearchResult result = new SearchResult();
|
result.setCode(ResultCode.OK);
|
result.setMsg("查询成功");
|
|
SearchResult<List<ExperimentInfoAppQueryDTO>> searchResult = experimentAppService.developListByPage(converter.getAppPageQuery(pageQueryReqBO),getCurrentUserId());
|
List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOList = (List<ExperimentInfoAppQueryDTO>)searchResult.getData();
|
result.setPageIndex(searchResult.getPageIndex());
|
result.setPageSize(searchResult.getPageSize());
|
result.setTotal(searchResult.getTotal());
|
result.setCount(searchResult.getTotal().intValue());
|
result.setPages(searchResult.getPages());
|
|
result.setData(converter.getExperimentInfoRespDTO(experimentInfoAppQueryDTOList));
|
|
return result;
|
}
|
/**
|
* 获取实验列表
|
*/
|
@GetMapping("/list")
|
public Result<ExperimentInfoVoRespDTO> getExperimentInfoList(){
|
|
SearchResult result = new SearchResult();
|
result.setCode(ResultCode.OK);
|
result.setMsg("查询成功");
|
List<ExperimentInfoAppVo> experimentInfoAppVos = experimentAppService.getExperimentInfoList(getCurrentUserId());
|
result.setData(converter.getExperimentInfoVoRespDTO(experimentInfoAppVos));
|
return result;
|
}
|
/**
|
* 已申请评估分页
|
* @param pageQueryReqBO
|
* @return
|
*/
|
@PostMapping("/list/page/apply/evaluation")
|
public SearchResult<ExperimentInfoRespDTO> applyEvaluationListByPage(@RequestBody PageQuery<ExperimentInfoQueryReqBO> pageQueryReqBO){
|
|
SearchResult result = new SearchResult();
|
result.setCode(ResultCode.OK);
|
result.setMsg("查询成功");
|
|
SearchResult<List<ExperimentInfoAppQueryDTO>> searchResult = experimentAppService.applyEvaluationListByPage(converter.getAppPageQuery(pageQueryReqBO),getCurrentUserId());
|
List<ExperimentInfoAppQueryDTO> experimentInfoAppQueryDTOList = (List<ExperimentInfoAppQueryDTO>)searchResult.getData();
|
result.setPageIndex(searchResult.getPageIndex());
|
result.setPageSize(searchResult.getPageSize());
|
result.setTotal(searchResult.getTotal());
|
result.setCount(searchResult.getTotal().intValue());
|
result.setPages(searchResult.getPages());
|
|
result.setData(converter.getExperimentInfoRespDTO(experimentInfoAppQueryDTOList));
|
|
return result;
|
}
|
|
|
}
|