Browse Source

feat: [表单管理] [麻精药表单] 麻精药表单列表

master
memorylkf 6 days ago
parent
commit
2a3197e10d
3 changed files with 592 additions and 296 deletions
  1. +296
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyDrugController.java
  2. +2
    -2
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyNonTrialController.java

+ 296
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyDrugController.java View File

@ -0,0 +1,296 @@
package com.hxhq.business.controller;
import com.alibaba.fastjson2.JSONObject;
import com.hxhq.business.domain.Study;
import com.hxhq.business.domain.StudyJcgj;
import com.hxhq.business.dto.study.StudyListDto;
import com.hxhq.business.enums.study.StudyStatusEnum;
import com.hxhq.business.enums.study.StudyTypeEnum;
import com.hxhq.business.form.common.SignForm;
import com.hxhq.business.form.study.StudySaveForm;
import com.hxhq.business.form.study.StudySearchForm;
import com.hxhq.business.service.IStudyJcgjService;
import com.hxhq.business.service.IStudyService;
import com.hxhq.common.core.utils.StringUtils;
import com.hxhq.common.core.web.controller.BaseController;
import com.hxhq.common.core.web.domain.AjaxResult;
import com.hxhq.common.core.web.page.TableDataInfo;
import com.hxhq.common.security.annotation.RequiresPermissions;
import com.hxhq.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* 麻精药表单Controller
*
* @author hxhq
* @date 2025-12-24
*/
@RestController
@RequestMapping("/business/drug")
public class StudyDrugController extends BaseController
{
@Autowired
private IStudyService studyService;
@Autowired
private IStudyJcgjService studyJcgjService;
/**
* 查询试验列表
*/
@GetMapping("/list")
@RequiresPermissions("business:form:drug:list")
public TableDataInfo list(StudySearchForm form)
{
form.setType(StudyTypeEnum.mjy.getValue());
startPage();
List<StudyListDto> list = studyService.queryList(form);
TableDataInfo table = getDataTable(list);
table.setRows(initFormCount((List<StudyListDto>)table.getRows()));
return table;
}
/**
* 设置表单数
* @param list
* @return
*/
private List<StudyListDto> initFormCount(List<StudyListDto> list){
if(list.size()>0){
List<StudyListDto> countList = studyService.queryFormCountList(list.stream().map(o->o.getId()).collect(Collectors.toList()));
for(StudyListDto l : list){
List<StudyListDto> matchList = countList.stream().filter(o->o.getId().equals(l.getId())).collect(Collectors.toList());
if(matchList.size()>0){
l.setFormCount(matchList.get(0).getFormCount());
l.setFormFinishCount(matchList.get(0).getFormFinishCount());
}else{
l.setFormCount(0);
l.setFormFinishCount(0);
}
}
}
return list;
}
/**
* 获取试验详细信息
*/
@RequiresPermissions({"business:form:drug:add", "business:form:drug:edit", "business:form:drug:detail"})
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
Study study = studyService.getById(id);
if(study==null){
return AjaxResult.error("信息不存在");
}
StudyListDto info = JSONObject.parseObject(JSONObject.toJSONString(study),StudyListDto.class);
List<Long> idList = new ArrayList<>();
idList.add(info.getId());
List<StudyListDto> countList = studyService.queryFormCountList(idList);
if(countList.size()>0){
info.setFormCount(countList.get(0).getFormCount());
}else{
info.setFormCount(0);
}
return AjaxResult.success(info);
}
/**
* 新增/编辑试验信息
*/
@RequiresPermissions({"business:form:drug:add", "business:form:drug:edit"})
@PostMapping("/save")
public AjaxResult save(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
if(study==null){
return AjaxResult.error("参数有误");
}
if(StringUtils.isBlank(study.getName())){
return AjaxResult.error("试验名称不能为空");
}
if(StringUtils.isBlank(study.getSn())){
return AjaxResult.error("试验编号不能为空");
}
if(study.getLeader()==null || study.getLeader().longValue()<=0){
return AjaxResult.error("试验负责人不能为空");
}
if(study.getStatus()==null || study.getStatus().intValue()<=0){
return AjaxResult.error("状态值有误");
}
if(!study.getStatus().equals(StudyStatusEnum.cg.getValue()) && !study.getStatus().equals(StudyStatusEnum.syz.getValue())){
return AjaxResult.error("状态有误");
}
if(study.getId()==null){
study.setType(StudyTypeEnum.mjy.getValue());
study.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDept().getDeptId());
study.setDeptName(SecurityUtils.getLoginUser().getSysUser().getDept().getDeptName());
}
studyService.saveInfo(form);
return AjaxResult.success();
}
/**
* 稽查轨迹列表
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:detail"})
@GetMapping("/jcgjList")
public TableDataInfo jcgjList(StudyJcgj form)
{
startPage();
List<StudyJcgj> list = studyJcgjService.queryList(form);
return getDataTable(list);
}
/**
* 删除试验信息
*/
@RequiresPermissions({"business:form:drug:remove"})
@PostMapping("/delete")
public AjaxResult delete(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
SignForm sign = form.getSign();
if(study==null || sign==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0){
return AjaxResult.error("参数有误");
}
studyService.del(form);
return AjaxResult.success();
}
/**
* 检查锁定
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:sd"})
@PostMapping("/checkSd")
public AjaxResult checkSd(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
if(study==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0){
return AjaxResult.error("参数有误");
}
studyService.checkSd(studyService.getById(study.getId()));
return AjaxResult.success();
}
/**
* 锁定
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:sd"})
@PostMapping("/sd")
public AjaxResult sd(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
SignForm sign = form.getSign();
if(study==null || sign==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0){
return AjaxResult.error("参数有误");
}
studyService.sd(form);
return AjaxResult.success();
}
/**
* 解锁
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:js"})
@PostMapping("/js")
public AjaxResult js(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
SignForm sign = form.getSign();
if(study==null || sign==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0){
return AjaxResult.error("参数有误");
}
studyService.js(form);
return AjaxResult.success();
}
/**
* 归档
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:gd"})
@PostMapping("/gd")
public AjaxResult gd(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
SignForm sign = form.getSign();
if(study==null || sign==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0){
return AjaxResult.error("参数有误");
}
studyService.gd(form);
return AjaxResult.success();
}
/**
* 解档
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:jd"})
@PostMapping("/jd")
public AjaxResult jd(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
SignForm sign = form.getSign();
if(study==null || sign==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0){
return AjaxResult.error("参数有误");
}
studyService.jd(form);
return AjaxResult.success();
}
/**
* 借阅
* @param form
* @return
*/
@RequiresPermissions({"business:form:drug:jy"})
@PostMapping("/jy")
public AjaxResult jy(@RequestBody StudySaveForm form)
{
Study study = form.getStudy();
SignForm sign = form.getSign();
if(study==null || sign==null){
return AjaxResult.error("参数有误");
}
if(study.getId()==null || study.getId().longValue()<=0 || StringUtils.isBlank(sign.getStartDate()) || StringUtils.isBlank(sign.getEndDate())){
return AjaxResult.error("参数有误");
}
studyService.jy(form);
return AjaxResult.success();
}
}

hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/NonTrialController.java → hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyNonTrialController.java View File

@ -26,14 +26,14 @@ import java.util.stream.Collectors;
/**
* 试验Controller
* 试验表单Controller
*
* @author hxhq
* @date 2025-12-24
*/
@RestController
@RequestMapping("/business/nonTrial")
public class NonTrialController extends BaseController
public class StudyNonTrialController extends BaseController
{
@Autowired
private IStudyService studyService;

Loading…
Cancel
Save