From b3f5792c1778c919e6f839992b3a112208f9a22c Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 05 三月 2026 16:45:02 +0800
Subject: [PATCH] lims模块
---
src/main/java/com/ruoyi/lims/service/impl/ExperimentServiceImpl.java | 24 +
src/main/resources/mapper/lims/DataCollectionMapper.xml | 28 +
src/main/java/com/ruoyi/lims/service/impl/RealtimeMonitorServiceImpl.java | 24 +
src/main/java/com/ruoyi/lims/service/DataInterfaceService.java | 11
src/main/resources/mapper/lims/ExperimentMapper.xml | 27 +
src/main/resources/mapper/lims/SampleMapper.xml | 26 +
src/main/java/com/ruoyi/lims/service/impl/SampleServiceImpl.java | 24 +
src/main/java/com/ruoyi/lims/mapper/RealtimeMonitorMapper.java | 9
src/main/java/com/ruoyi/lims/controller/SampleController.java | 55 ++
src/main/java/com/ruoyi/lims/pojo/Sample.java | 118 +++++
src/main/java/com/ruoyi/lims/pojo/DataInterface.java | 112 +++++
src/main/java/com/ruoyi/lims/controller/DataCollectionController.java | 55 ++
src/main/java/com/ruoyi/lims/mapper/DataInterfaceMapper.java | 9
src/main/java/com/ruoyi/lims/service/DataCollectionService.java | 11
src/main/java/com/ruoyi/lims/controller/RealtimeMonitorController.java | 49 ++
src/main/java/com/ruoyi/lims/controller/ExperimentController.java | 55 ++
src/main/java/com/ruoyi/lims/service/ExperimentService.java | 11
src/main/java/com/ruoyi/lims/service/impl/DataInterfaceServiceImpl.java | 40 +
src/main/resources/mapper/lims/RealtimeMonitorMapper.xml | 32 +
src/main/java/com/ruoyi/lims/service/impl/DataCollectionServiceImpl.java | 24 +
src/main/resources/mapper/lims/DataInterfaceMapper.xml | 25 +
src/main/java/com/ruoyi/lims/mapper/DataCollectionMapper.java | 9
src/main/java/com/ruoyi/lims/pojo/RealtimeMonitor.java | 137 ++++++
src/main/java/com/ruoyi/lims/service/RealtimeMonitorService.java | 13
src/main/java/com/ruoyi/lims/pojo/Experiment.java | 122 +++++
src/main/java/com/ruoyi/lims/service/SampleService.java | 11
src/main/java/com/ruoyi/lims/controller/DataInterfaceController.java | 57 ++
src/main/java/com/ruoyi/lims/mapper/ExperimentMapper.java | 9
src/main/java/com/ruoyi/lims/pojo/DataCollection.java | 128 +++++
src/main/java/com/ruoyi/lims/mapper/SampleMapper.java | 9
30 files changed, 1,264 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/lims/controller/DataCollectionController.java b/src/main/java/com/ruoyi/lims/controller/DataCollectionController.java
new file mode 100644
index 0000000..12dfbeb
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/controller/DataCollectionController.java
@@ -0,0 +1,55 @@
+package com.ruoyi.lims.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.lims.pojo.DataCollection;
+import com.ruoyi.lims.service.DataCollectionService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/lims/dataCollection")
+@Api(value = "DataCollection", tags = "鏁版嵁閲囬泦涓庡鐞嗚〃")
+public class DataCollectionController {
+
+ private DataCollectionService dataCollectionservice;
+
+ @GetMapping("/listPage")
+ @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹噰闆嗕笌澶勭悊琛�")
+ public AjaxResult listPage(Page<DataCollection> page, DataCollection dataCollection) {
+ IPage<DataCollection> listPage = dataCollectionservice.listPage(page, dataCollection);
+ return AjaxResult.success(listPage);
+ }
+
+ @GetMapping("/{id}")
+ @ApiOperation("鏍规嵁ID鏌ヨ鏁版嵁閲囬泦涓庡鐞嗚〃")
+ public AjaxResult getDataCollection(@PathVariable Long id) {
+ return AjaxResult.success(dataCollectionservice.getById(id));
+ }
+
+ @PostMapping("/add")
+ @ApiOperation("鏂板鏁版嵁閲囬泦涓庡鐞嗚〃")
+ public AjaxResult add(@RequestBody DataCollection dataCollection) {
+ return AjaxResult.success(dataCollectionservice.save(dataCollection));
+ }
+
+ @PostMapping("/update")
+ @ApiOperation("淇敼鏁版嵁閲囬泦涓庡鐞嗚〃")
+ public AjaxResult update(@RequestBody DataCollection dataCollection) {
+ return AjaxResult.success(dataCollectionservice.updateById(dataCollection));
+ }
+
+ @DeleteMapping("/delete")
+ @ApiOperation("鍒犻櫎鏁版嵁閲囬泦涓庡鐞嗚〃")
+ public AjaxResult delete(@RequestBody List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ return AjaxResult.success(dataCollectionservice.removeBatchByIds(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/controller/DataInterfaceController.java b/src/main/java/com/ruoyi/lims/controller/DataInterfaceController.java
new file mode 100644
index 0000000..387493a
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/controller/DataInterfaceController.java
@@ -0,0 +1,57 @@
+package com.ruoyi.lims.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.lims.pojo.DataInterface;
+import com.ruoyi.lims.service.DataInterfaceService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.*;
+import lombok.AllArgsConstructor;
+import io.swagger.annotations.ApiOperation;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/lims/dataInterface")
+@Api(value = "DataInterface", tags = "鏁版嵁鎺ュ彛绠$悊琛�")
+public class DataInterfaceController {
+
+ private DataInterfaceService dataInterfaceservice;
+
+ @GetMapping("/listPage")
+ @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹帴鍙g鐞嗚〃")
+ public AjaxResult listPage(Page<DataInterface> page, DataInterface dataInterface) {
+ IPage<DataInterface> listPage = dataInterfaceservice.listPage(page, dataInterface);
+ return AjaxResult.success(listPage);
+ }
+
+ @GetMapping("/{id}")
+ @ApiOperation("鏍规嵁ID鏌ヨ鏁版嵁鎺ュ彛")
+ public AjaxResult getDataInterface(@PathVariable Long id) {
+ return AjaxResult.success(dataInterfaceservice.getById(id));
+ }
+
+ @PostMapping("/add")
+ @ApiOperation("鏂板鏁版嵁鎺ュ彛绠$悊琛�")
+ public AjaxResult add(@RequestBody DataInterface dataInterface) {
+ return AjaxResult.success(dataInterfaceservice.save(dataInterface));
+ }
+
+ @PostMapping("/update")
+ @ApiOperation("淇敼鏁版嵁鎺ュ彛绠$悊琛�")
+ public AjaxResult update(@RequestBody DataInterface dataInterface) {
+ return AjaxResult.success(dataInterfaceservice.updateById(dataInterface));
+ }
+
+ @DeleteMapping("/delete")
+ @ApiOperation("鍒犻櫎鏁版嵁鎺ュ彛绠$悊琛�")
+ public AjaxResult delete(@RequestBody List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ return AjaxResult.success(dataInterfaceservice.removeBatchByIds(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/controller/ExperimentController.java b/src/main/java/com/ruoyi/lims/controller/ExperimentController.java
new file mode 100644
index 0000000..f85584d
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/controller/ExperimentController.java
@@ -0,0 +1,55 @@
+package com.ruoyi.lims.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.lims.pojo.Experiment;
+import com.ruoyi.lims.service.ExperimentService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/lims/experiment")
+@Api(value = "Experiment", tags = "瀹為獙绠$悊琛�")
+public class ExperimentController {
+
+ private ExperimentService experimentservice;
+
+ @GetMapping("/listPage")
+ @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夊疄楠岀鐞嗚〃")
+ public AjaxResult listPage(Page<Experiment> page, Experiment experiment) {
+ IPage<Experiment> listPage = experimentservice.listPage(page, experiment);
+ return AjaxResult.success(listPage);
+ }
+
+ @GetMapping("/{id}")
+ @ApiOperation("鏍规嵁ID鏌ヨ瀹為獙绠$悊琛�")
+ public AjaxResult getExperiment(@PathVariable Long id) {
+ return AjaxResult.success(experimentservice.getById(id));
+ }
+
+ @PostMapping("/add")
+ @ApiOperation("鏂板瀹為獙绠$悊琛�")
+ public AjaxResult add(@RequestBody Experiment experiment) {
+ return AjaxResult.success(experimentservice.save(experiment));
+ }
+
+ @PostMapping("/update")
+ @ApiOperation("淇敼瀹為獙绠$悊琛�")
+ public AjaxResult update(@RequestBody Experiment experiment) {
+ return AjaxResult.success(experimentservice.updateById(experiment));
+ }
+
+ @DeleteMapping("/delete")
+ @ApiOperation("鍒犻櫎瀹為獙绠$悊琛�")
+ public AjaxResult delete(@RequestBody List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ return AjaxResult.success(experimentservice.removeBatchByIds(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/controller/RealtimeMonitorController.java b/src/main/java/com/ruoyi/lims/controller/RealtimeMonitorController.java
new file mode 100644
index 0000000..5af8fdd
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/controller/RealtimeMonitorController.java
@@ -0,0 +1,49 @@
+package com.ruoyi.lims.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.lims.pojo.RealtimeMonitor;
+import com.ruoyi.lims.service.RealtimeMonitorService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/lims/realtimeMonitor")
+@Api(value = "RealtimeMonitor", tags = "瀹炴椂鐩戞帶涓庨璀﹁〃")
+public class RealtimeMonitorController {
+
+ private RealtimeMonitorService realtimeMonitorservice;
+
+ @GetMapping("/listPage")
+ @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夊疄鏃剁洃鎺т笌棰勮琛�")
+ public AjaxResult listPage(Page<RealtimeMonitor> page, RealtimeMonitor realtimeMonitor) {
+ IPage<RealtimeMonitor> listPage = realtimeMonitorservice.listPage(page, realtimeMonitor);
+ return AjaxResult.success(listPage);
+ }
+
+ @PostMapping("/add")
+ @ApiOperation("鏂板瀹炴椂鐩戞帶涓庨璀﹁〃")
+ public AjaxResult add(@RequestBody RealtimeMonitor realtimeMonitor) {
+ return AjaxResult.success(realtimeMonitorservice.save(realtimeMonitor));
+ }
+
+ @PostMapping("/update")
+ @ApiOperation("淇敼瀹炴椂鐩戞帶涓庨璀﹁〃")
+ public AjaxResult update(@RequestBody RealtimeMonitor realtimeMonitor) {
+ return AjaxResult.success(realtimeMonitorservice.updateById(realtimeMonitor));
+ }
+
+ @DeleteMapping("/delete")
+ @ApiOperation("鍒犻櫎瀹炴椂鐩戞帶涓庨璀﹁〃")
+ public AjaxResult delete(@RequestBody List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ return AjaxResult.success(realtimeMonitorservice.removeBatchByIds(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/controller/SampleController.java b/src/main/java/com/ruoyi/lims/controller/SampleController.java
new file mode 100644
index 0000000..b707596
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/controller/SampleController.java
@@ -0,0 +1,55 @@
+package com.ruoyi.lims.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.lims.pojo.Sample;
+import com.ruoyi.lims.service.SampleService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/lims/sample")
+@Api(value = "Sample", tags = "鏍峰搧绠$悊琛�")
+public class SampleController {
+
+ private SampleService sampleservice;
+
+ @GetMapping("/listPage")
+ @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋牱鍝佺鐞嗚〃")
+ public AjaxResult listPage(Page<Sample> page, Sample sample) {
+ IPage<Sample> listPage = sampleservice.listPage(page, sample);
+ return AjaxResult.success(listPage);
+ }
+
+ @GetMapping("/{id}")
+ @ApiOperation("鏍规嵁ID鏌ヨ鏍峰搧绠$悊琛�")
+ public AjaxResult getSample(@PathVariable Long id) {
+ return AjaxResult.success(sampleservice.getById(id));
+ }
+
+ @PostMapping("/add")
+ @ApiOperation("鏂板鏍峰搧绠$悊琛�")
+ public AjaxResult add(@RequestBody Sample sample) {
+ return AjaxResult.success(sampleservice.save(sample));
+ }
+
+ @PostMapping("/update")
+ @ApiOperation("淇敼鏍峰搧绠$悊琛�")
+ public AjaxResult update(@RequestBody Sample sample) {
+ return AjaxResult.success(sampleservice.updateById(sample));
+ }
+
+ @DeleteMapping("/delete")
+ @ApiOperation("鍒犻櫎鏍峰搧绠$悊琛�")
+ public AjaxResult delete(@RequestBody List<Long> ids) {
+ if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ return AjaxResult.success(sampleservice.removeBatchByIds(ids));
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/mapper/DataCollectionMapper.java b/src/main/java/com/ruoyi/lims/mapper/DataCollectionMapper.java
new file mode 100644
index 0000000..3c9c251
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/mapper/DataCollectionMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.lims.mapper;
+
+import com.ruoyi.lims.pojo.DataCollection;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DataCollectionMapper extends BaseMapper<DataCollection> {
+}
diff --git a/src/main/java/com/ruoyi/lims/mapper/DataInterfaceMapper.java b/src/main/java/com/ruoyi/lims/mapper/DataInterfaceMapper.java
new file mode 100644
index 0000000..6aed5c3
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/mapper/DataInterfaceMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.lims.mapper;
+
+import com.ruoyi.lims.pojo.DataInterface;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DataInterfaceMapper extends BaseMapper<DataInterface> {
+}
diff --git a/src/main/java/com/ruoyi/lims/mapper/ExperimentMapper.java b/src/main/java/com/ruoyi/lims/mapper/ExperimentMapper.java
new file mode 100644
index 0000000..14fad08
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/mapper/ExperimentMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.lims.mapper;
+
+import com.ruoyi.lims.pojo.Experiment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ExperimentMapper extends BaseMapper<Experiment> {
+}
diff --git a/src/main/java/com/ruoyi/lims/mapper/RealtimeMonitorMapper.java b/src/main/java/com/ruoyi/lims/mapper/RealtimeMonitorMapper.java
new file mode 100644
index 0000000..a142064
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/mapper/RealtimeMonitorMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.lims.mapper;
+
+import com.ruoyi.lims.pojo.RealtimeMonitor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RealtimeMonitorMapper extends BaseMapper<RealtimeMonitor> {
+}
diff --git a/src/main/java/com/ruoyi/lims/mapper/SampleMapper.java b/src/main/java/com/ruoyi/lims/mapper/SampleMapper.java
new file mode 100644
index 0000000..58bd220
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/mapper/SampleMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.lims.mapper;
+
+import com.ruoyi.lims.pojo.Sample;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SampleMapper extends BaseMapper<Sample> {
+}
diff --git a/src/main/java/com/ruoyi/lims/pojo/DataCollection.java b/src/main/java/com/ruoyi/lims/pojo/DataCollection.java
new file mode 100644
index 0000000..006aa01
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/pojo/DataCollection.java
@@ -0,0 +1,128 @@
+package com.ruoyi.lims.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("lims_data_collection")
+@ApiModel(description="鏁版嵁閲囬泦涓庡鐞嗚〃")
+public class DataCollection implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty(value="涓婚敭ID")
+ private Long id;
+ /**
+ * 閲囬泦缂栧彿
+ */
+ @ApiModelProperty(value="閲囬泦缂栧彿")
+ private String collectionCode;
+ /**
+ * 璁惧鍚嶇О
+ */
+ @ApiModelProperty(value="璁惧鍚嶇О")
+ private String deviceName;
+ /**
+ * 璁惧缂栧彿
+ */
+ @ApiModelProperty(value="璁惧缂栧彿")
+ private String deviceCode;
+ /**
+ * 鏁版嵁绫诲瀷(temperature-娓╁害,humidity-婀垮害,pressure-鍘嬪姏,flow-娴侀噺,concentration-娴撳害)
+ */
+ @ApiModelProperty(value="鏁版嵁绫诲瀷(temperature-娓╁害,humidity-婀垮害,pressure-鍘嬪姏,flow-娴侀噺,concentration-娴撳害)")
+ private String dataType;
+ /**
+ * 閲囬泦鏁板��
+ */
+ @ApiModelProperty(value="閲囬泦鏁板��")
+ private BigDecimal collectionValue;
+ /**
+ * 璁¢噺鍗曚綅(celsius-鎽勬皬搴�,percent-鐧惧垎姣�,pa-甯曟柉鍗�,lmin-鍗�/鍒嗛挓,mgl-姣厠/鍗�)
+ */
+ @ApiModelProperty(value="璁¢噺鍗曚綅(celsius-鎽勬皬搴�,percent-鐧惧垎姣�,pa-甯曟柉鍗�,lmin-鍗�/鍒嗛挓,mgl-姣厠/鍗�)")
+ private String unit;
+ /**
+ * 閲囬泦鏃堕棿
+ */
+ @ApiModelProperty(value="閲囬泦鏃堕棿")
+ private LocalDateTime collectionTime;
+ /**
+ * 閲囬泦鐘舵��(collecting-閲囬泦涓�,processing-澶勭悊涓�,completed-宸插畬鎴�,failed-澶辫触)
+ */
+ @ApiModelProperty(value="閲囬泦鐘舵��(collecting-閲囬泦涓�,processing-澶勭悊涓�,completed-宸插畬鎴�,failed-澶辫触)")
+ private String collectionStatus;
+ /**
+ * 鏁版嵁璐ㄩ噺(qualified-鍚堟牸,abnormal-寮傚父,pending-寰呮牎楠�)
+ */
+ @ApiModelProperty(value="鏁版嵁璐ㄩ噺(qualified-鍚堟牸,abnormal-寮傚父,pending-寰呮牎楠�)")
+ private String dataQuality;
+ /**
+ * 澶勭悊鏂瑰紡(autoClean-鑷姩娓呮礂,manualVerify-浜哄伐鏍¢獙,dataTransform-鏁版嵁杞崲)
+ */
+ @ApiModelProperty(value="澶勭悊鏂瑰紡(autoClean-鑷姩娓呮礂,manualVerify-浜哄伐鏍¢獙,dataTransform-鏁版嵁杞崲)")
+ private String processMethod;
+ /**
+ * 鍘熷鏁版嵁
+ */
+ @ApiModelProperty(value="鍘熷鏁版嵁")
+ private String rawData;
+ /**
+ * 澶勭悊鍚庢暟鎹�
+ */
+ @ApiModelProperty(value="澶勭悊鍚庢暟鎹�")
+ private String processedData;
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value="澶囨敞")
+ private String remark;
+ /**
+ * 缁存姢浜�
+ */
+ @ApiModelProperty(value="缁存姢浜�")
+ private String maintainer;
+ /**
+ * 缁存姢鏃堕棿
+ */
+ @ApiModelProperty(value="缁存姢鏃堕棿")
+ private LocalDate maintenanceTime;
+
+ /**
+ * 鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)
+ */
+ @ApiModelProperty(value="鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+}
diff --git a/src/main/java/com/ruoyi/lims/pojo/DataInterface.java b/src/main/java/com/ruoyi/lims/pojo/DataInterface.java
new file mode 100644
index 0000000..7ec36ba
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/pojo/DataInterface.java
@@ -0,0 +1,112 @@
+package com.ruoyi.lims.pojo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+
+@Data
+@TableName("lims_data_interface")
+@ApiModel(description="鏁版嵁鎺ュ彛绠$悊琛�")
+public class DataInterface implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty(value="涓婚敭ID")
+ private Long id;
+ /**
+ * 鎺ュ彛鍚嶇О
+ */
+ @ApiModelProperty(value="鎺ュ彛鍚嶇О")
+ private String interfaceName;
+ /**
+ * 鎺ュ彛缂栫爜
+ */
+ @ApiModelProperty(value="鎺ュ彛缂栫爜")
+ private String interfaceCode;
+ /**
+ * 璁惧绫诲瀷(instrument-浠櫒浠〃,software-杞欢绯荤粺,sensor-浼犳劅鍣�)
+ */
+ @ApiModelProperty(value="璁惧绫诲瀷(instrument-浠櫒浠〃,software-杞欢绯荤粺,sensor-浼犳劅鍣�)")
+ private String deviceType;
+ /**
+ * 璁惧鍚嶇О
+ */
+ @ApiModelProperty(value="璁惧鍚嶇О")
+ private String deviceName;
+ /**
+ * 杩炴帴鍗忚(http,tcp,mqtt,modbus,opcua)
+ */
+ @ApiModelProperty(value="杩炴帴鍗忚(http,tcp,mqtt,modbus,opcua)")
+ private String protocol;
+ /**
+ * 杩炴帴鍦板潃
+ */
+ @ApiModelProperty(value="杩炴帴鍦板潃")
+ private String connectionUrl;
+ /**
+ * 绔彛鍙�
+ */
+ @ApiModelProperty(value="绔彛鍙�")
+ private String port;
+ /**
+ * 鎺ュ彛鐘舵��(1-鍚敤,0-绂佺敤)
+ */
+ @ApiModelProperty(value="鎺ュ彛鐘舵��(1-鍚敤,0-绂佺敤)")
+ private String status;
+ /**
+ * 鎺ュ彛鎻忚堪
+ */
+ @ApiModelProperty(value="鎺ュ彛鎻忚堪")
+ private String description;
+ /**
+ * 缁存姢浜�
+ */
+ @ApiModelProperty(value="缁存姢浜�")
+ private String maintainer;
+ /**
+ * 缁存姢鏃堕棿
+ */
+ @ApiModelProperty(value="缁存姢鏃堕棿")
+ private LocalDate maintenanceTime;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value="澶囨敞")
+ private String remark;
+ /**
+ * 鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)
+ */
+ @ApiModelProperty(value="鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+}
diff --git a/src/main/java/com/ruoyi/lims/pojo/Experiment.java b/src/main/java/com/ruoyi/lims/pojo/Experiment.java
new file mode 100644
index 0000000..d750d12
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/pojo/Experiment.java
@@ -0,0 +1,122 @@
+package com.ruoyi.lims.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("lims_experiment")
+@ApiModel(description="瀹為獙绠$悊琛�")
+public class Experiment implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty(value="涓婚敭ID")
+ private Long id;
+ /**
+ * 瀹為獙缂栧彿
+ */
+ @ApiModelProperty(value="瀹為獙缂栧彿")
+ private String experimentCode;
+ /**
+ * 瀹為獙鍚嶇О
+ */
+ @ApiModelProperty(value="瀹為獙鍚嶇О")
+ private String experimentName;
+ /**
+ * 瀹為獙绫诲瀷(chemicalAnalysis-鍖栧鍒嗘瀽,physicalTest-鐗╃悊娴嬭瘯,microbialTest-寰敓鐗╂娴�,performanceTest-鎬ц兘娴嬭瘯)
+ */
+ @ApiModelProperty(value="瀹為獙绫诲瀷(chemicalAnalysis-鍖栧鍒嗘瀽,physicalTest-鐗╃悊娴嬭瘯,microbialTest-寰敓鐗╂娴�,performanceTest-鎬ц兘娴嬭瘯)")
+ private String experimentType;
+ /**
+ * 瀹為獙鏍囧噯
+ */
+ @ApiModelProperty(value="瀹為獙鏍囧噯")
+ private String experimentStandard;
+ /**
+ * 璁″垝寮�濮嬫棩鏈�
+ */
+ @ApiModelProperty(value="璁″垝寮�濮嬫棩鏈�")
+ private LocalDate planStartDate;
+ /**
+ * 璁″垝缁撴潫鏃ユ湡
+ */
+ @ApiModelProperty(value="璁″垝缁撴潫鏃ユ湡")
+ private LocalDate planEndDate;
+ /**
+ * 瀹為獙璐熻矗浜�
+ */
+ @ApiModelProperty(value="瀹為獙璐熻矗浜�")
+ private String responsiblePerson;
+ /**
+ * 瀹為獙鐘舵��(planned-璁″垝涓�,inProgress-杩涜涓�,completed-宸插畬鎴�,cancelled-宸插彇娑�)
+ */
+ @ApiModelProperty(value="瀹為獙鐘舵��(planned-璁″垝涓�,inProgress-杩涜涓�,completed-宸插畬鎴�,cancelled-宸插彇娑�)")
+ private String experimentStatus;
+ /**
+ * 瀹為獙鐩殑
+ */
+ @ApiModelProperty(value="瀹為獙鐩殑")
+ private String experimentPurpose;
+ /**
+ * 瀹為獙杩囩▼
+ */
+ @ApiModelProperty(value="瀹為獙杩囩▼")
+ private String experimentProcess;
+ /**
+ * 瀹為獙缁撴灉
+ */
+ @ApiModelProperty(value="瀹為獙缁撴灉")
+ private String experimentResult;
+ /**
+ * 缁存姢浜�
+ */
+ @ApiModelProperty(value="缁存姢浜�")
+ private String maintainer;
+ /**
+ * 缁存姢鏃堕棿
+ */
+ @ApiModelProperty(value="缁存姢鏃堕棿")
+ private LocalDate maintenanceTime;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value="澶囨敞")
+ private String remark;
+ /**
+ * 鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)
+ */
+ @ApiModelProperty(value="鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+}
diff --git a/src/main/java/com/ruoyi/lims/pojo/RealtimeMonitor.java b/src/main/java/com/ruoyi/lims/pojo/RealtimeMonitor.java
new file mode 100644
index 0000000..e727ca5
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/pojo/RealtimeMonitor.java
@@ -0,0 +1,137 @@
+package com.ruoyi.lims.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("lims_realtime_monitor")
+@ApiModel(description="瀹炴椂鐩戞帶涓庨璀﹁〃")
+public class RealtimeMonitor implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty(value="涓婚敭ID")
+ private Long id;
+ /**
+ * 鐩戞帶缂栧彿
+ */
+ @ApiModelProperty(value="鐩戞帶缂栧彿")
+ private String monitorCode;
+ /**
+ * 鐩戞帶瀵硅薄
+ */
+ @ApiModelProperty(value="鐩戞帶瀵硅薄")
+ private String monitorTarget;
+ /**
+ * 鐩戞帶绫诲瀷(temperature-娓╁害鐩戞帶,humidity-婀垮害鐩戞帶,pressure-鍘嬪姏鐩戞帶,equipment-璁惧鐘舵��,experiment-瀹為獙杩囩▼)
+ */
+ @ApiModelProperty(value="鐩戞帶绫诲瀷(temperature-娓╁害鐩戞帶,humidity-婀垮害鐩戞帶,pressure-鍘嬪姏鐩戞帶,equipment-璁惧鐘舵��,experiment-瀹為獙杩囩▼)")
+ private String monitorType;
+ /**
+ * 鐩戞帶鎸囨爣
+ */
+ @ApiModelProperty(value="鐩戞帶鎸囨爣")
+ private String monitorIndicator;
+ /**
+ * 褰撳墠鏁板��
+ */
+ @ApiModelProperty(value="褰撳墠鏁板��")
+ private BigDecimal currentValue;
+ /**
+ * 璁¢噺鍗曚綅
+ */
+ @ApiModelProperty(value="璁¢噺鍗曚綅")
+ private String unit;
+ /**
+ * 涓婇檺闃堝��
+ */
+ @ApiModelProperty(value="涓婇檺闃堝��")
+ private BigDecimal upperLimit;
+ /**
+ * 涓嬮檺闃堝��
+ */
+ @ApiModelProperty(value="涓嬮檺闃堝��")
+ private BigDecimal lowerLimit;
+ /**
+ * 棰勮鐘舵��(normal-姝e父,warning-棰勮,alert-鍛婅,resolved-宸插鐞�)
+ */
+ @ApiModelProperty(value="棰勮鐘舵��(normal-姝e父,warning-棰勮,alert-鍛婅,resolved-宸插鐞�)")
+ private String alertStatus;
+ /**
+ * 棰勮绾у埆(low-涓�鑸�,medium-閲嶈,high-绱ф��)
+ */
+ @ApiModelProperty(value="棰勮绾у埆(low-涓�鑸�,medium-閲嶈,high-绱ф��)")
+ private String alertLevel;
+ /**
+ * 鐩戞帶鏃堕棿
+ */
+ @ApiModelProperty(value="鐩戞帶鏃堕棿")
+ private LocalDateTime monitorTime;
+ /**
+ * 棰勮鎻忚堪
+ */
+ @ApiModelProperty(value="棰勮鎻忚堪")
+ private String alertDescription;
+ /**
+ * 澶勭悊浜�
+ */
+ @ApiModelProperty(value="澶勭悊浜�")
+ private String handler;
+ /**
+ * 澶勭悊鎺柦
+ */
+ @ApiModelProperty(value="澶勭悊鎺柦")
+ private String handleMeasure;
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value="澶囨敞")
+ private String remark;
+ /**
+ * 缁存姢浜�
+ */
+ @ApiModelProperty(value="缁存姢浜�")
+ private String maintainer;
+ /**
+ * 缁存姢鏃堕棿
+ */
+ @ApiModelProperty(value="缁存姢鏃堕棿")
+ private LocalDate maintenanceTime;
+ /**
+ * 鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)
+ */
+ @ApiModelProperty(value="鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+}
diff --git a/src/main/java/com/ruoyi/lims/pojo/Sample.java b/src/main/java/com/ruoyi/lims/pojo/Sample.java
new file mode 100644
index 0000000..7bbce35
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/pojo/Sample.java
@@ -0,0 +1,118 @@
+package com.ruoyi.lims.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("lims_sample")
+@ApiModel(description="鏍峰搧绠$悊琛�")
+public class Sample implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭ID
+ */
+ @ApiModelProperty(value="涓婚敭ID")
+ private Long id;
+ /**
+ * 鏍峰搧缂栧彿
+ */
+ @ApiModelProperty(value="鏍峰搧缂栧彿")
+ private String sampleCode;
+ /**
+ * 鏍峰搧鍚嶇О
+ */
+ @ApiModelProperty(value="鏍峰搧鍚嶇О")
+ private String sampleName;
+ /**
+ * 鏍峰搧绫诲瀷(rawMaterial-鍘熸枡,semiFinished-鍗婃垚鍝�,finishedProduct-鎴愬搧,retainedSample-鐣欐牱)
+ */
+ @ApiModelProperty(value="鏍峰搧绫诲瀷(rawMaterial-鍘熸枡,semiFinished-鍗婃垚鍝�,finishedProduct-鎴愬搧,retainedSample-鐣欐牱)")
+ private String sampleType;
+ /**
+ * 鏍峰搧瑙勬牸
+ */
+ @ApiModelProperty(value="鏍峰搧瑙勬牸")
+ private String specification;
+ /**
+ * 鍏ュ簱鏃ユ湡
+ */
+ @ApiModelProperty(value="鍏ュ簱鏃ユ湡")
+ private LocalDate inStockDate;
+ /**
+ * 瀛樺偍浣嶇疆
+ */
+ @ApiModelProperty(value="瀛樺偍浣嶇疆")
+ private String storageLocation;
+ /**
+ * 鏍峰搧鏁伴噺
+ */
+ @ApiModelProperty(value="鏍峰搧鏁伴噺")
+ private BigDecimal quantity;
+ /**
+ * 璁¢噺鍗曚綅(g,kg,ml,L,piece)
+ */
+ @ApiModelProperty(value="璁¢噺鍗曚綅(g,kg,ml,L,piece)")
+ private String unit;
+ /**
+ * 鏍峰搧鐘舵��(inStock-鍦ㄥ簱,outStock-鍑哄簱,testing-妫�娴嬩腑,destroyed-宸查攢姣�)
+ */
+ @ApiModelProperty(value="鏍峰搧鐘舵��(inStock-鍦ㄥ簱,outStock-鍑哄簱,testing-妫�娴嬩腑,destroyed-宸查攢姣�)")
+ private String sampleStatus;
+ /**
+ * 鏈夋晥鏈熻嚦
+ */
+ @ApiModelProperty(value="鏈夋晥鏈熻嚦")
+ private LocalDate validityDate;
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value="澶囨敞")
+ private String remark;
+ /**
+ * 缁存姢浜�
+ */
+ @ApiModelProperty(value="缁存姢浜�")
+ private String maintainer;
+ /**
+ * 缁存姢鏃堕棿
+ */
+ @ApiModelProperty(value="缁存姢鏃堕棿")
+ private LocalDate maintenanceTime;
+
+ /**
+ * 鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)
+ */
+ @ApiModelProperty(value="鍒犻櫎鏍囧織(0-姝e父,2-鍒犻櫎)")
+ private String delFlag;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+}
diff --git a/src/main/java/com/ruoyi/lims/service/DataCollectionService.java b/src/main/java/com/ruoyi/lims/service/DataCollectionService.java
new file mode 100644
index 0000000..ff4c7f9
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/DataCollectionService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.lims.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.lims.pojo.DataCollection;
+
+public interface DataCollectionService extends IService<DataCollection> {
+ IPage<DataCollection> listPage(Page<DataCollection> page, DataCollection dataCollection);
+
+}
diff --git a/src/main/java/com/ruoyi/lims/service/DataInterfaceService.java b/src/main/java/com/ruoyi/lims/service/DataInterfaceService.java
new file mode 100644
index 0000000..e15e4fd
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/DataInterfaceService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.lims.service;
+
+import com.ruoyi.lims.pojo.DataInterface;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+public interface DataInterfaceService extends IService<DataInterface> {
+ IPage<DataInterface> listPage(Page<DataInterface> page, DataInterface dataInterface);
+
+}
diff --git a/src/main/java/com/ruoyi/lims/service/ExperimentService.java b/src/main/java/com/ruoyi/lims/service/ExperimentService.java
new file mode 100644
index 0000000..2609b58
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/ExperimentService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.lims.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.lims.pojo.Experiment;
+
+public interface ExperimentService extends IService<Experiment> {
+ IPage<Experiment> listPage(Page<Experiment> page, Experiment experiment);
+
+}
diff --git a/src/main/java/com/ruoyi/lims/service/RealtimeMonitorService.java b/src/main/java/com/ruoyi/lims/service/RealtimeMonitorService.java
new file mode 100644
index 0000000..2ee524d
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/RealtimeMonitorService.java
@@ -0,0 +1,13 @@
+package com.ruoyi.lims.service;
+
+import com.ruoyi.lims.pojo.RealtimeMonitor;
+import com.ruoyi.lims.mapper.RealtimeMonitorMapper;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import java.util.List;
+
+public interface RealtimeMonitorService extends IService<RealtimeMonitor> {
+ IPage<RealtimeMonitor> listPage(Page<RealtimeMonitor> page, RealtimeMonitor realtimeMonitor);
+
+}
diff --git a/src/main/java/com/ruoyi/lims/service/SampleService.java b/src/main/java/com/ruoyi/lims/service/SampleService.java
new file mode 100644
index 0000000..a1be55a
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/SampleService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.lims.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.lims.pojo.Sample;
+
+public interface SampleService extends IService<Sample> {
+ IPage<Sample> listPage(Page<Sample> page, Sample sample);
+
+}
diff --git a/src/main/java/com/ruoyi/lims/service/impl/DataCollectionServiceImpl.java b/src/main/java/com/ruoyi/lims/service/impl/DataCollectionServiceImpl.java
new file mode 100644
index 0000000..4ccde0b
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/impl/DataCollectionServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.lims.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.lims.mapper.DataCollectionMapper;
+import com.ruoyi.lims.pojo.DataCollection;
+import com.ruoyi.lims.service.DataCollectionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@RequiredArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class DataCollectionServiceImpl extends ServiceImpl<DataCollectionMapper, DataCollection> implements DataCollectionService {
+
+ private final DataCollectionMapper dataCollectionmapper;
+
+ @Override
+ public IPage<DataCollection> listPage(Page<DataCollection> page, DataCollection dataCollection) {
+ return dataCollectionmapper.selectPage(page, null);
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/service/impl/DataInterfaceServiceImpl.java b/src/main/java/com/ruoyi/lims/service/impl/DataInterfaceServiceImpl.java
new file mode 100644
index 0000000..dc227a2
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/impl/DataInterfaceServiceImpl.java
@@ -0,0 +1,40 @@
+package com.ruoyi.lims.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.lims.pojo.DataInterface;
+import com.ruoyi.lims.service.DataInterfaceService;
+import com.ruoyi.lims.mapper.DataInterfaceMapper;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+
+import java.util.List;
+
+@Service
+@RequiredArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class DataInterfaceServiceImpl extends ServiceImpl<DataInterfaceMapper, DataInterface> implements DataInterfaceService {
+
+ private final DataInterfaceMapper dataInterfacemapper;
+
+ @Override
+ public IPage<DataInterface> listPage(Page<DataInterface> page, DataInterface dataInterface) {
+ LambdaQueryWrapper<DataInterface> queryWrapper = new LambdaQueryWrapper<>();
+
+ if (StringUtils.isNotBlank(dataInterface.getInterfaceName())) {
+ queryWrapper.like(DataInterface::getInterfaceName, dataInterface.getInterfaceName());
+ }
+
+ if (StringUtils.isNotBlank(dataInterface.getDeviceType())) {
+ queryWrapper.like(DataInterface::getDeviceType, dataInterface.getDeviceType());
+ }
+
+ queryWrapper.orderByDesc(DataInterface::getUpdateTime);
+
+ return dataInterfacemapper.selectPage(page, queryWrapper);
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/service/impl/ExperimentServiceImpl.java b/src/main/java/com/ruoyi/lims/service/impl/ExperimentServiceImpl.java
new file mode 100644
index 0000000..f30ad6e
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/impl/ExperimentServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.lims.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.lims.mapper.ExperimentMapper;
+import com.ruoyi.lims.pojo.Experiment;
+import com.ruoyi.lims.service.ExperimentService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@RequiredArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class ExperimentServiceImpl extends ServiceImpl<ExperimentMapper, Experiment> implements ExperimentService {
+
+ private final ExperimentMapper experimentmapper;
+
+ @Override
+ public IPage<Experiment> listPage(Page<Experiment> page, Experiment experiment) {
+ return experimentmapper.selectPage(page, null);
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/service/impl/RealtimeMonitorServiceImpl.java b/src/main/java/com/ruoyi/lims/service/impl/RealtimeMonitorServiceImpl.java
new file mode 100644
index 0000000..dc9adf3
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/impl/RealtimeMonitorServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.lims.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.lims.mapper.RealtimeMonitorMapper;
+import com.ruoyi.lims.pojo.RealtimeMonitor;
+import com.ruoyi.lims.service.RealtimeMonitorService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@RequiredArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class RealtimeMonitorServiceImpl extends ServiceImpl<RealtimeMonitorMapper, RealtimeMonitor> implements RealtimeMonitorService {
+
+ private final RealtimeMonitorMapper realtimeMonitormapper;
+
+ @Override
+ public IPage<RealtimeMonitor> listPage(Page<RealtimeMonitor> page, RealtimeMonitor realtimeMonitor) {
+ return realtimeMonitormapper.selectPage(page, null);
+ }
+}
diff --git a/src/main/java/com/ruoyi/lims/service/impl/SampleServiceImpl.java b/src/main/java/com/ruoyi/lims/service/impl/SampleServiceImpl.java
new file mode 100644
index 0000000..dd5d3ec
--- /dev/null
+++ b/src/main/java/com/ruoyi/lims/service/impl/SampleServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.lims.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.lims.mapper.SampleMapper;
+import com.ruoyi.lims.pojo.Sample;
+import com.ruoyi.lims.service.SampleService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@RequiredArgsConstructor
+@Transactional(rollbackFor = Exception.class)
+public class SampleServiceImpl extends ServiceImpl<SampleMapper, Sample> implements SampleService {
+
+ private final SampleMapper samplemapper;
+
+ @Override
+ public IPage<Sample> listPage(Page<Sample> page, Sample sample) {
+ return samplemapper.selectPage(page, null);
+ }
+}
diff --git a/src/main/resources/mapper/lims/DataCollectionMapper.xml b/src/main/resources/mapper/lims/DataCollectionMapper.xml
new file mode 100644
index 0000000..9480ae3
--- /dev/null
+++ b/src/main/resources/mapper/lims/DataCollectionMapper.xml
@@ -0,0 +1,28 @@
+<?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.ruoyi.lims.mapper.DataCollectionMapper">
+ <resultMap id="BaseResultMap" type="com.ruoyi.lims.pojo.DataCollection">
+ <id column="id" property="id" />
+ <result column="collection_code" property="collectionCode" />
+ <result column="device_name" property="deviceName" />
+ <result column="device_code" property="deviceCode" />
+ <result column="data_type" property="dataType" />
+ <result column="collection_value" property="collectionValue" />
+ <result column="unit" property="unit" />
+ <result column="collection_time" property="collectionTime" />
+ <result column="collection_status" property="collectionStatus" />
+ <result column="data_quality" property="dataQuality" />
+ <result column="process_method" property="processMethod" />
+ <result column="raw_data" property="rawData" />
+ <result column="processed_data" property="processedData" />
+ <result column="remark" property="remark" />
+ <result column="maintainer" property="maintainer" />
+ <result column="maintenance_time" property="maintenanceTime" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="del_flag" property="delFlag" />
+
+ </resultMap>
+</mapper>
diff --git a/src/main/resources/mapper/lims/DataInterfaceMapper.xml b/src/main/resources/mapper/lims/DataInterfaceMapper.xml
new file mode 100644
index 0000000..1bd5e14
--- /dev/null
+++ b/src/main/resources/mapper/lims/DataInterfaceMapper.xml
@@ -0,0 +1,25 @@
+<?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.ruoyi.lims.mapper.DataInterfaceMapper">
+ <resultMap id="BaseResultMap" type="com.ruoyi.lims.pojo.DataInterface">
+ <id column="id" property="id"/>
+ <result column="interface_name" property="interfaceName"/>
+ <result column="interface_code" property="interfaceCode"/>
+ <result column="device_type" property="deviceType"/>
+ <result column="device_name" property="deviceName"/>
+ <result column="protocol" property="protocol"/>
+ <result column="connection_url" property="connectionUrl"/>
+ <result column="port" property="port"/>
+ <result column="status" property="status"/>
+ <result column="description" property="description"/>
+ <result column="maintainer" property="maintainer"/>
+ <result column="maintenance_time" property="maintenanceTime"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="remark" property="remark"/>
+ <result column="del_flag" property="delFlag"/>
+
+ </resultMap>
+</mapper>
diff --git a/src/main/resources/mapper/lims/ExperimentMapper.xml b/src/main/resources/mapper/lims/ExperimentMapper.xml
new file mode 100644
index 0000000..3cf188b
--- /dev/null
+++ b/src/main/resources/mapper/lims/ExperimentMapper.xml
@@ -0,0 +1,27 @@
+<?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.ruoyi.lims.mapper.ExperimentMapper">
+ <resultMap id="BaseResultMap" type="com.ruoyi.lims.pojo.Experiment">
+ <id column="id" property="id" />
+ <result column="experiment_code" property="experimentCode" />
+ <result column="experiment_name" property="experimentName" />
+ <result column="experiment_type" property="experimentType" />
+ <result column="experiment_standard" property="experimentStandard" />
+ <result column="plan_start_date" property="planStartDate" />
+ <result column="plan_end_date" property="planEndDate" />
+ <result column="responsible_person" property="responsiblePerson" />
+ <result column="experiment_status" property="experimentStatus" />
+ <result column="experiment_purpose" property="experimentPurpose" />
+ <result column="experiment_process" property="experimentProcess" />
+ <result column="experiment_result" property="experimentResult" />
+ <result column="maintainer" property="maintainer" />
+ <result column="maintenance_time" property="maintenanceTime" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="remark" property="remark" />
+ <result column="del_flag" property="delFlag" />
+
+ </resultMap>
+</mapper>
diff --git a/src/main/resources/mapper/lims/RealtimeMonitorMapper.xml b/src/main/resources/mapper/lims/RealtimeMonitorMapper.xml
new file mode 100644
index 0000000..ec5637b
--- /dev/null
+++ b/src/main/resources/mapper/lims/RealtimeMonitorMapper.xml
@@ -0,0 +1,32 @@
+<?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.ruoyi.lims.mapper.RealtimeMonitorMapper">
+ <resultMap id="BaseResultMap" type="com.ruoyi.lims.pojo.RealtimeMonitor">
+ <id column="id" property="id" />
+ <result column="monitor_code" property="monitorCode" />
+ <result column="monitor_target" property="monitorTarget" />
+ <result column="monitor_type" property="monitorType" />
+ <result column="monitor_indicator" property="monitorIndicator" />
+ <result column="current_value" property="currentValue" />
+ <result column="unit" property="unit" />
+ <result column="upper_limit" property="upperLimit" />
+ <result column="lower_limit" property="lowerLimit" />
+ <result column="alert_status" property="alertStatus" />
+ <result column="alert_level" property="alertLevel" />
+ <result column="monitor_time" property="monitorTime" />
+ <result column="alert_description" property="alertDescription" />
+ <result column="handler" property="handler" />
+ <result column="handle_measure" property="handleMeasure" />
+ <result column="remark" property="remark" />
+ <result column="maintainer" property="maintainer" />
+ <result column="maintenance_time" property="maintenanceTime" />
+ <result column="create_by" property="createBy" />
+ <result column="create_time" property="createTime" />
+ <result column="update_by" property="updateBy" />
+ <result column="update_time" property="updateTime" />
+ <result column="del_flag" property="delFlag" />
+
+ </resultMap>
+</mapper>
diff --git a/src/main/resources/mapper/lims/SampleMapper.xml b/src/main/resources/mapper/lims/SampleMapper.xml
new file mode 100644
index 0000000..4c241e5
--- /dev/null
+++ b/src/main/resources/mapper/lims/SampleMapper.xml
@@ -0,0 +1,26 @@
+<?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.ruoyi.lims.mapper.SampleMapper">
+ <resultMap id="BaseResultMap" type="com.ruoyi.lims.pojo.Sample">
+ <id column="id" property="id"/>
+ <result column="sample_code" property="sampleCode"/>
+ <result column="sample_name" property="sampleName"/>
+ <result column="sample_type" property="sampleType"/>
+ <result column="specification" property="specification"/>
+ <result column="in_stock_date" property="inStockDate"/>
+ <result column="storage_location" property="storageLocation"/>
+ <result column="quantity" property="quantity"/>
+ <result column="unit" property="unit"/>
+ <result column="sample_status" property="sampleStatus"/>
+ <result column="validity_date" property="validityDate"/>
+ <result column="remark" property="remark"/>
+ <result column="maintainer" property="maintainer"/>
+ <result column="maintenance_time" property="maintenanceTime"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
+ <result column="del_flag" property="delFlag"/>
+
+ </resultMap>
+</mapper>
--
Gitblit v1.9.3