From 8003d2eccb633599ec8292730df64cc8aca50307 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期四, 20 二月 2025 10:35:46 +0800
Subject: [PATCH] 添加样品管理模块
---
inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml | 28 ++
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java | 20
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseServiceImpl.java | 189 +++++++++++++
inspect-server/src/main/java/com/ruoyi/inspect/pojo/Warehouse.java | 44 +++
inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseService.java | 42 +++
inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseShelf.java | 61 ++++
inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseCellAndSampleDto.java | 14 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseCellServiceImpl.java | 26 +
inspect-server/src/main/java/com/ruoyi/inspect/dto/HistoryDto.java | 13
inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseShelfMapper.java | 18 +
inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseCellMapper.java | 23 +
inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseDto.java | 14 +
inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseHistoryMapper.java | 25 +
inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseHistory.java | 56 ++++
inspect-server/src/main/resources/mapper/WarehouseHistoryMapper.xml | 16 +
inspect-server/src/main/resources/mapper/WarehouseMapper.xml | 24 +
inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseMapper.java | 23 +
inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseCellService.java | 13
inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseCell.java | 61 ++++
inspect-server/src/main/java/com/ruoyi/inspect/controller/WarehouseController.java | 111 +++++++
20 files changed, 811 insertions(+), 10 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java
index d61e1f9..df437ad 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderPlanController.java
@@ -59,14 +59,14 @@
}
- @ApiOperation(value = "鎵ц妫�楠屾搷浣�")
- @PostMapping("/doInsOrder")
+ @ApiOperation(value = "鏌ヨ妫�楠屾搷浣�")
+ @GetMapping("/doInsOrder")
public Result<?> doInsOrder(Integer id, String laboratory) {
return Result.success(insOrderPlanService.doInsOrder(id, laboratory));
}
- @PostMapping("/getInsProduct")
@ApiOperation("鑾峰彇妫�楠岄」鐩拰妯℃澘鍐呭")
+ @GetMapping("/getInsProduct")
public Result<?> getInsProduct(InsOrderPlanProductDto insOrderPlanProductDto) {
return Result.success(insOrderPlanService.getInsProduct(insOrderPlanProductDto));
}
@@ -79,7 +79,7 @@
}
@ApiOperation(value = "鍒ゆ柇浜ゆ帴鐨勮瘯楠屽")
- @PostMapping("/upPlanUser2")
+ @GetMapping("/upPlanUser2")
public Result<?> upPlanUser2(Integer orderId) {
return Result.success(insOrderPlanService.upPlanUser2(orderId));
}
@@ -138,7 +138,7 @@
@ApiOperation(value = "鍒犻櫎闄勪欢")
- @PostMapping("/delfile")
+ @DeleteMapping("/delfile")
public Result<?> delfile(Integer id) {
return Result.success(insOrderFileService.removeById(id));
}
@@ -162,25 +162,25 @@
@ApiOperation(value = "鐢电紗閰嶇疆,鏌ョ湅閰嶇疆鏍囪瘑")
- @PostMapping("/getCableTag")
+ @GetMapping("/getCableTag")
public Result<?> getCableTag(Integer id, String laboratory) {
return Result.success(insOrderPlanService.getCableTag(id, laboratory));
}
@ApiOperation(value = "鍘熸潗鏂�,鏌ョ湅閰嶇疆鏍囪瘑")
- @PostMapping("/getRawMaterialTag")
+ @GetMapping("/getRawMaterialTag")
public Result<?> getRawMaterialTag(Integer id, String laboratory) {
return Result.success(insOrderPlanService.getRawMaterialTag(id, laboratory));
}
@ApiOperation(value = "鏌ョ湅閲嶅鏍囪瘑")
- @PostMapping("/getRepetitionTag")
+ @GetMapping("/getRepetitionTag")
public Result<?> getRepetitionTag(Integer id, String laboratory, String cableTag) {
return Result.success(insOrderPlanService.getRepetitionTag(id, laboratory, cableTag));
}
@ApiOperation("鑾峰彇涓嶅悎鏍兼暟鎹�")
- @PostMapping("/getInsProductUnqualified")
+ @GetMapping("/getInsProductUnqualified")
public Result<?> getInsProductUnqualified(InsOrderPlanProductDto insOrderPlanProductDto) {
return Result.success(insOrderPlanService.getInsProductUnqualified(insOrderPlanProductDto));
}
@@ -194,7 +194,7 @@
}
@ApiOperation("鑾峰彇涓嶅悎鏍煎娴嬫暟鎹�")
- @PostMapping("/getInsProductUnqualifiedRetest")
+ @GetMapping("/getInsProductUnqualifiedRetest")
public Result<?> getInsProductUnqualifiedRetest(Integer id, Integer type, String laboratory, String cableTag, String rawMaterialTag, String retestTag) {
return Result.success(insOrderPlanService.getInsProductUnqualifiedRetest(id, type, laboratory, cableTag, rawMaterialTag, retestTag));
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/WarehouseController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/WarehouseController.java
new file mode 100644
index 0000000..5010762
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/WarehouseController.java
@@ -0,0 +1,111 @@
+package com.ruoyi.inspect.controller;
+
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.inspect.pojo.Warehouse;
+import com.ruoyi.inspect.pojo.WarehouseShelf;
+import com.ruoyi.inspect.service.WarehouseService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@RequestMapping("/warehouse")
+@RestController
+@AllArgsConstructor
+@Api(tags = "鏍峰搧绠$悊")
+public class WarehouseController {
+
+ private WarehouseService warehouseService;
+
+ @ApiOperation("娣诲姞浠撳簱")
+ @PostMapping("/addWarehouse")
+ public Result addWarehouse(@RequestBody Warehouse warehouse) {
+ return Result.success(warehouseService.addWarehouse(warehouse));
+ }
+
+
+ @ApiOperation("鏌ヨ浠撳簱")
+ @GetMapping("/selectWarehouse")
+ public Result selectWarehouse() {
+ return Result.success(warehouseService.selectWarehouse());
+ }
+
+ @PostMapping("/addShelf")
+ @ApiOperation("娣诲姞璐ф灦")
+ @ApiImplicitParams({
+ @ApiImplicitParam(value = "name", name = "鍚嶇О", dataTypeClass = String.class),
+ @ApiImplicitParam(value = "row", name = "琛�", dataTypeClass = Integer.class),
+ @ApiImplicitParam(value = "col", name = "鍒�", dataTypeClass = Integer.class),
+ @ApiImplicitParam(value = "warehouseId", name = "浠撳簱id", dataTypeClass = Integer.class)
+ })
+ public Result addShelf(@RequestBody WarehouseShelf warehouseShelf) {
+ return Result.success(warehouseService.addShelf(warehouseShelf));
+ }
+
+
+ @ApiOperation("鍒犻櫎浠撳簱")
+ @DeleteMapping("/delWarehouse")
+ public Result delWarehouse(Integer id) {
+ return Result.success(warehouseService.delWarehouse(id));
+ }
+
+
+ @ApiOperation("淇敼浠撳簱")
+ @PostMapping("/upWarehouse")
+ public Result upWarehouse(@RequestBody Warehouse warehouse) {
+ return Result.success(warehouseService.upWarehouse(warehouse));
+ }
+
+
+ @ApiOperation("鍒犻櫎璐ф灦")
+ @DeleteMapping("/delShelf")
+ public Result delShelf(Integer id) {
+ return Result.success(warehouseService.delShelf(id));
+ }
+
+
+ @ApiOperation("淇敼璐ф灦")
+ @PostMapping("/upShelf")
+ public Result upShelf(@RequestBody WarehouseShelf warehouseShelf) {
+ return Result.success(warehouseService.upShelf(warehouseShelf));
+ }
+
+ @ApiOperation("鏌ヨ璐ф灦涓嬬殑瀛樻斁淇℃伅")
+ @GetMapping("/getWarehouse")
+ public Result getWarehouse(Integer shelfId) {
+ return Result.success(warehouseService.getWarehouse(shelfId));
+ }
+
+
+ @ApiOperation("鏍峰搧鍏ュ簱")
+ @PostMapping("/inWarehouse")
+ public Result inWarehouse(@RequestBody Map<String, String> param) {
+ String trees = param.get("trees");
+ String sampleCode = param.get("sampleCode");
+ return Result.success(warehouseService.inWarehouse(trees, sampleCode));
+ }
+
+
+ @PostMapping("/outWarehouse")
+ @ApiOperation("鏍峰搧鍑哄簱")
+ public Result outWarehouse(@RequestBody Map<String, String> param) {
+ String sampleCode = param.get("sampleCode");
+ return Result.success(warehouseService.outWarehouse(sampleCode));
+ }
+
+ @ApiOperation("鏌ヨ鏍峰搧璇︾粏璁板綍")
+ @GetMapping("/getSampleRecord")
+ public Result getSampleRecord(Integer id) {
+ return Result.success(warehouseService.getSampleRecord(id));
+ }
+
+ @ApiOperation("閫氳繃鏍峰搧缂栧彿杩涜妫�绱�")
+ @GetMapping("/searchSampleId")
+ public Result searchSampleId(String sampleCode) {
+ return Result.success(warehouseService.searchSampleId(sampleCode));
+ }
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/HistoryDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/HistoryDto.java
new file mode 100644
index 0000000..8bb9834
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/HistoryDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.inspect.dto;
+
+import com.ruoyi.inspect.pojo.WarehouseHistory;
+import lombok.Data;
+
+@Data
+public class HistoryDto extends WarehouseHistory {
+
+ private String createUserName;
+
+ private String warehouseCode;
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseCellAndSampleDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseCellAndSampleDto.java
new file mode 100644
index 0000000..59f3939
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseCellAndSampleDto.java
@@ -0,0 +1,14 @@
+package com.ruoyi.inspect.dto;
+
+import com.ruoyi.inspect.pojo.InsSample;
+import com.ruoyi.inspect.pojo.WarehouseCell;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WarehouseCellAndSampleDto extends WarehouseCell {
+
+ private List<InsSample> samples;
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseDto.java
new file mode 100644
index 0000000..180e741
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/WarehouseDto.java
@@ -0,0 +1,14 @@
+package com.ruoyi.inspect.dto;
+
+import com.ruoyi.inspect.pojo.Warehouse;
+import com.ruoyi.inspect.pojo.WarehouseShelf;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class WarehouseDto extends Warehouse {
+
+ List<WarehouseShelf> warehouseShelfList;
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseCellMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseCellMapper.java
new file mode 100644
index 0000000..e15fd4e
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseCellMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.inspect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.dto.WarehouseCellAndSampleDto;
+import com.ruoyi.inspect.pojo.WarehouseCell;
+
+import java.util.List;
+
+/**
+* @author z1292
+* @description 閽堝琛ㄣ�恮arehouse_cell(璐ф灦鍗曞厓鏍�)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-04-06 12:12:12
+* @Entity com.yuanchu.mom.pojo.WarehouseCell
+*/
+public interface WarehouseCellMapper extends BaseMapper<WarehouseCell> {
+
+ List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId);
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseHistoryMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseHistoryMapper.java
new file mode 100644
index 0000000..6c647c7
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseHistoryMapper.java
@@ -0,0 +1,25 @@
+package com.ruoyi.inspect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.dto.HistoryDto;
+import com.ruoyi.inspect.pojo.WarehouseHistory;
+
+import java.util.List;
+
+/**
+* @author z1292
+* @description 閽堝琛ㄣ�恮arehouse_history(鍑哄叆搴撹褰�)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-04-06 12:12:12
+* @Entity com.yuanchu.mom.pojo.WarehouseHistory
+*/
+public interface WarehouseHistoryMapper extends BaseMapper<WarehouseHistory> {
+
+ String getUserNameById(Integer userId);
+
+ List<HistoryDto> getHistoryListBySampleId(Integer sampleId);
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseMapper.java
new file mode 100644
index 0000000..b6d91f0
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.inspect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.dto.WarehouseDto;
+import com.ruoyi.inspect.pojo.Warehouse;
+
+import java.util.List;
+
+/**
+* @author z1292
+* @description 閽堝琛ㄣ�恮arehouse(浠撳簱)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-04-06 12:12:12
+* @Entity com.yuanchu.mom.pojo.Warehouse
+*/
+public interface WarehouseMapper extends BaseMapper<Warehouse> {
+
+ List<WarehouseDto> selectWarehouseList();
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseShelfMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseShelfMapper.java
new file mode 100644
index 0000000..964c2b1
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WarehouseShelfMapper.java
@@ -0,0 +1,18 @@
+package com.ruoyi.inspect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.pojo.WarehouseShelf;
+
+/**
+* @author z1292
+* @description 閽堝琛ㄣ�恮arehouse_shelf(璐ф灦)銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-04-06 12:12:12
+* @Entity com.yuanchu.mom.pojo.WarehouseShelf
+*/
+public interface WarehouseShelfMapper extends BaseMapper<WarehouseShelf> {
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/Warehouse.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/Warehouse.java
new file mode 100644
index 0000000..741b65c
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/Warehouse.java
@@ -0,0 +1,44 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 浠撳簱
+ * @TableName warehouse
+ */
+@TableName(value ="warehouse")
+@Data
+public class Warehouse implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 浠撳簱鍚嶇О
+ */
+ private String name;
+
+ /**
+ *
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseCell.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseCell.java
new file mode 100644
index 0000000..4f0a9b3
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseCell.java
@@ -0,0 +1,61 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 璐ф灦鍗曞厓鏍�
+ * @TableName warehouse_cell
+ */
+@TableName(value ="warehouse_cell")
+@Data
+public class WarehouseCell implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 琛�
+ */
+ @TableField("`row`")
+ private Integer row;
+
+ /**
+ * 鍒�
+ */
+ @TableField("`col`")
+ private Integer col;
+
+ /**
+ *
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ /**
+ * 鏄惁鏈夋晥 1锛氭湁鏁� 0锛氭棤鏁�
+ */
+ private Integer state;
+
+ /**
+ * 澶栨锛氳揣鏋秈d
+ */
+ private Integer shelfId;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseHistory.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseHistory.java
new file mode 100644
index 0000000..0164d63
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseHistory.java
@@ -0,0 +1,56 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 鍑哄叆搴撹褰�
+ * @TableName warehouse_history
+ */
+@TableName(value ="warehouse_history")
+@Data
+public class WarehouseHistory implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ private String warehouseCode;
+
+ /**
+ * 澶栭敭锛氭牱鍝乮d
+ */
+ private Integer insSampleId;
+
+ /**
+ * 鐘舵�侊細1锛氬叆搴� 2锛氬嚭搴�
+ */
+ private Integer state;
+
+ /**
+ *
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ /**
+ * 澶栭敭锛氬崟鍏冩牸id
+ */
+ private Integer cellId;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseShelf.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseShelf.java
new file mode 100644
index 0000000..670d95a
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WarehouseShelf.java
@@ -0,0 +1,61 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 璐ф灦
+ * @TableName warehouse_shelf
+ */
+@TableName(value ="warehouse_shelf")
+@Data
+public class WarehouseShelf implements Serializable {
+ /**
+ *
+ */
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ * 璐ф灦鍚嶇О
+ */
+ private String name;
+
+ /**
+ * 琛�
+ */
+ @TableField("`row`")
+ private Integer row;
+
+ /**
+ * 鍒�
+ */
+ @TableField("`col`")
+ private Integer col;
+
+ /**
+ *
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime updateTime;
+
+ /**
+ * 澶栭敭锛氫粨搴搃d
+ */
+ private Integer warehouseId;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseCellService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseCellService.java
new file mode 100644
index 0000000..75f77b9
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseCellService.java
@@ -0,0 +1,13 @@
+package com.ruoyi.inspect.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.inspect.pojo.WarehouseCell;
+
+/**
+* @author z1292
+* @description 閽堝琛ㄣ�恮arehouse(浠撳簱)銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2024-04-06 12:13:57
+*/
+public interface WarehouseCellService extends IService<WarehouseCell> {
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseService.java
new file mode 100644
index 0000000..9b7db73
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/WarehouseService.java
@@ -0,0 +1,42 @@
+package com.ruoyi.inspect.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.inspect.dto.WarehouseCellAndSampleDto;
+import com.ruoyi.inspect.dto.WarehouseDto;
+import com.ruoyi.inspect.pojo.Warehouse;
+import com.ruoyi.inspect.pojo.WarehouseShelf;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author z1292
+* @description 閽堝琛ㄣ�恮arehouse(浠撳簱)銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2024-04-06 12:13:57
+*/
+public interface WarehouseService extends IService<Warehouse> {
+
+ int addWarehouse(Warehouse warehouse);
+
+ List<WarehouseDto> selectWarehouse();
+
+ int addShelf(WarehouseShelf warehouseShelf);
+
+ int delWarehouse(Integer id);
+
+ int upWarehouse(Warehouse warehouse);
+
+ int delShelf(Integer id);
+
+ int upShelf(WarehouseShelf warehouseShelf);
+
+ List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId);
+
+ int inWarehouse(String trees, String sampleCode);
+
+ int outWarehouse(String sampleCode);
+
+ Map<String, Object> getSampleRecord(Integer id);
+
+ int searchSampleId(String sampleCode);
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseCellServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseCellServiceImpl.java
new file mode 100644
index 0000000..333aa18
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseCellServiceImpl.java
@@ -0,0 +1,26 @@
+package com.ruoyi.inspect.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.inspect.mapper.WarehouseCellMapper;
+import com.ruoyi.inspect.pojo.WarehouseCell;
+import com.ruoyi.inspect.service.WarehouseCellService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恑ns_sample_user(鏍峰搧璐熻矗浜鸿褰�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2024-03-14 17:12:02
+*/
+@Service
+@AllArgsConstructor
+public class WarehouseCellServiceImpl extends ServiceImpl<WarehouseCellMapper, WarehouseCell>
+ implements WarehouseCellService {
+
+
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseServiceImpl.java
new file mode 100644
index 0000000..6e9c2e9
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WarehouseServiceImpl.java
@@ -0,0 +1,189 @@
+package com.ruoyi.inspect.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.framework.exception.ErrorException;
+import com.ruoyi.inspect.dto.HistoryDto;
+import com.ruoyi.inspect.dto.WarehouseCellAndSampleDto;
+import com.ruoyi.inspect.dto.WarehouseDto;
+import com.ruoyi.inspect.mapper.*;
+import com.ruoyi.inspect.pojo.*;
+import com.ruoyi.inspect.service.WarehouseCellService;
+import com.ruoyi.inspect.service.WarehouseService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+* @author Administrator
+* @description 閽堝琛ㄣ�恑ns_sample_user(鏍峰搧璐熻矗浜鸿褰�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2024-03-14 17:12:02
+*/
+@Service
+@AllArgsConstructor
+public class WarehouseServiceImpl extends ServiceImpl<WarehouseMapper, Warehouse>
+ implements WarehouseService {
+
+ private WarehouseMapper warehouseMapper;
+
+ private WarehouseShelfMapper warehouseShelfMapper;
+
+ private WarehouseCellMapper warehouseCellMapper;
+
+ private WarehouseHistoryMapper warehouseHistoryMapper;
+
+ private WarehouseCellService warehouseCellService;
+
+ private InsSampleMapper insSampleMapper;
+
+ private InsProductMapper insProductMapper;
+
+ @Override
+ public int addWarehouse(Warehouse warehouse) {
+ Warehouse newWarehouse = new Warehouse();
+ warehouse.setName(warehouse.getName());
+ return warehouseMapper.insert(warehouse);
+ }
+
+ @Override
+ public List<WarehouseDto> selectWarehouse() {
+ return warehouseMapper.selectWarehouseList();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int addShelf(WarehouseShelf warehouseShelf) {
+ warehouseShelfMapper.insert(warehouseShelf);
+ List<WarehouseCell> cells = new ArrayList<>();
+ for (int i = 1; i < warehouseShelf.getRow() + 1; i++) {
+ for (int a = 1; a < warehouseShelf.getCol() + 1; a++) {
+ WarehouseCell cell = new WarehouseCell();
+ cell.setRow(i);
+ cell.setCol(a);
+ cell.setState(1);
+ cell.setShelfId(warehouseShelf.getId());
+ cells.add(cell);
+ }
+ }
+ warehouseCellService.saveBatch(cells);
+ return 1;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int delWarehouse(Integer id) {
+ warehouseShelfMapper.delete(Wrappers.<WarehouseShelf>lambdaUpdate().eq(WarehouseShelf::getWarehouseId, id));
+ return warehouseMapper.deleteById(id);
+ }
+
+ @Override
+ public int upWarehouse(Warehouse warehouse) {
+ return warehouseMapper.updateById(warehouse);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int delShelf(Integer id) {
+ warehouseCellMapper.update(null ,Wrappers.<WarehouseCell>lambdaUpdate().eq(WarehouseCell::getShelfId, id).set(WarehouseCell::getState, 0));
+ return warehouseShelfMapper.deleteById(id);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int upShelf(WarehouseShelf warehouseShelf) {
+ warehouseCellMapper.update(null, Wrappers.<WarehouseCell>lambdaUpdate()
+ .eq(WarehouseCell::getShelfId, warehouseShelf.getWarehouseId())
+ .gt(WarehouseCell::getRow, warehouseShelf.getRow())
+ .gt(WarehouseCell::getCol, warehouseShelf.getCol())
+ .set(WarehouseCell::getState, 0));
+ warehouseShelfMapper.updateById(warehouseShelf);
+ return 0;
+ }
+
+ @Override
+ public List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId) {
+ return warehouseCellMapper.getWarehouse(shelfId);
+ }
+
+ @Override
+ public int inWarehouse(String trees, String sampleCode) {
+ String[] tree = trees.split("-");
+ if(tree.length < 4){
+ throw new ErrorException("搴撲綅閫夋嫨閿欒");
+ }
+ List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId,InsSample::getCellId));
+ if(samples.size()!=1){
+ throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
+ }
+ if(samples.get(0).getCellId()!=null){
+ throw new ErrorException("鏍峰搧 " + sampleCode + " 鏈嚭搴�");
+ }
+ WarehouseCell cell = warehouseCellMapper.selectOne(Wrappers.<WarehouseCell>lambdaQuery().eq(WarehouseCell::getShelfId, tree[1]).eq(WarehouseCell::getRow, tree[2]).eq(WarehouseCell::getCol, tree[3]).eq(WarehouseCell::getState, 1).select(WarehouseCell::getId,WarehouseCell::getRow,WarehouseCell::getCol));
+ WarehouseShelf shelf = warehouseShelfMapper.selectById(tree[1]);
+ Warehouse warehouse = warehouseMapper.selectById(tree[0]);
+ WarehouseHistory history = new WarehouseHistory();
+ history.setCellId(cell.getId());
+ history.setState(1);
+ history.setInsSampleId(samples.get(0).getId());
+ history.setWarehouseCode(warehouse.getName()+"-"+shelf.getName()+"-"+cell.getRow()+"-"+cell.getCol());
+ samples.get(0).setCellId(cell.getId());
+ insSampleMapper.updateById(samples.get(0));
+ return warehouseHistoryMapper.insert(history);
+ }
+
+ @Override
+ public int outWarehouse(String sampleCode) {
+ List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId,InsSample::getCellId));
+ if(samples.size()!=1){
+ throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
+ }
+ if(samples.get(0).getCellId()==null){
+ throw new ErrorException("鏍峰搧 " + sampleCode + " 鏈叆搴�");
+ }
+ WarehouseHistory history = new WarehouseHistory();
+ history.setState(2);
+ history.setInsSampleId(samples.get(0).getId());
+ history.setCellId(samples.get(0).getCellId());
+ history.setWarehouseCode(warehouseHistoryMapper.selectOne(Wrappers.<WarehouseHistory>lambdaQuery().eq(WarehouseHistory::getInsSampleId, samples.get(0).getId()).select(WarehouseHistory::getWarehouseCode).orderByDesc(WarehouseHistory::getId).last("limit 1")).getWarehouseCode());
+ insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate().eq(InsSample::getId, samples.get(0).getId()).set(InsSample::getCellId, null));
+ return warehouseHistoryMapper.insert(history);
+ }
+
+ @Override
+ public Map<String, Object> getSampleRecord(Integer id) {
+ InsSample insSample = insSampleMapper.selectById(id);
+ List<HistoryDto> histories = warehouseHistoryMapper.getHistoryListBySampleId(id);
+ Map<String, Object> map = new HashMap<>();
+ Map<String, String> sampleHistory = new HashMap<>();
+ WarehouseHistory history = histories.get(histories.size() - 1);
+ if(history.getState() == 1){
+ sampleHistory.put("date", history.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ sampleHistory.put("user", warehouseHistoryMapper.getUserNameById(history.getCreateUser()));
+ sampleHistory.put("code", history.getWarehouseCode());
+ }
+ map.put("sampleHistory", sampleHistory);
+ map.put("insSample", insSample);
+ map.put("histories", histories);
+ map.put("products", insProductMapper.getProductAndResult(id));
+ return map;
+ }
+
+ @Override
+ public int searchSampleId(String sampleCode) {
+ List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId));
+ if(samples.size()!=1){
+ throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
+ }
+ return samples.get(0).getId();
+ }
+}
+
+
+
+
diff --git a/inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml b/inspect-server/src/main/resources/mapper/WarehouseCellMapper.xml
new file mode 100644
index 0000000..2c673ee
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/WarehouseCellMapper.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.inspect.mapper.WarehouseCellMapper">
+
+ <select id="getWarehouse" resultMap="WarehouseCellAndHistoryDto">
+ select wc.id, wc.row, wc.col, i.id sampleId, i.sample, i.model, i.sample_code from warehouse_cell wc
+ left join ins_sample i on i.cell_id = wc.id
+ where wc.state = 1
+ and wc.shelf_id = #{shelfId}
+ order by wc.id
+ </select>
+
+ <resultMap id="WarehouseCellAndHistoryDto" type="com.ruoyi.inspect.dto.WarehouseCellAndSampleDto">
+ <id property="id" column="id" jdbcType="INTEGER"/>
+ <result property="row" column="row" jdbcType="INTEGER"/>
+ <result property="col" column="col" jdbcType="INTEGER"/>
+ <collection property="samples" resultMap="InsSample"/>
+ </resultMap>
+
+ <resultMap id="InsSample" type="com.ruoyi.inspect.pojo.InsSample">
+ <id property="id" column="sampleId"/>
+ <result property="sample" column="sample"/>
+ <result property="model" column="model"/>
+ <result property="sampleCode" column="sample_code"/>
+ </resultMap>
+</mapper>
diff --git a/inspect-server/src/main/resources/mapper/WarehouseHistoryMapper.xml b/inspect-server/src/main/resources/mapper/WarehouseHistoryMapper.xml
new file mode 100644
index 0000000..5a26e39
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/WarehouseHistoryMapper.xml
@@ -0,0 +1,16 @@
+<?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.inspect.mapper.WarehouseHistoryMapper">
+
+ <select id="getUserNameById" resultType="java.lang.String">
+ select name from user where id = #{userId}
+ </select>
+ <select id="getHistoryListBySampleId" resultType="com.ruoyi.inspect.dto.HistoryDto">
+ select wh.*,u.name createUserName from warehouse_history wh
+ left join user u on u.id = wh.create_user
+ where wh.ins_sample_id = #{sampleId}
+ order by wh.id desc
+ </select>
+</mapper>
diff --git a/inspect-server/src/main/resources/mapper/WarehouseMapper.xml b/inspect-server/src/main/resources/mapper/WarehouseMapper.xml
new file mode 100644
index 0000000..2bbc6e8
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/WarehouseMapper.xml
@@ -0,0 +1,24 @@
+<?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.inspect.mapper.WarehouseMapper">
+
+ <resultMap id="Warehouse" type="com.ruoyi.inspect.dto.WarehouseDto">
+ <id property="id" column="id" jdbcType="INTEGER"/>
+ <result property="name" column="name" jdbcType="VARCHAR"/>
+ <collection property="warehouseShelfList" resultMap="shelf"/>
+ </resultMap>
+
+ <resultMap id="shelf" type="com.ruoyi.inspect.pojo.WarehouseShelf">
+ <id property="id" column="sId" jdbcType="INTEGER"/>
+ <result property="name" column="sName" jdbcType="VARCHAR"/>
+ <result property="row" column="row" jdbcType="INTEGER"/>
+ <result property="col" column="col" jdbcType="INTEGER"/>
+ </resultMap>
+
+ <select id="selectWarehouseList" resultMap="Warehouse">
+ select w.id,w.name,ws.id sId,ws.name sName,ws.row,ws.col,ws.warehouse_id from warehouse w
+ left join warehouse_shelf ws on w.id = ws.warehouse_id
+ </select>
+</mapper>
--
Gitblit v1.9.3