feat(LIMS): 补齐资源管理、系统配置两个缺失模块
按需求文档九模块清单补齐缺失的三个(安全与权限走 RuoYi 自带系统管理菜单)。
新增 7 张表 + 7 个 CRUD 模块:
资源管理:lims_instrument(仪器台账) / lims_instrument_calibration(校准维护记录)
lims_reagent(试剂耗材) / lims_reagent_record(出入库流水)
系统配置:lims_test_item(检测项目库) / lims_unit(计量单位库)
lims_judgment_standard(判定标准库)
后端 35 个 Java 文件(POJO/Mapper/Service/Impl/Controller),
ServiceImpl 用 QueryWrapper 做了真实的字段模糊查询(原 Sample 等模块 listPage 传 null 不过滤,这里没沿用)。
前端 2 个页面 + 7 个 API:
lims/resourceManagement 两个 Tab:仪器设备(含校准记录弹窗)/ 试剂耗材(含采购入库、领用出库,自动回写台账库存)
lims/systemConfig 三个 Tab:检测项目库 / 计量单位库 / 判定标准库(判定标准可关联检测项目)
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | -- ============================================================ |
| | | -- è¯å¯¼-LIMS è¡¥å
模å DDL |
| | | -- â£ èµæºç®¡çï¼ä»ªå¨è®¾å¤ç»´æ¤æ ¡å + è¯åèæåºåéè´ |
| | | -- ⨠系ç»é
ç½®ï¼æ£æµé¡¹ç®åº / 计éåä½åº / å¤å®æ ååº |
| | | -- åºï¼lims-ruoyi |
| | | -- ============================================================ |
| | | |
| | | -- ============================================================ |
| | | -- â£ èµæºç®¡ç · 仪å¨è®¾å¤å°è´¦ |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_instrument`; |
| | | CREATE TABLE `lims_instrument` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `instrument_code` VARCHAR(64) DEFAULT NULL COMMENT '仪å¨ç¼å·', |
| | | `instrument_name` VARCHAR(255) DEFAULT NULL COMMENT '仪å¨åç§°', |
| | | `instrument_model` VARCHAR(255) DEFAULT NULL COMMENT 'è§æ ¼åå·', |
| | | `manufacturer` VARCHAR(255) DEFAULT NULL COMMENT 'ç产åå', |
| | | `serial_no` VARCHAR(128) DEFAULT NULL COMMENT 'åºååºåå·', |
| | | `location` VARCHAR(255) DEFAULT NULL COMMENT 'åæ¾ä½ç½®', |
| | | `purchase_date` DATE DEFAULT NULL COMMENT 'è´ç½®æ¥æ', |
| | | `warranty_end_date` DATE DEFAULT NULL COMMENT 'ä¿ä¿®æªæ¢æ¥æ', |
| | | `status` VARCHAR(32) DEFAULT 'normal' COMMENT 'ç¶æ(normal-æ£å¸¸,maintenance-ç»´ä¿®ä¸,scrapped-å·²æ¥åº,idle-é²ç½®)', |
| | | `responsible_person` VARCHAR(64) DEFAULT NULL COMMENT '责任人', |
| | | `remark` VARCHAR(1000) DEFAULT NULL COMMENT '夿³¨', |
| | | `maintainer` VARCHAR(64) DEFAULT NULL COMMENT 'ç»´æ¤äºº', |
| | | `maintenance_time` DATE DEFAULT NULL COMMENT 'ç»´æ¤æ¶é´', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_instrument_code` (`instrument_code`), |
| | | KEY `idx_status` (`status`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-仪å¨è®¾å¤å°è´¦'; |
| | | |
| | | -- ============================================================ |
| | | -- â£ èµæºç®¡ç · ä»ªå¨æ ¡å/ç»´æ¤è®°å½ |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_instrument_calibration`; |
| | | CREATE TABLE `lims_instrument_calibration` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `instrument_id` BIGINT DEFAULT NULL COMMENT '仪å¨ID(lims_instrument.id)', |
| | | `instrument_code` VARCHAR(64) DEFAULT NULL COMMENT '仪å¨ç¼å·(åä½ä¾¿äºæ¥è¯¢)', |
| | | `instrument_name` VARCHAR(255) DEFAULT NULL COMMENT '仪å¨åç§°(åä½)', |
| | | `record_type` VARCHAR(32) DEFAULT 'calibration' COMMENT 'è®°å½ç±»å(calibration-æ ¡å,maintenance-ç»´æ¤ä¿å
»,repair-ç»´ä¿®)', |
| | | `calibration_date` DATE DEFAULT NULL COMMENT 'æ¬æ¬¡æ¥æ', |
| | | `next_calibration_date` DATE DEFAULT NULL COMMENT '䏿¬¡å°ææ¥æ', |
| | | `calibration_org` VARCHAR(255) DEFAULT NULL COMMENT 'æ ¡å/ç»´ä¿æºæ', |
| | | `certificate_no` VARCHAR(128) DEFAULT NULL COMMENT 'è¯ä¹¦ç¼å·', |
| | | `calibration_result` VARCHAR(32) DEFAULT NULL COMMENT 'ç»æ(pass-åæ ¼,fail-ä¸åæ ¼,conditional-ææ¡ä»¶éè¿)', |
| | | `cost` DECIMAL(18,2) DEFAULT NULL COMMENT 'è´¹ç¨', |
| | | `executor` VARCHAR(64) DEFAULT NULL COMMENT 'æ§è¡äºº', |
| | | `remark` VARCHAR(1000) DEFAULT NULL COMMENT '夿³¨', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_instrument_id` (`instrument_id`), |
| | | KEY `idx_next_date` (`next_calibration_date`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-ä»ªå¨æ ¡åç»´æ¤è®°å½'; |
| | | |
| | | -- ============================================================ |
| | | -- â£ èµæºç®¡ç · è¯åèæå°è´¦ |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_reagent`; |
| | | CREATE TABLE `lims_reagent` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `reagent_code` VARCHAR(64) DEFAULT NULL COMMENT 'è¯å/èæç¼å·', |
| | | `reagent_name` VARCHAR(255) DEFAULT NULL COMMENT 'åç§°', |
| | | `specification` VARCHAR(255) DEFAULT NULL COMMENT 'è§æ ¼', |
| | | `category` VARCHAR(32) DEFAULT NULL COMMENT 'ç±»å«(reagent-è¯å,consumable-èæ,standard-æ åå,control-è´¨æ§å)', |
| | | `unit` VARCHAR(32) DEFAULT NULL COMMENT '计éåä½', |
| | | `supplier` VARCHAR(255) DEFAULT NULL COMMENT 'ä¾åºå', |
| | | `storage_condition` VARCHAR(255) DEFAULT NULL COMMENT 'å卿¡ä»¶(å¦ 2-8âé¿å
)', |
| | | `current_stock` DECIMAL(18,4) DEFAULT 0 COMMENT 'å½ååºå', |
| | | `safety_stock` DECIMAL(18,4) DEFAULT 0 COMMENT 'å®å
¨åºå(ä½äºæ¤å¼é¢è¦)', |
| | | `expiry_date` DATE DEFAULT NULL COMMENT 'æææè³', |
| | | `location` VARCHAR(255) DEFAULT NULL COMMENT 'åæ¾ä½ç½®', |
| | | `status` VARCHAR(32) DEFAULT 'normal' COMMENT 'ç¶æ(normal-æ£å¸¸,expiring-临æ,expired-è¿æ,depleted-å·²èå°½)', |
| | | `remark` VARCHAR(1000) DEFAULT NULL COMMENT '夿³¨', |
| | | `maintainer` VARCHAR(64) DEFAULT NULL COMMENT 'ç»´æ¤äºº', |
| | | `maintenance_time` DATE DEFAULT NULL COMMENT 'ç»´æ¤æ¶é´', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_reagent_code` (`reagent_code`), |
| | | KEY `idx_expiry` (`expiry_date`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-è¯åèæå°è´¦'; |
| | | |
| | | -- ============================================================ |
| | | -- â£ èµæºç®¡ç · è¯åèæåºå
¥åºæµæ°´ï¼å«éè´å
¥åºï¼ |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_reagent_record`; |
| | | CREATE TABLE `lims_reagent_record` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `reagent_id` BIGINT DEFAULT NULL COMMENT 'è¯åID(lims_reagent.id)', |
| | | `reagent_code` VARCHAR(64) DEFAULT NULL COMMENT 'è¯åç¼å·(åä½)', |
| | | `reagent_name` VARCHAR(255) DEFAULT NULL COMMENT 'åç§°(åä½)', |
| | | `record_type` VARCHAR(32) DEFAULT 'in' COMMENT 'ç±»å(in-å
¥åº(éè´),out-åºåº(é¢ç¨),return-éåº,scrap-æ¥åº)', |
| | | `quantity` DECIMAL(18,4) DEFAULT NULL COMMENT 'æ°é(æ£æ°)', |
| | | `before_stock` DECIMAL(18,4) DEFAULT NULL COMMENT 'æä½ååºå', |
| | | `after_stock` DECIMAL(18,4) DEFAULT NULL COMMENT 'æä½ååºå', |
| | | `batch_no` VARCHAR(128) DEFAULT NULL COMMENT 'æ¹æ¬¡å·', |
| | | `supplier` VARCHAR(255) DEFAULT NULL COMMENT 'ä¾åºå(å
¥åºæ¶)', |
| | | `unit_price` DECIMAL(18,4) DEFAULT NULL COMMENT 'åä»·', |
| | | `total_amount` DECIMAL(18,2) DEFAULT NULL COMMENT 'éé¢', |
| | | `operator` VARCHAR(64) DEFAULT NULL COMMENT 'ç»æäºº', |
| | | `operate_time` DATETIME DEFAULT NULL COMMENT 'æä½æ¶é´', |
| | | `purpose` VARCHAR(500) DEFAULT NULL COMMENT 'ç¨é/é¢ç¨äºç±', |
| | | `related_experiment` VARCHAR(128) DEFAULT NULL COMMENT 'å
³èå®éªç¼å·', |
| | | `remark` VARCHAR(1000) DEFAULT NULL COMMENT '夿³¨', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_reagent_id` (`reagent_id`), |
| | | KEY `idx_operate_time` (`operate_time`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-è¯åèæåºå
¥åºæµæ°´'; |
| | | |
| | | -- ============================================================ |
| | | -- ⨠系ç»é
ç½® · æ£æµé¡¹ç®åº |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_test_item`; |
| | | CREATE TABLE `lims_test_item` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `item_code` VARCHAR(64) DEFAULT NULL COMMENT '项ç®ç¼å·', |
| | | `item_name` VARCHAR(255) DEFAULT NULL COMMENT 'æ£æµé¡¹ç®åç§°', |
| | | `item_type` VARCHAR(32) DEFAULT NULL COMMENT 'ç±»å(chemical-åå¦åæ,physical-ç©çæµè¯,microbial-å¾®çç©,other-å
¶å®)', |
| | | `unit` VARCHAR(32) DEFAULT NULL COMMENT '计éåä½', |
| | | `method` VARCHAR(500) DEFAULT NULL COMMENT 'æ£æµæ¹æ³/便®', |
| | | `standard` VARCHAR(255) DEFAULT NULL COMMENT 'æ§è¡æ å(å¦ GB/T xxxx)', |
| | | `limit_min` DECIMAL(18,4) DEFAULT NULL COMMENT 'åæ ¼ä¸é', |
| | | `limit_max` DECIMAL(18,4) DEFAULT NULL COMMENT 'åæ ¼ä¸é', |
| | | `status` VARCHAR(4) DEFAULT '1' COMMENT 'ç¶æ(1-å¯ç¨,0-åç¨)', |
| | | `remark` VARCHAR(1000) DEFAULT NULL COMMENT '夿³¨', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_item_code` (`item_code`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-æ£æµé¡¹ç®åº'; |
| | | |
| | | -- ============================================================ |
| | | -- ⨠系ç»é
ç½® · 计éåä½åº |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_unit`; |
| | | CREATE TABLE `lims_unit` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `unit_code` VARCHAR(32) DEFAULT NULL COMMENT 'åä½ç¼ç ', |
| | | `unit_name` VARCHAR(64) DEFAULT NULL COMMENT 'åä½åç§°', |
| | | `unit_type` VARCHAR(32) DEFAULT NULL COMMENT 'ç±»å(weight-éé,volume-ä½ç§¯,length-é¿åº¦,temperature-温度,concentration-æµåº¦,count-计æ°)', |
| | | `base_unit` VARCHAR(32) DEFAULT NULL COMMENT 'åºååä½(æ¢ç®åç
§)', |
| | | `conversion_rate` DECIMAL(18,6) DEFAULT 1 COMMENT 'æ¢ç®ç³»æ°(1 æ¬åä½ = N åºååä½)', |
| | | `status` VARCHAR(4) DEFAULT '1' COMMENT 'ç¶æ(1-å¯ç¨,0-åç¨)', |
| | | `remark` VARCHAR(500) DEFAULT NULL COMMENT '夿³¨', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_unit_code` (`unit_code`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-计éåä½åº'; |
| | | |
| | | -- ============================================================ |
| | | -- ⨠系ç»é
ç½® · å¤å®æ ååº |
| | | -- ============================================================ |
| | | DROP TABLE IF EXISTS `lims_judgment_standard`; |
| | | CREATE TABLE `lims_judgment_standard` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | `standard_code` VARCHAR(64) DEFAULT NULL COMMENT 'æ åç¼å·', |
| | | `standard_name` VARCHAR(255) DEFAULT NULL COMMENT 'æ ååç§°', |
| | | `item_id` BIGINT DEFAULT NULL COMMENT 'å
³èæ£æµé¡¹ç®ID(lims_test_item.id)', |
| | | `item_name` VARCHAR(255) DEFAULT NULL COMMENT 'æ£æµé¡¹ç®åç§°(åä½)', |
| | | `standard_type` VARCHAR(32) DEFAULT 'range' COMMENT 'å¤å®ç±»å(range-åºé´,min-ä¸ä½äº,max-ä¸é«äº,equal-çäº,target-ç®æ å¼Â±åå·®)', |
| | | `min_value` DECIMAL(18,4) DEFAULT NULL COMMENT 'ä¸é', |
| | | `max_value` DECIMAL(18,4) DEFAULT NULL COMMENT 'ä¸é', |
| | | `target_value` DECIMAL(18,4) DEFAULT NULL COMMENT 'ç®æ å¼', |
| | | `deviation` DECIMAL(18,4) DEFAULT NULL COMMENT 'å
许åå·®', |
| | | `unit` VARCHAR(32) DEFAULT NULL COMMENT 'åä½', |
| | | `source_standard` VARCHAR(255) DEFAULT NULL COMMENT '便®æ å(å¦ GB 5749-2022)', |
| | | `status` VARCHAR(4) DEFAULT '1' COMMENT 'ç¶æ(1-å¯ç¨,0-åç¨)', |
| | | `remark` VARCHAR(1000) DEFAULT NULL COMMENT '夿³¨', |
| | | `del_flag` CHAR(1) DEFAULT '0' COMMENT 'å 餿 å¿(0-æ£å¸¸,2-å é¤)', |
| | | `tenant_id` BIGINT DEFAULT NULL COMMENT 'ç§æ·ID', |
| | | `create_time` DATETIME DEFAULT NULL COMMENT 'å建æ¶é´', |
| | | `create_user` INT DEFAULT NULL COMMENT 'åå»ºç¨æ·', |
| | | `update_time` DATETIME DEFAULT NULL COMMENT 'ä¿®æ¹æ¶é´', |
| | | `update_user` INT DEFAULT NULL COMMENT 'ä¿®æ¹ç¨æ·', |
| | | PRIMARY KEY (`id`), |
| | | KEY `idx_standard_code` (`standard_code`), |
| | | KEY `idx_item_id` (`item_id`), |
| | | KEY `idx_tenant` (`tenant_id`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='LIMS-å¤å®æ ååº'; |
| | | |
| | | -- ============================================================ |
| | | -- æ ¡éª |
| | | -- ============================================================ |
| | | SELECT table_name, table_comment |
| | | FROM information_schema.tables |
| | | WHERE table_schema = 'lims-ruoyi' |
| | | AND table_name IN ('lims_instrument','lims_instrument_calibration','lims_reagent','lims_reagent_record','lims_test_item','lims_unit','lims_judgment_standard') |
| | | ORDER BY table_name; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.InstrumentCalibration; |
| | | import com.ruoyi.lims.service.InstrumentCalibrationService; |
| | | 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/instrumentCalibration") |
| | | @Api(value = "InstrumentCalibration", tags = "Instrument Calibration Records") |
| | | public class InstrumentCalibrationController { |
| | | |
| | | private InstrumentCalibrationService calibrationService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<InstrumentCalibration> page, InstrumentCalibration query) { |
| | | IPage<InstrumentCalibration> result = calibrationService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(calibrationService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody InstrumentCalibration entity) { |
| | | return AjaxResult.success(calibrationService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody InstrumentCalibration entity) { |
| | | return AjaxResult.success(calibrationService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(calibrationService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.Instrument; |
| | | import com.ruoyi.lims.service.InstrumentService; |
| | | 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/instrument") |
| | | @Api(value = "Instrument", tags = "Instrument Ledger") |
| | | public class InstrumentController { |
| | | |
| | | private InstrumentService instrumentService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<Instrument> page, Instrument query) { |
| | | IPage<Instrument> result = instrumentService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(instrumentService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody Instrument entity) { |
| | | return AjaxResult.success(instrumentService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody Instrument entity) { |
| | | return AjaxResult.success(instrumentService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(instrumentService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.JudgmentStandard; |
| | | import com.ruoyi.lims.service.JudgmentStandardService; |
| | | 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/judgmentStandard") |
| | | @Api(value = "JudgmentStandard", tags = "Judgment Standard Library") |
| | | public class JudgmentStandardController { |
| | | |
| | | private JudgmentStandardService judgmentStandardService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<JudgmentStandard> page, JudgmentStandard query) { |
| | | IPage<JudgmentStandard> result = judgmentStandardService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(judgmentStandardService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody JudgmentStandard entity) { |
| | | return AjaxResult.success(judgmentStandardService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody JudgmentStandard entity) { |
| | | return AjaxResult.success(judgmentStandardService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(judgmentStandardService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.Reagent; |
| | | import com.ruoyi.lims.service.ReagentService; |
| | | 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/reagent") |
| | | @Api(value = "Reagent", tags = "Reagent and Consumable Ledger") |
| | | public class ReagentController { |
| | | |
| | | private ReagentService reagentService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<Reagent> page, Reagent query) { |
| | | IPage<Reagent> result = reagentService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(reagentService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody Reagent entity) { |
| | | return AjaxResult.success(reagentService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody Reagent entity) { |
| | | return AjaxResult.success(reagentService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(reagentService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.ReagentRecord; |
| | | import com.ruoyi.lims.service.ReagentRecordService; |
| | | 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/reagentRecord") |
| | | @Api(value = "ReagentRecord", tags = "Reagent Stock In/Out Records") |
| | | public class ReagentRecordController { |
| | | |
| | | private ReagentRecordService reagentRecordService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<ReagentRecord> page, ReagentRecord query) { |
| | | IPage<ReagentRecord> result = reagentRecordService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(reagentRecordService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody ReagentRecord entity) { |
| | | return AjaxResult.success(reagentRecordService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody ReagentRecord entity) { |
| | | return AjaxResult.success(reagentRecordService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(reagentRecordService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.TestItem; |
| | | import com.ruoyi.lims.service.TestItemService; |
| | | 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/testItem") |
| | | @Api(value = "TestItem", tags = "Test Item Library") |
| | | public class TestItemController { |
| | | |
| | | private TestItemService testItemService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<TestItem> page, TestItem query) { |
| | | IPage<TestItem> result = testItemService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(testItemService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody TestItem entity) { |
| | | return AjaxResult.success(testItemService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody TestItem entity) { |
| | | return AjaxResult.success(testItemService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(testItemService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.Unit; |
| | | import com.ruoyi.lims.service.UnitService; |
| | | 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/unit") |
| | | @Api(value = "Unit", tags = "Unit Library") |
| | | public class UnitController { |
| | | |
| | | private UnitService unitService; |
| | | |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("Paged query") |
| | | public AjaxResult listPage(Page<Unit> page, Unit query) { |
| | | IPage<Unit> result = unitService.listPage(page, query); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/{id}") |
| | | @ApiOperation("Get by id") |
| | | public AjaxResult getById(@PathVariable Long id) { |
| | | return AjaxResult.success(unitService.getById(id)); |
| | | } |
| | | |
| | | @PostMapping("/add") |
| | | @ApiOperation("Add") |
| | | public AjaxResult add(@RequestBody Unit entity) { |
| | | return AjaxResult.success(unitService.save(entity)); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | @ApiOperation("Update") |
| | | public AjaxResult update(@RequestBody Unit entity) { |
| | | return AjaxResult.success(unitService.updateById(entity)); |
| | | } |
| | | |
| | | @DeleteMapping("/delete") |
| | | @ApiOperation("Batch delete") |
| | | public AjaxResult delete(@RequestBody List<Long> ids) { |
| | | if (CollectionUtils.isEmpty(ids)) return AjaxResult.error("ids required"); |
| | | return AjaxResult.success(unitService.removeBatchByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.InstrumentCalibration; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface InstrumentCalibrationMapper extends BaseMapper<InstrumentCalibration> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.Instrument; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface InstrumentMapper extends BaseMapper<Instrument> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.JudgmentStandard; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface JudgmentStandardMapper extends BaseMapper<JudgmentStandard> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.Reagent; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface ReagentMapper extends BaseMapper<Reagent> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.ReagentRecord; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface ReagentRecordMapper extends BaseMapper<ReagentRecord> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.TestItem; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface TestItemMapper extends BaseMapper<TestItem> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.lims.pojo.Unit; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface UnitMapper extends BaseMapper<Unit> { |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_instrument") |
| | | public class Instrument implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Instrument code") |
| | | private String instrumentCode; |
| | | |
| | | @ApiModelProperty(value = "Instrument name") |
| | | private String instrumentName; |
| | | |
| | | @ApiModelProperty(value = "Model") |
| | | private String instrumentModel; |
| | | |
| | | @ApiModelProperty(value = "Manufacturer") |
| | | private String manufacturer; |
| | | |
| | | @ApiModelProperty(value = "Serial number") |
| | | private String serialNo; |
| | | |
| | | @ApiModelProperty(value = "Storage location") |
| | | private String location; |
| | | |
| | | @ApiModelProperty(value = "Purchase date") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate purchaseDate; |
| | | |
| | | @ApiModelProperty(value = "Warranty end date") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate warrantyEndDate; |
| | | |
| | | @ApiModelProperty(value = "Status: normal/maintenance/scrapped/idle") |
| | | private String status; |
| | | |
| | | @ApiModelProperty(value = "Responsible person") |
| | | private String responsiblePerson; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Maintainer") |
| | | private String maintainer; |
| | | |
| | | @ApiModelProperty(value = "Maintenance time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate maintenanceTime; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_instrument_calibration") |
| | | public class InstrumentCalibration implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Instrument id") |
| | | private Long instrumentId; |
| | | |
| | | @ApiModelProperty(value = "Instrument code") |
| | | private String instrumentCode; |
| | | |
| | | @ApiModelProperty(value = "Instrument name") |
| | | private String instrumentName; |
| | | |
| | | @ApiModelProperty(value = "Type: calibration/maintenance/repair") |
| | | private String recordType; |
| | | |
| | | @ApiModelProperty(value = "Calibration date") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate calibrationDate; |
| | | |
| | | @ApiModelProperty(value = "Next due date") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate nextCalibrationDate; |
| | | |
| | | @ApiModelProperty(value = "Calibration organization") |
| | | private String calibrationOrg; |
| | | |
| | | @ApiModelProperty(value = "Certificate number") |
| | | private String certificateNo; |
| | | |
| | | @ApiModelProperty(value = "Result: pass/fail/conditional") |
| | | private String calibrationResult; |
| | | |
| | | @ApiModelProperty(value = "Cost") |
| | | private BigDecimal cost; |
| | | |
| | | @ApiModelProperty(value = "Executor") |
| | | private String executor; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_judgment_standard") |
| | | public class JudgmentStandard implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Standard code") |
| | | private String standardCode; |
| | | |
| | | @ApiModelProperty(value = "Standard name") |
| | | private String standardName; |
| | | |
| | | @ApiModelProperty(value = "Test item id") |
| | | private Long itemId; |
| | | |
| | | @ApiModelProperty(value = "Test item name") |
| | | private String itemName; |
| | | |
| | | @ApiModelProperty(value = "Type: range/min/max/equal/target") |
| | | private String standardType; |
| | | |
| | | @ApiModelProperty(value = "Min value") |
| | | private BigDecimal minValue; |
| | | |
| | | @ApiModelProperty(value = "Max value") |
| | | private BigDecimal maxValue; |
| | | |
| | | @ApiModelProperty(value = "Target value") |
| | | private BigDecimal targetValue; |
| | | |
| | | @ApiModelProperty(value = "Deviation") |
| | | private BigDecimal deviation; |
| | | |
| | | @ApiModelProperty(value = "Unit") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty(value = "Source standard") |
| | | private String sourceStandard; |
| | | |
| | | @ApiModelProperty(value = "Status 1 enabled 0 disabled") |
| | | private String status; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_reagent") |
| | | public class Reagent implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Reagent code") |
| | | private String reagentCode; |
| | | |
| | | @ApiModelProperty(value = "Reagent name") |
| | | private String reagentName; |
| | | |
| | | @ApiModelProperty(value = "Specification") |
| | | private String specification; |
| | | |
| | | @ApiModelProperty(value = "Category: reagent/consumable/standard/control") |
| | | private String category; |
| | | |
| | | @ApiModelProperty(value = "Unit") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty(value = "Supplier") |
| | | private String supplier; |
| | | |
| | | @ApiModelProperty(value = "Storage condition") |
| | | private String storageCondition; |
| | | |
| | | @ApiModelProperty(value = "Current stock") |
| | | private BigDecimal currentStock; |
| | | |
| | | @ApiModelProperty(value = "Safety stock") |
| | | private BigDecimal safetyStock; |
| | | |
| | | @ApiModelProperty(value = "Expiry date") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate expiryDate; |
| | | |
| | | @ApiModelProperty(value = "Location") |
| | | private String location; |
| | | |
| | | @ApiModelProperty(value = "Status: normal/expiring/expired/depleted") |
| | | private String status; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Maintainer") |
| | | private String maintainer; |
| | | |
| | | @ApiModelProperty(value = "Maintenance time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate maintenanceTime; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_reagent_record") |
| | | public class ReagentRecord implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Reagent id") |
| | | private Long reagentId; |
| | | |
| | | @ApiModelProperty(value = "Reagent code") |
| | | private String reagentCode; |
| | | |
| | | @ApiModelProperty(value = "Reagent name") |
| | | private String reagentName; |
| | | |
| | | @ApiModelProperty(value = "Type: in/out/return/scrap") |
| | | private String recordType; |
| | | |
| | | @ApiModelProperty(value = "Quantity") |
| | | private BigDecimal quantity; |
| | | |
| | | @ApiModelProperty(value = "Stock before") |
| | | private BigDecimal beforeStock; |
| | | |
| | | @ApiModelProperty(value = "Stock after") |
| | | private BigDecimal afterStock; |
| | | |
| | | @ApiModelProperty(value = "Batch number") |
| | | private String batchNo; |
| | | |
| | | @ApiModelProperty(value = "Supplier") |
| | | private String supplier; |
| | | |
| | | @ApiModelProperty(value = "Unit price") |
| | | private BigDecimal unitPrice; |
| | | |
| | | @ApiModelProperty(value = "Total amount") |
| | | private BigDecimal totalAmount; |
| | | |
| | | @ApiModelProperty(value = "Operator") |
| | | private String operator; |
| | | |
| | | @ApiModelProperty(value = "Operate time") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime operateTime; |
| | | |
| | | @ApiModelProperty(value = "Purpose") |
| | | private String purpose; |
| | | |
| | | @ApiModelProperty(value = "Related experiment") |
| | | private String relatedExperiment; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_test_item") |
| | | public class TestItem implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Item code") |
| | | private String itemCode; |
| | | |
| | | @ApiModelProperty(value = "Item name") |
| | | private String itemName; |
| | | |
| | | @ApiModelProperty(value = "Type: chemical/physical/microbial/other") |
| | | private String itemType; |
| | | |
| | | @ApiModelProperty(value = "Unit") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty(value = "Test method") |
| | | private String method; |
| | | |
| | | @ApiModelProperty(value = "Standard") |
| | | private String standard; |
| | | |
| | | @ApiModelProperty(value = "Lower limit") |
| | | private BigDecimal limitMin; |
| | | |
| | | @ApiModelProperty(value = "Upper limit") |
| | | private BigDecimal limitMax; |
| | | |
| | | @ApiModelProperty(value = "Status 1 enabled 0 disabled") |
| | | private String status; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("lims_unit") |
| | | public class Unit implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | @ApiModelProperty(value = "ID") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "Unit code") |
| | | private String unitCode; |
| | | |
| | | @ApiModelProperty(value = "Unit name") |
| | | private String unitName; |
| | | |
| | | @ApiModelProperty(value = "Type: weight/volume/length/temperature/concentration/count") |
| | | private String unitType; |
| | | |
| | | @ApiModelProperty(value = "Base unit") |
| | | private String baseUnit; |
| | | |
| | | @ApiModelProperty(value = "Conversion rate") |
| | | private BigDecimal conversionRate; |
| | | |
| | | @ApiModelProperty(value = "Status 1 enabled 0 disabled") |
| | | private String status; |
| | | |
| | | @ApiModelProperty(value = "Remark") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "Delete flag") |
| | | private String delFlag; |
| | | |
| | | @ApiModelProperty(value = "Tenant id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Long tenantId; |
| | | |
| | | @ApiModelProperty(value = "Create time") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "Create user") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "Update time") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "Update user") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.InstrumentCalibration; |
| | | |
| | | public interface InstrumentCalibrationService extends IService<InstrumentCalibration> { |
| | | IPage<InstrumentCalibration> listPage(Page<InstrumentCalibration> page, InstrumentCalibration query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.Instrument; |
| | | |
| | | public interface InstrumentService extends IService<Instrument> { |
| | | IPage<Instrument> listPage(Page<Instrument> page, Instrument query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.JudgmentStandard; |
| | | |
| | | public interface JudgmentStandardService extends IService<JudgmentStandard> { |
| | | IPage<JudgmentStandard> listPage(Page<JudgmentStandard> page, JudgmentStandard query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.ReagentRecord; |
| | | |
| | | public interface ReagentRecordService extends IService<ReagentRecord> { |
| | | IPage<ReagentRecord> listPage(Page<ReagentRecord> page, ReagentRecord query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.Reagent; |
| | | |
| | | public interface ReagentService extends IService<Reagent> { |
| | | IPage<Reagent> listPage(Page<Reagent> page, Reagent query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.TestItem; |
| | | |
| | | public interface TestItemService extends IService<TestItem> { |
| | | IPage<TestItem> listPage(Page<TestItem> page, TestItem query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.Unit; |
| | | |
| | | public interface UnitService extends IService<Unit> { |
| | | IPage<Unit> listPage(Page<Unit> page, Unit query); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.InstrumentCalibrationMapper; |
| | | import com.ruoyi.lims.pojo.InstrumentCalibration; |
| | | import com.ruoyi.lims.service.InstrumentCalibrationService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class InstrumentCalibrationServiceImpl extends ServiceImpl<InstrumentCalibrationMapper, InstrumentCalibration> implements InstrumentCalibrationService { |
| | | |
| | | @Override |
| | | public IPage<InstrumentCalibration> listPage(Page<InstrumentCalibration> page, InstrumentCalibration query) { |
| | | QueryWrapper<InstrumentCalibration> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getInstrumentCode()), "instrument_code", query.getInstrumentCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getInstrumentName()), "instrument_name", query.getInstrumentName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRecordType()), "record_type", query.getRecordType()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getCalibrationOrg()), "calibration_org", query.getCalibrationOrg()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getCertificateNo()), "certificate_no", query.getCertificateNo()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getCalibrationResult()), "calibration_result", query.getCalibrationResult()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getExecutor()), "executor", query.getExecutor()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.InstrumentMapper; |
| | | import com.ruoyi.lims.pojo.Instrument; |
| | | import com.ruoyi.lims.service.InstrumentService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class InstrumentServiceImpl extends ServiceImpl<InstrumentMapper, Instrument> implements InstrumentService { |
| | | |
| | | @Override |
| | | public IPage<Instrument> listPage(Page<Instrument> page, Instrument query) { |
| | | QueryWrapper<Instrument> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getInstrumentCode()), "instrument_code", query.getInstrumentCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getInstrumentName()), "instrument_name", query.getInstrumentName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getInstrumentModel()), "instrument_model", query.getInstrumentModel()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getManufacturer()), "manufacturer", query.getManufacturer()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getSerialNo()), "serial_no", query.getSerialNo()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getLocation()), "location", query.getLocation()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getResponsiblePerson()), "responsible_person", query.getResponsiblePerson()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getMaintainer()), "maintainer", query.getMaintainer()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.JudgmentStandardMapper; |
| | | import com.ruoyi.lims.pojo.JudgmentStandard; |
| | | import com.ruoyi.lims.service.JudgmentStandardService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class JudgmentStandardServiceImpl extends ServiceImpl<JudgmentStandardMapper, JudgmentStandard> implements JudgmentStandardService { |
| | | |
| | | @Override |
| | | public IPage<JudgmentStandard> listPage(Page<JudgmentStandard> page, JudgmentStandard query) { |
| | | QueryWrapper<JudgmentStandard> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStandardCode()), "standard_code", query.getStandardCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStandardName()), "standard_name", query.getStandardName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getItemName()), "item_name", query.getItemName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStandardType()), "standard_type", query.getStandardType()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getUnit()), "unit", query.getUnit()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getSourceStandard()), "source_standard", query.getSourceStandard()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.ReagentRecordMapper; |
| | | import com.ruoyi.lims.pojo.ReagentRecord; |
| | | import com.ruoyi.lims.service.ReagentRecordService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class ReagentRecordServiceImpl extends ServiceImpl<ReagentRecordMapper, ReagentRecord> implements ReagentRecordService { |
| | | |
| | | @Override |
| | | public IPage<ReagentRecord> listPage(Page<ReagentRecord> page, ReagentRecord query) { |
| | | QueryWrapper<ReagentRecord> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getReagentCode()), "reagent_code", query.getReagentCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getReagentName()), "reagent_name", query.getReagentName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRecordType()), "record_type", query.getRecordType()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getBatchNo()), "batch_no", query.getBatchNo()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getSupplier()), "supplier", query.getSupplier()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getOperator()), "operator", query.getOperator()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getPurpose()), "purpose", query.getPurpose()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRelatedExperiment()), "related_experiment", query.getRelatedExperiment()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.ReagentMapper; |
| | | import com.ruoyi.lims.pojo.Reagent; |
| | | import com.ruoyi.lims.service.ReagentService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class ReagentServiceImpl extends ServiceImpl<ReagentMapper, Reagent> implements ReagentService { |
| | | |
| | | @Override |
| | | public IPage<Reagent> listPage(Page<Reagent> page, Reagent query) { |
| | | QueryWrapper<Reagent> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getReagentCode()), "reagent_code", query.getReagentCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getReagentName()), "reagent_name", query.getReagentName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getSpecification()), "specification", query.getSpecification()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getCategory()), "category", query.getCategory()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getUnit()), "unit", query.getUnit()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getSupplier()), "supplier", query.getSupplier()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStorageCondition()), "storage_condition", query.getStorageCondition()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getLocation()), "location", query.getLocation()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getMaintainer()), "maintainer", query.getMaintainer()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.TestItemMapper; |
| | | import com.ruoyi.lims.pojo.TestItem; |
| | | import com.ruoyi.lims.service.TestItemService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class TestItemServiceImpl extends ServiceImpl<TestItemMapper, TestItem> implements TestItemService { |
| | | |
| | | @Override |
| | | public IPage<TestItem> listPage(Page<TestItem> page, TestItem query) { |
| | | QueryWrapper<TestItem> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getItemCode()), "item_code", query.getItemCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getItemName()), "item_name", query.getItemName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getItemType()), "item_type", query.getItemType()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getUnit()), "unit", query.getUnit()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getMethod()), "method", query.getMethod()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStandard()), "standard", query.getStandard()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.lims.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.common.utils.StringUtils; |
| | | import com.ruoyi.lims.mapper.UnitMapper; |
| | | import com.ruoyi.lims.pojo.Unit; |
| | | import com.ruoyi.lims.service.UnitService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class UnitServiceImpl extends ServiceImpl<UnitMapper, Unit> implements UnitService { |
| | | |
| | | @Override |
| | | public IPage<Unit> listPage(Page<Unit> page, Unit query) { |
| | | QueryWrapper<Unit> wrapper = new QueryWrapper<>(); |
| | | if (query != null) { |
| | | wrapper.like(StringUtils.isNotEmpty(query.getUnitCode()), "unit_code", query.getUnitCode()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getUnitName()), "unit_name", query.getUnitName()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getUnitType()), "unit_type", query.getUnitType()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getBaseUnit()), "base_unit", query.getBaseUnit()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getStatus()), "status", query.getStatus()); |
| | | wrapper.like(StringUtils.isNotEmpty(query.getRemark()), "remark", query.getRemark()); |
| | | } |
| | | wrapper.orderByDesc("id"); |
| | | return baseMapper.selectPage(page, wrapper); |
| | | } |
| | | } |