Browse Source

feat:[试验管理]新增表,预填表单,填报表单,计划表单,饲养间,操作方法

master
15881625488@163.com 2 weeks ago
parent
commit
44fc6799fb
52 changed files with 2416 additions and 30 deletions
  1. +29
    -0
      hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/annotation/Compare.java
  2. +58
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormFillController.java
  3. +66
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormPlanController.java
  4. +92
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormPreController.java
  5. +66
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyMethodController.java
  6. +66
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyRoomController.java
  7. +7
    -6
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Gyzj.java
  8. +7
    -6
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Mjy.java
  9. +45
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Room.java
  10. +45
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Species.java
  11. +178
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormFill.java
  12. +166
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormPlan.java
  13. +165
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormPre.java
  14. +84
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyMethod.java
  15. +205
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyRoom.java
  16. +11
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/dto/study/StudyFormPreListDto.java
  17. +56
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/enums/study/StudyFormPreBdztEnum.java
  18. +9
    -8
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/mjy/BjForm.java
  19. +3
    -2
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/mjy/XgkcForm.java
  20. +116
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormFillSearchForm.java
  21. +72
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormPlanSearchForm.java
  22. +74
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormPreAuditForm.java
  23. +85
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormPreSearchForm.java
  24. +14
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/RoomMapper.java
  25. +14
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/SpeciesMapper.java
  26. +14
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyFormFillMapper.java
  27. +14
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyFormPlanMapper.java
  28. +27
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyFormPreMapper.java
  29. +14
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyMethodMapper.java
  30. +14
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyRoomMapper.java
  31. +23
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IRoomService.java
  32. +23
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISpeciesService.java
  33. +23
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyFormFillService.java
  34. +23
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyFormPlanService.java
  35. +53
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyFormPreService.java
  36. +23
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyMethodService.java
  37. +23
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyRoomService.java
  38. +35
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/RoomServiceImpl.java
  39. +35
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SpeciesServiceImpl.java
  40. +35
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyFormFillServiceImpl.java
  41. +35
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyFormPlanServiceImpl.java
  42. +145
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyFormPreServiceImpl.java
  43. +35
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyMethodServiceImpl.java
  44. +35
    -0
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyRoomServiceImpl.java
  45. +3
    -8
      hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/ObjectCompareUtil.java
  46. +6
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/RoomMapper.xml
  47. +6
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/SpeciesMapper.xml
  48. +6
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyFormFillMapper.xml
  49. +6
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyFormPlanMapper.xml
  50. +15
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyFormPreMapper.xml
  51. +6
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyMethodMapper.xml
  52. +6
    -0
      hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyRoomMapper.xml

+ 29
- 0
hxhq-common/hxhq-common-core/src/main/java/com/hxhq/common/core/annotation/Compare.java View File

@ -0,0 +1,29 @@
package com.hxhq.common.core.annotation;
import com.hxhq.common.core.utils.poi.ExcelHandlerAdapter;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;
/**
* 自定义数据比较字段数据注解
*
* @author hxhq
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Compare
{
/**
* 列名称.
*/
public String name() default "";
}

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

@ -0,0 +1,58 @@
package com.hxhq.business.controller;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.hxhq.business.domain.StudyFormFill;
import com.hxhq.business.service.IStudyFormFillService;
import com.hxhq.common.core.web.controller.BaseController;
import com.hxhq.common.core.web.domain.AjaxResult;
import com.hxhq.common.core.web.page.TableDataInfo;
/**
* 试验-填报单Controller
*
* @author hxhq
* @date 2025-12-29
*/
@RestController
@RequestMapping("/business/studyFormFill")
public class StudyFormFillController extends BaseController
{
@Autowired
private IStudyFormFillService studyFormFillService;
/**
* 查询试验-填报单列表
*/
@GetMapping("/list")
public TableDataInfo list(StudyFormFill studyFormFill)
{
startPage();
List<StudyFormFill> list = studyFormFillService.queryList(studyFormFill);
return getDataTable(list);
}
/**
* 获取试验-填报单详细信息
*/
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
return AjaxResult.success(studyFormFillService.getById(id));
}
/**
* 新增试验-填报单信息
*/
@PostMapping("/save")
public AjaxResult save(@RequestBody StudyFormFill studyFormFill)
{
return toAjax(studyFormFillService.saveOrUpdate(studyFormFill));
}
}

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

@ -0,0 +1,66 @@
package com.hxhq.business.controller;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.hxhq.business.domain.StudyFormPlan;
import com.hxhq.business.service.IStudyFormPlanService;
import com.hxhq.common.core.web.controller.BaseController;
import com.hxhq.common.core.web.domain.AjaxResult;
import com.hxhq.common.core.web.page.TableDataInfo;
/**
* 试验-配置计划Controller
*
* @author hxhq
* @date 2025-12-29
*/
@RestController
@RequestMapping("/business/studyFormPlan")
public class StudyFormPlanController extends BaseController
{
@Autowired
private IStudyFormPlanService studyFormPlanService;
/**
* 查询试验-配置计划列表
*/
@GetMapping("/list")
public TableDataInfo list(StudyFormPlan studyFormPlan)
{
startPage();
List<StudyFormPlan> list = studyFormPlanService.queryList(studyFormPlan);
return getDataTable(list);
}
/**
* 获取试验-配置计划详细信息
*/
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
return AjaxResult.success(studyFormPlanService.getById(id));
}
/**
* 新增试验-配置计划信息
*/
@PostMapping("/save")
public AjaxResult save(@RequestBody StudyFormPlan studyFormPlan)
{
return toAjax(studyFormPlanService.saveOrUpdate(studyFormPlan));
}
/**
* 删除试验-配置计划信息
*/
@PostMapping("/delete")
public AjaxResult delete(@RequestBody Long[] ids)
{
return toAjax(studyFormPlanService.removeByIds(Arrays.asList(ids)));
}
}

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

@ -0,0 +1,92 @@
package com.hxhq.business.controller;
import java.util.Arrays;
import java.util.List;
import com.hxhq.business.dto.study.StudyFormPreListDto;
import com.hxhq.business.form.study.StudyFormPreAuditForm;
import com.hxhq.business.form.study.StudyFormPreSearchForm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.hxhq.business.domain.StudyFormPre;
import com.hxhq.business.service.IStudyFormPreService;
import com.hxhq.common.core.web.controller.BaseController;
import com.hxhq.common.core.web.domain.AjaxResult;
import com.hxhq.common.core.web.page.TableDataInfo;
/**
* 试验-预填单Controller
*
* @author hxhq
* @date 2025-12-29
*/
@RestController
@RequestMapping("/business/studyFormPre")
public class StudyFormPreController extends BaseController
{
@Autowired
private IStudyFormPreService studyFormPreService;
/**
* 列表
*/
@GetMapping("/list")
public TableDataInfo list(StudyFormPreSearchForm form)
{
startPage();
List<StudyFormPreListDto> list = studyFormPreService.queryList(form);
return getDataTable(list);
}
/**
* 详细
*/
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
return AjaxResult.success(studyFormPreService.getById(id));
}
/**
* 保存
*/
@PostMapping("/bc")
public AjaxResult bc(@RequestBody StudyFormPre studyFormPre)
{
studyFormPreService.bc(studyFormPre);
return AjaxResult.success("操作成功");
}
/**
* 提交
*/
@PostMapping("/tj")
public AjaxResult tj(@RequestBody StudyFormPre studyFormPre)
{
studyFormPreService.tj(studyFormPre);
return AjaxResult.success("操作成功");
}
/**
* 通过
*/
@PostMapping("/tg")
public AjaxResult tg(@RequestBody StudyFormPreAuditForm form)
{
studyFormPreService.tg(form);
return AjaxResult.success("操作成功");
}
/**
* 拒绝
*/
@PostMapping("/jj")
public AjaxResult jj(@RequestBody StudyFormPreAuditForm form)
{
studyFormPreService.jj(form);
return AjaxResult.success("操作成功");
}
}

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

@ -0,0 +1,66 @@
package com.hxhq.business.controller;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.hxhq.business.domain.StudyMethod;
import com.hxhq.business.service.IStudyMethodService;
import com.hxhq.common.core.web.controller.BaseController;
import com.hxhq.common.core.web.domain.AjaxResult;
import com.hxhq.common.core.web.page.TableDataInfo;
/**
* 试验-试验方法Controller
*
* @author hxhq
* @date 2025-12-29
*/
@RestController
@RequestMapping("/business/studyMethod")
public class StudyMethodController extends BaseController
{
@Autowired
private IStudyMethodService studyMethodService;
/**
* 查询试验-试验方法列表
*/
@GetMapping("/list")
public TableDataInfo list(StudyMethod studyMethod)
{
startPage();
List<StudyMethod> list = studyMethodService.queryList(studyMethod);
return getDataTable(list);
}
/**
* 获取试验-试验方法详细信息
*/
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
return AjaxResult.success(studyMethodService.getById(id));
}
/**
* 新增试验-试验方法信息
*/
@PostMapping("/save")
public AjaxResult save(@RequestBody StudyMethod studyMethod)
{
return toAjax(studyMethodService.saveOrUpdate(studyMethod));
}
/**
* 删除试验-试验方法信息
*/
@PostMapping("/delete")
public AjaxResult delete(@RequestBody Long[] ids)
{
return toAjax(studyMethodService.removeByIds(Arrays.asList(ids)));
}
}

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

@ -0,0 +1,66 @@
package com.hxhq.business.controller;
import java.util.Arrays;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.hxhq.business.domain.StudyRoom;
import com.hxhq.business.service.IStudyRoomService;
import com.hxhq.common.core.web.controller.BaseController;
import com.hxhq.common.core.web.domain.AjaxResult;
import com.hxhq.common.core.web.page.TableDataInfo;
/**
* 试验-饲养间Controller
*
* @author hxhq
* @date 2025-12-29
*/
@RestController
@RequestMapping("/business/studyRoom")
public class StudyRoomController extends BaseController
{
@Autowired
private IStudyRoomService studyRoomService;
/**
* 查询试验-饲养间列表
*/
@GetMapping("/list")
public TableDataInfo list(StudyRoom studyRoom)
{
startPage();
List<StudyRoom> list = studyRoomService.queryList(studyRoom);
return getDataTable(list);
}
/**
* 获取试验-饲养间详细信息
*/
@GetMapping(value = "/info")
public AjaxResult getInfo(Long id)
{
return AjaxResult.success(studyRoomService.getById(id));
}
/**
* 新增试验-饲养间信息
*/
@PostMapping("/save")
public AjaxResult save(@RequestBody StudyRoom studyRoom)
{
return toAjax(studyRoomService.saveOrUpdate(studyRoom));
}
/**
* 删除试验-饲养间信息
*/
@PostMapping("/delete")
public AjaxResult delete(@RequestBody Long[] ids)
{
return toAjax(studyRoomService.removeByIds(Arrays.asList(ids)));
}
}

+ 7
- 6
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Gyzj.java View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hxhq.common.core.annotation.Compare;
import com.hxhq.common.core.annotation.Excel;
import com.hxhq.common.core.domain.MpBaseEntity;
import io.swagger.v3.oas.models.security.SecurityScheme;
@ -24,30 +25,30 @@ public class Gyzj extends MpBaseEntity
private static final long serialVersionUID = 1L;
/** 名称 */
@Excel(name = "名称")
@Compare(name = "名称")
private String mc;
/** 编号 */
private String bh;
/** 浓度 */
@Excel(name = "浓度")
@Compare(name = "浓度")
private String nd;
/** 浓度单位 */
@Excel(name = "浓度单位")
@Compare(name = "浓度单位")
private String nddw;
/** 库存 */
@Excel(name = "库存")
@Compare(name = "库存")
private String kc;
/** 库存单位 */
@Excel(name = "库存单位")
@Compare(name = "库存单位")
private String kcdw;
/** 失效日期 */
@Excel(name = "失效日期")
@Compare(name = "失效日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date sxrq;

+ 7
- 6
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Mjy.java View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hxhq.common.core.annotation.Compare;
import com.hxhq.common.core.annotation.Excel;
import com.hxhq.common.core.domain.MpBaseEntity;
@ -22,30 +23,30 @@ public class Mjy extends MpBaseEntity
private static final long serialVersionUID = 1L;
/** 名称 */
@Excel(name = "名称")
@Compare(name = "名称")
private String mc;
/** 编号 */
private String bh;
/** 浓度 */
@Excel(name = "浓度")
@Compare(name = "浓度")
private String nd;
/** 浓度单位 */
@Excel(name = "浓度单位")
@Compare(name = "浓度单位")
private String nddw;
/** 库存 */
@Excel(name = "库存")
@Compare(name = "库存")
private String kc;
/** 库存单位 */
@Excel(name = "库存单位")
@Compare(name = "库存单位")
private String kcdw;
/** 失效日期 */
@Excel(name = "失效日期")
@Compare(name = "失效日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date sxrq;

+ 45
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Room.java View File

@ -0,0 +1,45 @@
package com.hxhq.business.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hxhq.common.core.domain.MpBaseEntity;
/**
* 饲养间对象 t_room
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_room")
public class Room extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 饲养间号 */
private String syjh;
/** 试验区域 */
private String syqy;
public void setSyjh(String syjh)
{
this.syjh = syjh;
}
public String getSyjh()
{
return syjh;
}
public void setSyqy(String syqy)
{
this.syqy = syqy;
}
public String getSyqy()
{
return syqy;
}
}

+ 45
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/Species.java View File

@ -0,0 +1,45 @@
package com.hxhq.business.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hxhq.common.core.domain.MpBaseEntity;
/**
* 动物种属对象 t_species
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_species")
public class Species extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 笼具 */
private String lj;
/** 动物种属 */
private String ddzs;
public void setLj(String lj)
{
this.lj = lj;
}
public String getLj()
{
return lj;
}
public void setDdzs(String ddzs)
{
this.ddzs = ddzs;
}
public String getDdzs()
{
return ddzs;
}
}

+ 178
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormFill.java View File

@ -0,0 +1,178 @@
package com.hxhq.business.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hxhq.common.core.annotation.Excel;
import com.hxhq.common.core.domain.MpBaseEntity;
import java.util.Date;
/**
* 试验-填报单对象 t_study_form_fill
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_study_form_fill")
public class StudyFormFill extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 所属试验id */
private Long studyId;
/** 表单编号 */
private String bdbh;
/** 表单名称 */
private String bdmc;
/** 表单说明 */
private String bdsm;
/** 模板id */
private Long templateId;
/** 模板名称 */
private String templateMc;
/** 表单内容 */
private String bdnr;
/** 表单归属人id */
private Long userId;
/** 表单归属人名称 */
private String userMc;
/** 是否补录:1:否;10:是 */
private Integer sfbl;
/** 表单状态:1:填报中;3:已提交;5:已完成(经复核);7:已完成;9已废止;11:待废止 */
private Integer bdzt;
/** 提交时间 */
@Excel(name = "提交时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date tjsj;
public Date getTjsj() {
return tjsj;
}
public void setTjsj(Date tjsj) {
this.tjsj = tjsj;
}
public void setStudyId(Long studyId)
{
this.studyId = studyId;
}
public Long getStudyId()
{
return studyId;
}
public void setBdbh(String bdbh)
{
this.bdbh = bdbh;
}
public String getBdbh()
{
return bdbh;
}
public void setBdmc(String bdmc)
{
this.bdmc = bdmc;
}
public String getBdmc()
{
return bdmc;
}
public void setBdsm(String bdsm)
{
this.bdsm = bdsm;
}
public String getBdsm()
{
return bdsm;
}
public void setTemplateId(Long templateId)
{
this.templateId = templateId;
}
public Long getTemplateId()
{
return templateId;
}
public void setTemplateMc(String templateMc)
{
this.templateMc = templateMc;
}
public String getTemplateMc()
{
return templateMc;
}
public void setBdnr(String bdnr)
{
this.bdnr = bdnr;
}
public String getBdnr()
{
return bdnr;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserMc(String userMc)
{
this.userMc = userMc;
}
public String getUserMc()
{
return userMc;
}
public void setSfbl(Integer sfbl)
{
this.sfbl = sfbl;
}
public Integer getSfbl()
{
return sfbl;
}
public void setBdzt(Integer bdzt)
{
this.bdzt = bdzt;
}
public Integer getBdzt()
{
return bdzt;
}
}

+ 166
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormPlan.java View File

@ -0,0 +1,166 @@
package com.hxhq.business.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hxhq.common.core.annotation.Excel;
import com.hxhq.common.core.domain.MpBaseEntity;
import java.util.Date;
/**
* 试验-配置计划对象 t_study_form_plan
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_study_form_plan")
public class StudyFormPlan extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 所属试验id */
private Long studyId;
/** 表单编号 */
private String bdbh;
/** 表单名称 */
private String bdmc;
/** 表单说明 */
private String bdsm;
/** 模板id */
private Long templateId;
/** 模板名称 */
private String templateMc;
/** 表单内容 */
private String bdnr;
/** 表单归属人id */
private Long userId;
/** 表单归属人名称 */
private String userMc;
/** 表单状态:1:填报中;3:已提交;5:已完成(经复核) */
private Integer bdzt;
/** 提交时间 */
@Excel(name = "提交时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date tjsj;
public Date getTjsj() {
return tjsj;
}
public void setTjsj(Date tjsj) {
this.tjsj = tjsj;
}
public void setStudyId(Long studyId)
{
this.studyId = studyId;
}
public Long getStudyId()
{
return studyId;
}
public void setBdbh(String bdbh)
{
this.bdbh = bdbh;
}
public String getBdbh()
{
return bdbh;
}
public void setBdmc(String bdmc)
{
this.bdmc = bdmc;
}
public String getBdmc()
{
return bdmc;
}
public void setBdsm(String bdsm)
{
this.bdsm = bdsm;
}
public String getBdsm()
{
return bdsm;
}
public void setTemplateId(Long templateId)
{
this.templateId = templateId;
}
public Long getTemplateId()
{
return templateId;
}
public void setTemplateMc(String templateMc)
{
this.templateMc = templateMc;
}
public String getTemplateMc()
{
return templateMc;
}
public void setBdnr(String bdnr)
{
this.bdnr = bdnr;
}
public String getBdnr()
{
return bdnr;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserMc(String userMc)
{
this.userMc = userMc;
}
public String getUserMc()
{
return userMc;
}
public void setBdzt(Integer bdzt)
{
this.bdzt = bdzt;
}
public Integer getBdzt()
{
return bdzt;
}
}

+ 165
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormPre.java View File

@ -0,0 +1,165 @@
package com.hxhq.business.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hxhq.common.core.annotation.Excel;
import com.hxhq.common.core.domain.MpBaseEntity;
import java.util.Date;
/**
* 试验-预填单对象 t_study_form_pre
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_study_form_pre")
public class StudyFormPre extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 所属试验id */
private Long studyId;
/** 表单编号 */
private String bdbh;
/** 表单名称 */
private String bdmc;
/** 表单说明 */
private String bdsm;
/** 模板id */
private Long templateId;
/** 模板名称 */
private String templateMc;
/** 表单内容 */
private String bdnr;
/** 表单归属人id */
private Long userId;
/** 表单归属人名称 */
private String userMc;
/** 表单状态:1:填报中;3:已提交;5:已通过 */
private Integer bdzt;
/** 提交时间 */
@Excel(name = "提交时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date tjsj;
public Date getTjsj() {
return tjsj;
}
public void setTjsj(Date tjsj) {
this.tjsj = tjsj;
}
public void setStudyId(Long studyId)
{
this.studyId = studyId;
}
public Long getStudyId()
{
return studyId;
}
public void setBdbh(String bdbh)
{
this.bdbh = bdbh;
}
public String getBdbh()
{
return bdbh;
}
public void setBdmc(String bdmc)
{
this.bdmc = bdmc;
}
public String getBdmc()
{
return bdmc;
}
public void setBdsm(String bdsm)
{
this.bdsm = bdsm;
}
public String getBdsm()
{
return bdsm;
}
public void setTemplateId(Long templateId)
{
this.templateId = templateId;
}
public Long getTemplateId()
{
return templateId;
}
public void setTemplateMc(String templateMc)
{
this.templateMc = templateMc;
}
public String getTemplateMc()
{
return templateMc;
}
public void setBdnr(String bdnr)
{
this.bdnr = bdnr;
}
public String getBdnr()
{
return bdnr;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserMc(String userMc)
{
this.userMc = userMc;
}
public String getUserMc()
{
return userMc;
}
public void setBdzt(Integer bdzt)
{
this.bdzt = bdzt;
}
public Integer getBdzt()
{
return bdzt;
}
}

+ 84
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyMethod.java View File

@ -0,0 +1,84 @@
package com.hxhq.business.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hxhq.common.core.domain.MpBaseEntity;
/**
* 试验-试验方法对象 t_study_method
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_study_method")
public class StudyMethod extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 所属试验id */
private Long studyId;
/** 方法名称 */
private String ffmc;
/** 方法文件地址 */
private String url;
/** 方法归属人id */
private Long userId;
/** 方法归属人名称 */
private String userMc;
public void setStudyId(Long studyId)
{
this.studyId = studyId;
}
public Long getStudyId()
{
return studyId;
}
public void setFfmc(String ffmc)
{
this.ffmc = ffmc;
}
public String getFfmc()
{
return ffmc;
}
public void setUrl(String url)
{
this.url = url;
}
public String getUrl()
{
return url;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
public void setUserMc(String userMc)
{
this.userMc = userMc;
}
public String getUserMc()
{
return userMc;
}
}

+ 205
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyRoom.java View File

@ -0,0 +1,205 @@
package com.hxhq.business.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hxhq.common.core.domain.MpBaseEntity;
/**
* 试验-饲养间对象 t_study_room
*
* @author hxhq
* @date 2025-12-29
*/
@TableName("t_study_room")
public class StudyRoom extends MpBaseEntity
{
private static final long serialVersionUID = 1L;
/** 所属试验 */
private Long studyId;
/** 饲养间号 */
private String syjh;
/** 试验区域 */
private String syqy;
/** 笼具 */
private String lj;
/** 动物种属 */
private String ddzs;
/** 开始使用时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date kssj;
/** 开始使用原因 */
private String kssyyy;
/** 启用人id */
private Long qyrId;
/** 启用人名称 */
private String qyrMc;
/** 结束使用原因 */
private String jssyyy;
/** 结束人id */
private Long jsrId;
/** 结束人名称 */
private String jsrMc;
/** 结束时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date jssj;
/** 状态:1:使用中;3:已结束 */
private Integer zt;
public void setStudyId(Long studyId)
{
this.studyId = studyId;
}
public Long getStudyId()
{
return studyId;
}
public void setSyjh(String syjh)
{
this.syjh = syjh;
}
public String getSyjh()
{
return syjh;
}
public void setSyqy(String syqy)
{
this.syqy = syqy;
}
public String getSyqy()
{
return syqy;
}
public void setLj(String lj)
{
this.lj = lj;
}
public String getLj()
{
return lj;
}
public void setDdzs(String ddzs)
{
this.ddzs = ddzs;
}
public String getDdzs()
{
return ddzs;
}
public void setKssj(Date kssj)
{
this.kssj = kssj;
}
public Date getKssj()
{
return kssj;
}
public void setKssyyy(String kssyyy)
{
this.kssyyy = kssyyy;
}
public String getKssyyy()
{
return kssyyy;
}
public void setQyrId(Long qyrId)
{
this.qyrId = qyrId;
}
public Long getQyrId()
{
return qyrId;
}
public void setQyrMc(String qyrMc)
{
this.qyrMc = qyrMc;
}
public String getQyrMc()
{
return qyrMc;
}
public void setJssyyy(String jssyyy)
{
this.jssyyy = jssyyy;
}
public String getJssyyy()
{
return jssyyy;
}
public void setJsrId(Long jsrId)
{
this.jsrId = jsrId;
}
public Long getJsrId()
{
return jsrId;
}
public void setJsrMc(String jsrMc)
{
this.jsrMc = jsrMc;
}
public String getJsrMc()
{
return jsrMc;
}
public void setJssj(Date jssj)
{
this.jssj = jssj;
}
public Date getJssj()
{
return jssj;
}
public void setZt(Integer zt)
{
this.zt = zt;
}
public Integer getZt()
{
return zt;
}
}

+ 11
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/dto/study/StudyFormPreListDto.java View File

@ -0,0 +1,11 @@
package com.hxhq.business.dto.study;
import com.hxhq.business.domain.StudyFormPre;
/**
* @author tanfei
*/
public class StudyFormPreListDto extends StudyFormPre {
}

+ 56
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/enums/study/StudyFormPreBdztEnum.java View File

@ -0,0 +1,56 @@
package com.hxhq.business.enums.study;
/**
* 表单状态1填报中3已提交5已通过
* @author tanfei
*/
public enum StudyFormPreBdztEnum {
/**
* 填报中
*/
tbz(1, "填报中"),
/**
* 已提交
*/
ytj(3, "已提交"),
/**
* 已通过
*/
ytg(5, "已通过");
private int value;
private String text;
StudyFormPreBdztEnum(int value, String text) {
this.value = value;
this.text = text;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public static StudyFormPreBdztEnum getEnumByValue(int type) {
for (StudyFormPreBdztEnum bt : values()) {
if (bt.value == type) {
return bt;
}
}
return null;
}
}

+ 9
- 8
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/mjy/BjForm.java View File

@ -1,6 +1,7 @@
package com.hxhq.business.form.mjy;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hxhq.common.core.annotation.Compare;
import com.hxhq.common.core.annotation.Excel;
import java.util.Date;
@ -14,36 +15,36 @@ public class BjForm {
private Long id;
/** 名称编辑 */
@Excel(name = "名称")
@Compare(name = "名称")
private String mc;
/** 浓度编辑 */
@Excel(name = "浓度")
@Compare(name = "浓度")
private String nd;
/** 浓度单位编辑 */
@Excel(name = "浓度单位")
@Compare(name = "浓度单位")
private String nddw;
/** 库存编辑 */
@Excel(name = "库存")
@Compare(name = "库存")
private String kc;
/** 库存单位编辑 */
@Excel(name = "库存单位")
@Compare(name = "库存单位")
private String kcdw;
/** 失效日期编辑 */
@Excel(name = "失效日期")
@Compare(name = "失效日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date sxrq;
/** 存储条件编辑 */
@Excel(name = "存储条件")
@Compare(name = "存储条件")
private String cctj;
/** 存储位置编辑 */
@Excel(name = "存储位置")
@Compare(name = "存储位置")
private String ccwz;
/** 编辑备注 */

+ 3
- 2
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/mjy/XgkcForm.java View File

@ -1,5 +1,6 @@
package com.hxhq.business.form.mjy;
import com.hxhq.common.core.annotation.Compare;
import com.hxhq.common.core.annotation.Excel;
/**
@ -11,11 +12,11 @@ public class XgkcForm {
private Long id;
/** 库存 */
@Excel(name = "库存")
@Compare(name = "库存")
private String kc;;
/** 库存单位 */
@Excel(name = "库存单位")
@Compare(name = "库存单位")
private String kcdw;
/** 库存编辑备注 */

+ 116
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormFillSearchForm.java View File

@ -0,0 +1,116 @@
package com.hxhq.business.form.study;
/**
* @author tanfei
*/
public class StudyFormFillSearchForm {
/** 所属试验id */
private Long studyId;
/** 表单编号 */
private String bdbh;
/** 表单名称 */
private String bdmc;
/** 表单归属人id */
private Long userId;
/** 模板名称 */
private String templateMc;
/** 是否补录:1:否;10:是 */
private Integer sfbl;
/** 提交时间开始 */
private String tjsjks;
/** 提交时间开始 */
private String tjsjjs;
/** 创建时间开始 */
private String cjsjks;
/** 创建时间开始 */
private String cjsjjs;
public Long getStudyId() {
return studyId;
}
public void setStudyId(Long studyId) {
this.studyId = studyId;
}
public String getBdbh() {
return bdbh;
}
public void setBdbh(String bdbh) {
this.bdbh = bdbh;
}
public String getBdmc() {
return bdmc;
}
public void setBdmc(String bdmc) {
this.bdmc = bdmc;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getTemplateMc() {
return templateMc;
}
public void setTemplateMc(String templateMc) {
this.templateMc = templateMc;
}
public Integer getSfbl() {
return sfbl;
}
public void setSfbl(Integer sfbl) {
this.sfbl = sfbl;
}
public String getTjsjks() {
return tjsjks;
}
public void setTjsjks(String tjsjks) {
this.tjsjks = tjsjks;
}
public String getTjsjjs() {
return tjsjjs;
}
public void setTjsjjs(String tjsjjs) {
this.tjsjjs = tjsjjs;
}
public String getCjsjks() {
return cjsjks;
}
public void setCjsjks(String cjsjks) {
this.cjsjks = cjsjks;
}
public String getCjsjjs() {
return cjsjjs;
}
public void setCjsjjs(String cjsjjs) {
this.cjsjjs = cjsjjs;
}
}

+ 72
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormPlanSearchForm.java View File

@ -0,0 +1,72 @@
package com.hxhq.business.form.study;
/**
* @author tanfei
*/
public class StudyFormPlanSearchForm {
/** 所属试验id */
private Long studyId;
/** 表单编号 */
private String bdbh;
/** 表单名称 */
private String bdmc;
/** 表单归属人id */
private Long userId;
/** 创建时间开始 */
private String startDate;
/** 创建时间开始 */
private String endDate;
public Long getStudyId() {
return studyId;
}
public void setStudyId(Long studyId) {
this.studyId = studyId;
}
public String getBdbh() {
return bdbh;
}
public void setBdbh(String bdbh) {
this.bdbh = bdbh;
}
public String getBdmc() {
return bdmc;
}
public void setBdmc(String bdmc) {
this.bdmc = bdmc;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
}

+ 74
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormPreAuditForm.java View File

@ -0,0 +1,74 @@
package com.hxhq.business.form.study;
/**
* @author tanfei
*/
public class StudyFormPreAuditForm {
/** 表单id */
private Long id;
/** 原因 */
private String reason;
/** 签名人id */
private Long qmrId;
/** 签名人名称 */
private String qmrMc;
/** 签名人密码 */
private String qmrmm;
/** 审核状态:1:不通过;10:通过 */
private Integer shzt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public Long getQmrId() {
return qmrId;
}
public void setQmrId(Long qmrId) {
this.qmrId = qmrId;
}
public String getQmrMc() {
return qmrMc;
}
public void setQmrMc(String qmrMc) {
this.qmrMc = qmrMc;
}
public String getQmrmm() {
return qmrmm;
}
public void setQmrmm(String qmrmm) {
this.qmrmm = qmrmm;
}
public Integer getShzt() {
return shzt;
}
public void setShzt(Integer shzt) {
this.shzt = shzt;
}
}

+ 85
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/form/study/StudyFormPreSearchForm.java View File

@ -0,0 +1,85 @@
package com.hxhq.business.form.study;
/**
* @author tanfei
*/
public class StudyFormPreSearchForm {
/** 所属试验id */
private Long studyId;
/** 表单编号 */
private String bdbh;
/** 表单名称 */
private String bdmc;
/** 表单归属人id */
private Long userId;
/** 模板名称 */
private String templateMc;
/** 创建时间开始 */
private String startDate;
/** 创建时间开始 */
private String endDate;
public Long getStudyId() {
return studyId;
}
public void setStudyId(Long studyId) {
this.studyId = studyId;
}
public String getBdbh() {
return bdbh;
}
public void setBdbh(String bdbh) {
this.bdbh = bdbh;
}
public String getBdmc() {
return bdmc;
}
public void setBdmc(String bdmc) {
this.bdmc = bdmc;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getTemplateMc() {
return templateMc;
}
public void setTemplateMc(String templateMc) {
this.templateMc = templateMc;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
}

+ 14
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/RoomMapper.java View File

@ -0,0 +1,14 @@
package com.hxhq.business.mapper;
import com.hxhq.business.domain.Room;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 饲养间Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface RoomMapper extends BaseMapper<Room>
{
}

+ 14
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/SpeciesMapper.java View File

@ -0,0 +1,14 @@
package com.hxhq.business.mapper;
import com.hxhq.business.domain.Species;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 动物种属Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface SpeciesMapper extends BaseMapper<Species>
{
}

+ 14
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyFormFillMapper.java View File

@ -0,0 +1,14 @@
package com.hxhq.business.mapper;
import com.hxhq.business.domain.StudyFormFill;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 试验-填报单Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface StudyFormFillMapper extends BaseMapper<StudyFormFill>
{
}

+ 14
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyFormPlanMapper.java View File

@ -0,0 +1,14 @@
package com.hxhq.business.mapper;
import com.hxhq.business.domain.StudyFormPlan;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 试验-配置计划Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface StudyFormPlanMapper extends BaseMapper<StudyFormPlan>
{
}

+ 27
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyFormPreMapper.java View File

@ -0,0 +1,27 @@
package com.hxhq.business.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.hxhq.business.domain.Mjy;
import com.hxhq.business.domain.StudyFormPre;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hxhq.business.dto.mjy.ListDto;
import com.hxhq.business.dto.study.StudyFormPreListDto;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 试验-预填单Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface StudyFormPreMapper extends BaseMapper<StudyFormPre>
{
/**
* 查询列表
* @param queryWrapper
* @return
*/
List<StudyFormPreListDto> queryList(@Param("ew") Wrapper<StudyFormPre> queryWrapper);
}

+ 14
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyMethodMapper.java View File

@ -0,0 +1,14 @@
package com.hxhq.business.mapper;
import com.hxhq.business.domain.StudyMethod;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 试验-试验方法Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface StudyMethodMapper extends BaseMapper<StudyMethod>
{
}

+ 14
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/mapper/StudyRoomMapper.java View File

@ -0,0 +1,14 @@
package com.hxhq.business.mapper;
import com.hxhq.business.domain.StudyRoom;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 试验-饲养间Mapper接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface StudyRoomMapper extends BaseMapper<StudyRoom>
{
}

+ 23
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IRoomService.java View File

@ -0,0 +1,23 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.Room;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 饲养间Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface IRoomService extends IService<Room>
{
/**
* 查询饲养间列表
*
* @param room 饲养间
* @return 饲养间集合
*/
public List<Room> queryList(Room room);
}

+ 23
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/ISpeciesService.java View File

@ -0,0 +1,23 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.Species;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 动物种属Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface ISpeciesService extends IService<Species>
{
/**
* 查询动物种属列表
*
* @param species 动物种属
* @return 动物种属集合
*/
public List<Species> queryList(Species species);
}

+ 23
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyFormFillService.java View File

@ -0,0 +1,23 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.StudyFormFill;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 试验-填报单Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface IStudyFormFillService extends IService<StudyFormFill>
{
/**
* 查询试验-填报单列表
*
* @param studyFormFill 试验-填报单
* @return 试验-填报单集合
*/
public List<StudyFormFill> queryList(StudyFormFill studyFormFill);
}

+ 23
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyFormPlanService.java View File

@ -0,0 +1,23 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.StudyFormPlan;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 试验-配置计划Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface IStudyFormPlanService extends IService<StudyFormPlan>
{
/**
* 查询试验-配置计划列表
*
* @param studyFormPlan 试验-配置计划
* @return 试验-配置计划集合
*/
public List<StudyFormPlan> queryList(StudyFormPlan studyFormPlan);
}

+ 53
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyFormPreService.java View File

@ -0,0 +1,53 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.StudyFormPre;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hxhq.business.dto.study.StudyFormPreListDto;
import com.hxhq.business.form.study.StudyFormPreAuditForm;
import com.hxhq.business.form.study.StudyFormPreSearchForm;
import com.hxhq.common.core.web.domain.AjaxResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 试验-预填单Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface IStudyFormPreService extends IService<StudyFormPre>
{
/**
* 查询试验-预填单列表
*
* @param form 试验-预填单
* @return 试验-预填单集合
*/
public List<StudyFormPreListDto> queryList(StudyFormPreSearchForm form);
/**
* 保存
* @param studyFormPre
*/
public void bc(StudyFormPre studyFormPre);
/**
* 提交
* @param studyFormPre
*/
public void tj(StudyFormPre studyFormPre);
/**
* 通过
* @param form
*/
public void tg(StudyFormPreAuditForm form);
/**
* 拒绝
* @param form
*/
public void jj(StudyFormPreAuditForm form);
}

+ 23
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyMethodService.java View File

@ -0,0 +1,23 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.StudyMethod;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 试验-试验方法Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface IStudyMethodService extends IService<StudyMethod>
{
/**
* 查询试验-试验方法列表
*
* @param studyMethod 试验-试验方法
* @return 试验-试验方法集合
*/
public List<StudyMethod> queryList(StudyMethod studyMethod);
}

+ 23
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/IStudyRoomService.java View File

@ -0,0 +1,23 @@
package com.hxhq.business.service;
import java.util.List;
import com.hxhq.business.domain.StudyRoom;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 试验-饲养间Service接口
*
* @author hxhq
* @date 2025-12-29
*/
public interface IStudyRoomService extends IService<StudyRoom>
{
/**
* 查询试验-饲养间列表
*
* @param studyRoom 试验-饲养间
* @return 试验-饲养间集合
*/
public List<StudyRoom> queryList(StudyRoom studyRoom);
}

+ 35
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/RoomServiceImpl.java View File

@ -0,0 +1,35 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.RoomMapper;
import com.hxhq.business.domain.Room;
import com.hxhq.business.service.IRoomService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* 饲养间Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class RoomServiceImpl extends ServiceImpl<RoomMapper, Room> implements IRoomService
{
/**
* 查询饲养间列表
*
* @param room 饲养间
* @return 饲养间
*/
@Override
public List<Room> queryList(Room room)
{
QueryWrapper<Room> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
}
}

+ 35
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/SpeciesServiceImpl.java View File

@ -0,0 +1,35 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.SpeciesMapper;
import com.hxhq.business.domain.Species;
import com.hxhq.business.service.ISpeciesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* 动物种属Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class SpeciesServiceImpl extends ServiceImpl<SpeciesMapper, Species> implements ISpeciesService
{
/**
* 查询动物种属列表
*
* @param species 动物种属
* @return 动物种属
*/
@Override
public List<Species> queryList(Species species)
{
QueryWrapper<Species> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
}
}

+ 35
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyFormFillServiceImpl.java View File

@ -0,0 +1,35 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.StudyFormFillMapper;
import com.hxhq.business.domain.StudyFormFill;
import com.hxhq.business.service.IStudyFormFillService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* 试验-填报单Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class StudyFormFillServiceImpl extends ServiceImpl<StudyFormFillMapper, StudyFormFill> implements IStudyFormFillService
{
/**
* 查询试验-填报单列表
*
* @param studyFormFill 试验-填报单
* @return 试验-填报单
*/
@Override
public List<StudyFormFill> queryList(StudyFormFill studyFormFill)
{
QueryWrapper<StudyFormFill> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
}
}

+ 35
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyFormPlanServiceImpl.java View File

@ -0,0 +1,35 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.StudyFormPlanMapper;
import com.hxhq.business.domain.StudyFormPlan;
import com.hxhq.business.service.IStudyFormPlanService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* 试验-配置计划Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class StudyFormPlanServiceImpl extends ServiceImpl<StudyFormPlanMapper, StudyFormPlan> implements IStudyFormPlanService
{
/**
* 查询试验-配置计划列表
*
* @param studyFormPlan 试验-配置计划
* @return 试验-配置计划
*/
@Override
public List<StudyFormPlan> queryList(StudyFormPlan studyFormPlan)
{
QueryWrapper<StudyFormPlan> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
}
}

+ 145
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyFormPreServiceImpl.java View File

@ -0,0 +1,145 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hxhq.business.dto.study.StudyFormPreListDto;
import com.hxhq.business.enums.study.StudyFormPreBdztEnum;
import com.hxhq.business.form.study.StudyFormPreAuditForm;
import com.hxhq.business.form.study.StudyFormPreSearchForm;
import com.hxhq.common.core.utils.StringUtils;
import com.hxhq.common.security.utils.SecurityUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.StudyFormPreMapper;
import com.hxhq.business.domain.StudyFormPre;
import com.hxhq.business.service.IStudyFormPreService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.web.bind.annotation.PostMapping;
/**
* 试验-预填单Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class StudyFormPreServiceImpl extends ServiceImpl<StudyFormPreMapper, StudyFormPre> implements IStudyFormPreService
{
/**
* 查询试验-预填单列表
*
* @param form 试验-预填单
* @return 试验-预填单
*/
@Override
public List<StudyFormPreListDto> queryList(StudyFormPreSearchForm form)
{
QueryWrapper<StudyFormPre> queryWrapper = Wrappers.query();
queryWrapper.eq("t.del_flag", "0");
if (form.getUserId() != null && form.getUserId().longValue() > 0) {
queryWrapper.eq("t.user_id", form.getUserId());
}
if (form.getStudyId() != null && form.getStudyId().longValue() > 0) {
queryWrapper.eq("t.study_id", form.getStudyId());
}
if (StringUtils.isNoneBlank(form.getBdbh())) {
queryWrapper.and(p -> p.like("t.`bdbh`", form.getBdbh()));
}
if (StringUtils.isNoneBlank(form.getBdmc())) {
queryWrapper.and(p -> p.like("t.`bdmc`", form.getBdmc()));
}
if (StringUtils.isNoneBlank(form.getTemplateMc())) {
queryWrapper.and(p -> p.like("t.`template_mc`", form.getTemplateMc()));
}
if (StringUtils.isNoneBlank(form.getStartDate())) {
queryWrapper.apply("t.create_time>={0}", form.getStartDate());
}
if (StringUtils.isNoneBlank(form.getEndDate())) {
queryWrapper.apply("t.create_time<{0}", form.getEndDate());
}
queryWrapper.orderByDesc("t.create_time");
return baseMapper.queryList(queryWrapper);
}
/**
* 保存
* @param studyFormPre
*/
@Override
public void bc(StudyFormPre studyFormPre){
if(studyFormPre.getId()!=null){
StudyFormPre studyFormPreOld=this.getById(studyFormPre.getId());
if(studyFormPreOld==null){
throw new SecurityException("信息不存在或已删除");
}
if(SecurityUtils.getUserId().equals(studyFormPreOld.getUserId())){
throw new SecurityException("只能操作自己的表单");
}
this.updateById(studyFormPre);
}else{
studyFormPre.setUserId(SecurityUtils.getUserId());
studyFormPre.setUserMc(SecurityUtils.getLoginUser().getSysUser().getNickName());
studyFormPre.setBdzt(StudyFormPreBdztEnum.tbz.getValue());
this.save(studyFormPre);
}
//稽查轨迹 todo
}
/**
* 提交
* @param studyFormPre
*/
@Override
public void tj(StudyFormPre studyFormPre){
StudyFormPre studyFormPreOld=this.getById(studyFormPre.getId());
if(studyFormPreOld==null){
throw new SecurityException("信息不存在或已删除");
}
if(SecurityUtils.getUserId().equals(studyFormPreOld.getUserId())){
throw new SecurityException("只能操作自己的表单");
}
studyFormPre.setBdzt(StudyFormPreBdztEnum.ytj.getValue());
this.updateById(studyFormPre);
//稽查轨迹 todo
}
/**
* 通过
* @param form
*/
@Override
public void tg(StudyFormPreAuditForm form){
StudyFormPre studyFormPreOld=this.getById(form.getId());
if(studyFormPreOld==null){
throw new SecurityException("信息不存在或已删除");
}
if(!studyFormPreOld.getBdzt().equals(StudyFormPreBdztEnum.ytj.getValue())){
throw new SecurityException("不是填报状态,不能审核");
}
studyFormPreOld.setBdzt(StudyFormPreBdztEnum.ytg.getValue());
this.updateById(studyFormPreOld);
//稽查轨迹 todo
}
/**
* 拒绝
* @param form
*/
@Override
public void jj(StudyFormPreAuditForm form){
StudyFormPre studyFormPreOld=this.getById(form.getId());
if(studyFormPreOld==null){
throw new SecurityException("信息不存在或已删除");
}
if(!studyFormPreOld.getBdzt().equals(StudyFormPreBdztEnum.ytj.getValue())){
throw new SecurityException("不是填报状态,不能审核");
}
studyFormPreOld.setBdzt(StudyFormPreBdztEnum.tbz.getValue());
this.updateById(studyFormPreOld);
//稽查轨迹 todo
}
}

+ 35
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyMethodServiceImpl.java View File

@ -0,0 +1,35 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.StudyMethodMapper;
import com.hxhq.business.domain.StudyMethod;
import com.hxhq.business.service.IStudyMethodService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* 试验-试验方法Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class StudyMethodServiceImpl extends ServiceImpl<StudyMethodMapper, StudyMethod> implements IStudyMethodService
{
/**
* 查询试验-试验方法列表
*
* @param studyMethod 试验-试验方法
* @return 试验-试验方法
*/
@Override
public List<StudyMethod> queryList(StudyMethod studyMethod)
{
QueryWrapper<StudyMethod> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
}
}

+ 35
- 0
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/service/impl/StudyRoomServiceImpl.java View File

@ -0,0 +1,35 @@
package com.hxhq.business.service.impl;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import com.hxhq.business.mapper.StudyRoomMapper;
import com.hxhq.business.domain.StudyRoom;
import com.hxhq.business.service.IStudyRoomService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* 试验-饲养间Service业务层处理
*
* @author hxhq
* @date 2025-12-29
*/
@Service
public class StudyRoomServiceImpl extends ServiceImpl<StudyRoomMapper, StudyRoom> implements IStudyRoomService
{
/**
* 查询试验-饲养间列表
*
* @param studyRoom 试验-饲养间
* @return 试验-饲养间
*/
@Override
public List<StudyRoom> queryList(StudyRoom studyRoom)
{
QueryWrapper<StudyRoom> queryWrapper = Wrappers.query();
return this.list(queryWrapper);
}
}

+ 3
- 8
hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/ObjectCompareUtil.java View File

@ -34,11 +34,6 @@ public class ObjectCompareUtil {
return changes;
}
// if (!oldObj.getClass().equals(newObj.getClass())) {
// throw new IllegalArgumentException("对比的对象类型必须相同");
// }
// 获取所有字段
Field[] fields = oldObj.getClass().getDeclaredFields();
@ -166,12 +161,12 @@ public class ObjectCompareUtil {
/**
* 获取字段的中文描述如果有@Excel注解
* 获取字段的中文描述如果有@Compare注解
*/
private static String getFieldLabel(Field field) {
// 若依的@Excel注解可以获取name属性
if (field.isAnnotationPresent(com.hxhq.common.core.annotation.Excel.class)) {
com.hxhq.common.core.annotation.Excel excel = field.getAnnotation(com.hxhq.common.core.annotation.Excel.class);
if (field.isAnnotationPresent(com.hxhq.common.core.annotation.Compare.class)) {
com.hxhq.common.core.annotation.Compare excel = field.getAnnotation(com.hxhq.common.core.annotation.Compare.class);
return excel.name();
}

+ 6
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/RoomMapper.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.RoomMapper">
</mapper>

+ 6
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/SpeciesMapper.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.SpeciesMapper">
</mapper>

+ 6
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyFormFillMapper.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.StudyFormFillMapper">
</mapper>

+ 6
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyFormPlanMapper.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.StudyFormPlanMapper">
</mapper>

+ 15
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyFormPreMapper.xml View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.StudyFormPreMapper">
<select id="queryList" resultType="com.hxhq.business.dto.study.StudyFormPreListDto">
select t.id,t.bdbh,t.bdmc,t.template_mc,t.create_time,t.user_mc,t.bdzt
FROM `t_study_form_pre` t
<if test="ew.sqlSegment != '' and ew.sqlSegment != null">
<where>
${ew.sqlSegment}
</where>
</if>
</select>
</mapper>

+ 6
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyMethodMapper.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.StudyMethodMapper">
</mapper>

+ 6
- 0
hxhq-modules/hxhq-system/src/main/resources/mapper/business/StudyRoomMapper.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hxhq.business.mapper.StudyRoomMapper">
</mapper>

Loading…
Cancel
Save