From 996c091a4913ac768324b7ea69a8494ba9d6ece0 Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: Wed, 26 Feb 2025 16:15:08 +0800
Subject: [PATCH] 相忌功能
---
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzTabooWarningVO.java | 69 +++
hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysCompanyMapper.java | 5
hazmat-system/src/main/resources/mapper/system/HzTabooWarningMapper.xml | 60 ++
hazmat-common/src/main/java/com/gkhy/hazmat/common/constant/Constant.java | 2
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzTabooWarning.java | 98 ++++
hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/TabooComparisonController.java | 58 ++
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzEntryRecordServiceImpl.java | 79 +++
hazmat-admin/src/main/resources/db/migration/V20250212001_change_entry_record.sql | 62 ++
hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/SysCompanyController.java | 11
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/TaBooComparison.java | 49 ++
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/SysCompanyService.java | 2
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzEntryTransferVO.java | 30 +
hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysConfigMapper.java | 3
hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/web/HzTabooWarningController.java | 64 ++
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzHazmat.java | 2
hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzHazmatMapper.java | 14
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/TabooDisVo.java | 9
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooComparisonServiceImpl.java | 130 +++++
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzHazmatWarehouseVO.java | 6
hazmat-system/src/main/resources/mapper/system/HzWarehouseMapper.xml | 8
hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml | 19
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java | 25 +
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzEntryRecord.java | 4
hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzWarehouseRecord.java | 5
hazmat-system/src/main/resources/mapper/system/TaBooComparisonMapper.xml | 27 +
hazmat-common/src/main/java/com/gkhy/hazmat/common/enums/WarehouseRecordEnum.java | 35 +
hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzTabooWarningMapper.java | 29 +
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TabooWarningService.java | 34 +
hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/TaBooComparisonMapper.java | 25 +
hazmat-system/src/main/resources/mapper/system/HzWarehouseRecordMapper.xml | 1
hazmat-admin/src/main/resources/db/migration/V20250226002_hz_taboo_warning.sql | 19
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooWarningServiceImpl.java | 198 ++++++++
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TaBooComparisonService.java | 50 ++
hazmat-admin/src/main/resources/db/migration/V20250226001_taboo_comparison.sql | 108 ++++
hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzHazmatServiceImpl.java | 16
hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzWarehouseMapper.java | 2
36 files changed, 1,337 insertions(+), 21 deletions(-)
diff --git a/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/SysCompanyController.java b/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/SysCompanyController.java
index 2e5b4ab..d1cb383 100644
--- a/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/SysCompanyController.java
+++ b/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/SysCompanyController.java
@@ -1,6 +1,7 @@
package com.gkhy.hazmat.admin.controller.system;
+import com.gkhy.hazmat.common.annotation.Anonymous;
import com.gkhy.hazmat.common.annotation.Log;
import com.gkhy.hazmat.common.annotation.RepeatSubmit;
import com.gkhy.hazmat.common.api.CommonResult;
@@ -86,4 +87,14 @@
return CommonResult.success(companyService.checkNameUnique(company));
}
+
+ @ApiOperation(value = "生成表测试")
+ @GetMapping("/createProductTables")
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:system')")
+ public CommonResult createProductTables(Long companyId)
+ {
+ companyService.createProductTables(companyId);
+ return CommonResult.success();
+ }
+
}
diff --git a/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/TabooComparisonController.java b/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/TabooComparisonController.java
new file mode 100644
index 0000000..c9515e4
--- /dev/null
+++ b/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/system/TabooComparisonController.java
@@ -0,0 +1,58 @@
+package com.gkhy.hazmat.admin.controller.system;
+
+import com.gkhy.hazmat.common.api.CommonResult;
+import com.gkhy.hazmat.system.domain.SysConfig;
+import com.gkhy.hazmat.system.domain.TaBooComparison;
+import com.gkhy.hazmat.system.service.SysConfigService;
+import com.gkhy.hazmat.system.service.TaBooComparisonService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "系统配置前端控制器")
+@RestController
+@RequestMapping("/system/tabooComparison")
+public class TabooComparisonController {
+ @Autowired
+ private TaBooComparisonService taBooComparisonService;
+
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:system')")
+ @ApiOperation(value = "禁忌属性列表")
+ @GetMapping("/list")
+ public CommonResult list(TaBooComparison taBooComparison){
+ return CommonResult.success(taBooComparisonService.selectTaBooComparisonList(taBooComparison));
+ }
+
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:system')")
+ @ApiOperation(value = "新增禁忌属性")
+ @PostMapping
+ public CommonResult add(@Validated @RequestBody TaBooComparison taBooComparison){
+ return CommonResult.success(taBooComparisonService.insertTaBooComparison(taBooComparison));
+ }
+
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:system')")
+ @ApiOperation(value = "更新禁忌属性")
+ @PutMapping
+ public CommonResult edit(@Validated @RequestBody TaBooComparison taBooComparison){
+ return CommonResult.success(taBooComparisonService.insertTaBooComparison(taBooComparison));
+ }
+
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:system')")
+ @ApiOperation(value = "删除禁忌属性")
+ @DeleteMapping(value = "/{taBooComparisonId}")
+ public CommonResult remove(@PathVariable Long taBooComparisonId){
+ taBooComparisonService.deleteTaBooComparisonById(taBooComparisonId);
+ return CommonResult.success();
+ }
+
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:company','hazmat:manage:common')")
+ @ApiOperation(value = "查询当前用户公司配置")
+ @GetMapping(value = "/loadingTaBooCache")
+ public CommonResult loadingTaBooCache(){
+ taBooComparisonService.loadingTaBooCache();
+ return CommonResult.success();
+ }
+}
diff --git a/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/web/HzTabooWarningController.java b/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/web/HzTabooWarningController.java
new file mode 100644
index 0000000..bcbea88
--- /dev/null
+++ b/hazmat-admin/src/main/java/com/gkhy/hazmat/admin/controller/web/HzTabooWarningController.java
@@ -0,0 +1,64 @@
+package com.gkhy.hazmat.admin.controller.web;
+
+
+import com.gkhy.hazmat.common.annotation.RepeatSubmit;
+import com.gkhy.hazmat.common.api.CommonResult;
+import com.gkhy.hazmat.common.utils.PageUtils;
+import com.gkhy.hazmat.system.domain.HzEntryRecord;
+import com.gkhy.hazmat.system.domain.HzTabooWarning;
+import com.gkhy.hazmat.system.domain.HzWarning;
+import com.gkhy.hazmat.system.domain.vo.HzEntryTransferVO;
+import com.gkhy.hazmat.system.service.HzWarningService;
+import com.gkhy.hazmat.system.service.TabooWarningService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 预警表 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-02-13 14:41:40
+ */
+@Api(tags = "相忌预警前端控制器")
+@RestController
+@RequestMapping("/taBooWarning")
+public class HzTabooWarningController {
+
+ @Autowired
+ private TabooWarningService tabooWarningService;
+
+ @ApiOperation(value = "相忌预警列表(分页)")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10")
+ })
+ @GetMapping("/pageList")
+ public CommonResult pageList(HzTabooWarning warning){
+
+ return CommonResult.success(tabooWarningService.selectHzTabooWarningPageList(warning));
+ }
+
+
+ @ApiOperation(value = "相忌预警列表(不分页)")
+ @GetMapping("/list")
+ public CommonResult list(HzTabooWarning warning){
+ return CommonResult.success(tabooWarningService.selectHzTabooWarningList(warning));
+ }
+ @RepeatSubmit
+ @ApiOperation(value = "相忌危化品转存储柜")
+ @PreAuthorize("hasAnyAuthority('hazmat:manage:company','hazmat:manage:common')")
+ @PostMapping("/entryTransfer")
+ public CommonResult entryTransfer(@Validated @RequestBody HzEntryTransferVO entryTransferVO){
+ tabooWarningService.doTransfer(entryTransferVO);
+ return CommonResult.success();
+ }
+
+}
diff --git a/hazmat-admin/src/main/resources/db/migration/V20250212001_change_entry_record.sql b/hazmat-admin/src/main/resources/db/migration/V20250212001_change_entry_record.sql
new file mode 100644
index 0000000..1bbc50c
--- /dev/null
+++ b/hazmat-admin/src/main/resources/db/migration/V20250212001_change_entry_record.sql
@@ -0,0 +1,62 @@
+ALTER TABLE `hazmat_manage`.`hz_entry_record`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_0`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_1`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_2`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_3`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_4`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_5`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_6`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_7`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_8`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_9`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_10`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_11`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_12`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_13`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_14`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_15`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_16`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_17`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_18`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
+
+ALTER TABLE `hazmat_manage`.`hz_hazmat_19`
+ADD COLUMN `cupboard_id` bigint NOT NULL COMMENT '存储柜id' AFTER `warehouse_id`;
diff --git a/hazmat-admin/src/main/resources/db/migration/V20250226001_taboo_comparison.sql b/hazmat-admin/src/main/resources/db/migration/V20250226001_taboo_comparison.sql
new file mode 100644
index 0000000..9e73c09
--- /dev/null
+++ b/hazmat-admin/src/main/resources/db/migration/V20250226001_taboo_comparison.sql
@@ -0,0 +1,108 @@
+
+CREATE TABLE `taboo_comparison` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `warning_type` tinyint NOT NULL DEFAULT 1 COMMENT '1:禁忌2:消3:分',
+ `unique_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一编码',
+ `left_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '左侧编码',
+ `top_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '顶部编码',
+ `create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 93 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '禁忌数据对照表' ROW_FORMAT = Dynamic;
+
+
+INSERT INTO `taboo_comparison` VALUES (1, 3, '17_5', '17', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (2, 2, '6_5', '6', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (3, 2, '15_5', '15', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (4, 2, '15_6', '15', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (5, 2, '17_6', '17', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (6, 1, '1_1', '1', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (7, 1, '5_1', '5', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (8, 1, '6_1', '6', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (9, 1, '7_1', '7', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (10, 1, '7_5', '7', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (11, 1, '7_6', '7', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (12, 1, '8_1', '8', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (13, 1, '8_5', '8', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (14, 1, '8_6', '8', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (15, 1, '8_7', '8', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (16, 1, '9_1', '9', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (17, 1, '9_5', '9', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (18, 1, '9_6', '9', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (19, 1, '9_7', '9', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (20, 1, '9_8', '9', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (21, 1, '10_1', '10', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (22, 1, '10_5', '10', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (23, 1, '10_6', '10', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (24, 1, '10_7', '10', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (25, 1, '10_8', '10', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (26, 1, '10_9', '10', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (27, 1, '11_1', '11', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (28, 1, '11_5', '11', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (29, 1, '11_6', '11', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (30, 1, '11_7', '11', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (31, 1, '11_8', '11', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (32, 1, '11_9', '11', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (33, 1, '11_10', '11', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (34, 1, '12_1', '12', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (35, 1, '12_5', '12', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (36, 1, '12_6', '12', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (37, 1, '12_7', '12', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (38, 1, '12_8', '12', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (39, 1, '12_9', '12', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (40, 1, '12_10', '12', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (41, 1, '12_11', '12', '11', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (42, 1, '13_1', '13', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (43, 1, '13_5', '13', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (44, 1, '13_6', '13', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (45, 1, '13_7', '13', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (46, 1, '13_8', '13', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (47, 1, '13_9', '13', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (48, 1, '13_10', '13', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (49, 1, '13_11', '13', '11', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (50, 1, '13_12', '13', '12', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (51, 1, '14_1', '14', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (52, 1, '14_5', '14', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (53, 1, '14_6', '14', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (54, 1, '14_7', '14', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (55, 1, '14_8', '14', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (56, 1, '14_9', '14', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (57, 1, '14_10', '14', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (58, 1, '14_11', '14', '11', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (59, 1, '14_12', '14', '12', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (60, 1, '14_13', '14', '13', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (61, 1, '15_1', '15', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (62, 1, '15_7', '15', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (63, 1, '15_8', '15', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (64, 1, '15_9', '15', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (65, 1, '15_10', '15', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (66, 1, '15_11', '15', '11', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (67, 1, '15_12', '15', '12', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (68, 1, '15_13', '15', '13', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (69, 1, '15_14', '15', '14', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (70, 1, '16_1', '16', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (71, 1, '16_5', '16', '5', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (72, 1, '16_6', '16', '6', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (73, 1, '16_7', '16', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (74, 1, '16_8', '16', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (75, 1, '16_9', '16', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (76, 1, '16_10', '16', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (77, 1, '16_11', '16', '11', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (78, 1, '16_12', '16', '12', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (79, 1, '16_13', '16', '13', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (80, 1, '16_14', '16', '14', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (81, 1, '16_15', '16', '15', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (82, 1, '17_1', '17', '1', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (83, 1, '17_7', '17', '7', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:21', NULL);
+INSERT INTO `taboo_comparison` VALUES (84, 1, '17_8', '17', '8', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:46', NULL);
+INSERT INTO `taboo_comparison` VALUES (85, 1, '17_9', '17', '9', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (86, 1, '17_10', '17', '10', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (87, 1, '17_11', '17', '11', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (88, 1, '17_12', '17', '12', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (89, 1, '17_13', '17', '13', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (90, 1, '17_14', '17', '14', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (91, 1, '17_15', '17', '15', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:52', NULL);
+INSERT INTO `taboo_comparison` VALUES (92, 1, '17_16', '17', '16', NULL, '2025-02-11 16:34:21', NULL, '2025-02-11 16:34:56', NULL);
\ No newline at end of file
diff --git a/hazmat-admin/src/main/resources/db/migration/V20250226002_hz_taboo_warning.sql b/hazmat-admin/src/main/resources/db/migration/V20250226002_hz_taboo_warning.sql
new file mode 100644
index 0000000..83214a8
--- /dev/null
+++ b/hazmat-admin/src/main/resources/db/migration/V20250226002_hz_taboo_warning.sql
@@ -0,0 +1,19 @@
+
+CREATE TABLE `hz_taboo_warning` (
+ `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
+ `entry_id` bigint NOT NULL COMMENT '入库记录id',
+ `warehouse_id` bigint NOT NULL COMMENT '仓库id',
+ `cupboard_id` bigint NOT NULL COMMENT '存储柜id',
+ `warning_type` tinyint NOT NULL DEFAULT 1 COMMENT '1:禁忌2:消3:分',
+ `state` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0未处理,1已处理)',
+ `taboo_basic_id` bigint NOT NULL COMMENT '相忌危化品基础id',
+ `company_id` bigint NOT NULL COMMENT '企业id',
+ `create_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `update_by` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ `del_flag` tinyint NULL DEFAULT 0 COMMENT '删除标志(0代表存在,1代表删除,默认0)',
+ `remark` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
+ `version` int NOT NULL DEFAULT 0,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '相忌警告表' ROW_FORMAT = DYNAMIC;
diff --git a/hazmat-common/src/main/java/com/gkhy/hazmat/common/constant/Constant.java b/hazmat-common/src/main/java/com/gkhy/hazmat/common/constant/Constant.java
index 6ec4372..9e58de9 100644
--- a/hazmat-common/src/main/java/com/gkhy/hazmat/common/constant/Constant.java
+++ b/hazmat-common/src/main/java/com/gkhy/hazmat/common/constant/Constant.java
@@ -142,4 +142,6 @@
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "com.ruoyi.common.utils.file", "com.ruoyi.common.config" };
+
+ public static final String TABOO_UNIQUE_KEY = "TABOO_UNIQUE_KEY";
}
diff --git a/hazmat-common/src/main/java/com/gkhy/hazmat/common/enums/WarehouseRecordEnum.java b/hazmat-common/src/main/java/com/gkhy/hazmat/common/enums/WarehouseRecordEnum.java
new file mode 100644
index 0000000..ce645df
--- /dev/null
+++ b/hazmat-common/src/main/java/com/gkhy/hazmat/common/enums/WarehouseRecordEnum.java
@@ -0,0 +1,35 @@
+package com.gkhy.hazmat.common.enums;
+
+/**
+ * 危化品状态
+ *
+ */
+public enum WarehouseRecordEnum
+{
+ BATCHIMPORT(0, "批量导入"),
+ INUSE(1, "取用"),
+ BACK(2, "归还"),
+ DISCARD(3, "标签作废"),
+ SOLD(4,"销售"),
+ TRANSFERIN(5,"相忌转入"),
+ TRANSFEROUT(6,"相忌转出");
+
+ private final Integer code;
+ private final String info;
+
+ WarehouseRecordEnum(Integer code, String info)
+ {
+ this.code = code;
+ this.info = info;
+ }
+
+ public Integer getCode()
+ {
+ return code;
+ }
+
+ public String getInfo()
+ {
+ return info;
+ }
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzEntryRecord.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzEntryRecord.java
index 1aea15a..28c8fc0 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzEntryRecord.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzEntryRecord.java
@@ -40,8 +40,8 @@
@TableField("warehouse_id")
private Long warehouseId;
- @NotNull(message = "存储柜id不能为空")
- @ApiModelProperty(value = "存储柜id",required = true)
+ @NotNull(message = "存储柜Id不能为空")
+ @ApiModelProperty(value = "存储柜Id",required = true)
@TableField("cupboard_id")
private Long cupboardId;
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzHazmat.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzHazmat.java
index e3df63e..b02e0ff 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzHazmat.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzHazmat.java
@@ -46,7 +46,7 @@
@TableField("warehouse_id")
private Long warehouseId;
- @ApiModelProperty("存储柜id")
+ @ApiModelProperty(value = "存储柜Id",required = true)
@TableField("cupboard_id")
private Long cupboardId;
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzTabooWarning.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzTabooWarning.java
new file mode 100644
index 0000000..0f54bbe
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzTabooWarning.java
@@ -0,0 +1,98 @@
+package com.gkhy.hazmat.system.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.gkhy.hazmat.common.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import java.time.LocalDateTime;
+
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+
+/**
+ * <p>
+ * 入库记录表
+ * </p>
+ *
+ * @author kzy
+ * @since 2024-08-06 10:33:05
+ */
+@Getter
+@Setter
+@TableName("hz_taboo_warning")
+@ApiModel(value = "HzTabooWarning对象", description = "危化品相忌报警表")
+@JsonInclude(NON_NULL)
+@Accessors(chain = true)
+public class HzTabooWarning {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty(value = "入库id",required = true)
+ @TableField("entry_id")
+ private Long entryId;
+
+ @ApiModelProperty("类型1:禁忌2:消3:分")
+ @TableField("warning_type")
+ private Long warningType;
+
+ @ApiModelProperty("相忌危化品基础数据id")
+ @TableField("taboo_basic_id")
+ private Long tabooBasicId;
+
+ @ApiModelProperty(value = "仓库id",required = true)
+ private Long warehouseId;
+
+ @ApiModelProperty(value = "存储柜Id",required = true)
+ private Long cupboardId;
+
+// @ApiModelProperty("相忌危化品表数据id")
+// @TableField("taboo_hazmat_id")
+// private Long tabooHazmatId;
+
+ @ApiModelProperty("状态(0未处理,1已处理)")
+ @TableField("state")
+ private Integer state;
+
+ @ApiModelProperty("企业id")
+ @TableField("company_id")
+ private Long companyId;
+
+ @Version
+ @TableField("version")
+ private Integer version;
+
+ @ApiModelProperty("创建者")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("更新者")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("备注")
+ @TableField("remark")
+ private String remark;
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzWarehouseRecord.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzWarehouseRecord.java
index 95c1e38..19633ab 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzWarehouseRecord.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/HzWarehouseRecord.java
@@ -42,7 +42,7 @@
@TableField("warehouse_id")
private Long warehouseId;
- @ApiModelProperty("存储柜id")
+ @ApiModelProperty(value = "存储柜Id")
@TableField("cupboard_id")
private Long cupboardId;
@@ -54,7 +54,7 @@
@TableField("num")
private Integer num;
- @ApiModelProperty("操作类型(0批量导入,1取用,2归还,3标签作废)")
+ @ApiModelProperty("操作类型(0批量导入,1取用,2归还,3标签作废,5相忌转入,6相忌转出)")
@TableField("state")
private Integer state;
@@ -98,7 +98,6 @@
@ApiModelProperty("仓库对象")
@TableField(exist = false)
private HzWarehouse warehouse;
-
@ApiModelProperty("存储柜对象")
@TableField(exist = false)
private HzWarehouseCupboard cupboard;
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/TaBooComparison.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/TaBooComparison.java
new file mode 100644
index 0000000..635ec67
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/TaBooComparison.java
@@ -0,0 +1,49 @@
+package com.gkhy.hazmat.system.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.gkhy.hazmat.common.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+
+@Getter
+@Setter
+@TableName("taboo_comparison")
+@ApiModel(value = "TaBooComparison对象", description = "禁忌属性参照表")
+@JsonInclude(NON_NULL)
+public class TaBooComparison extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ private Long id;
+ @NotNull(message = "类型不能为空")
+ @ApiModelProperty("类型1:禁忌2:消3:分")
+ @TableField("warning_type")
+ private Long warningType;
+
+// @NotEmpty(message = "唯一编码不能为空")
+ @ApiModelProperty("唯一编码下划线拼接(左编码_上编码)")
+ @TableField("unique_code")
+ private String uniqueCode;
+
+ @NotEmpty(message = "左编码")
+ @ApiModelProperty("左编码")
+ @TableField("left_code")
+ private String leftCode;
+
+ @NotEmpty(message = "上编码")
+ @ApiModelProperty("上编码")
+ @TableField("top_code")
+ private String topCode;
+
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzEntryTransferVO.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzEntryTransferVO.java
new file mode 100644
index 0000000..c2c65b0
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzEntryTransferVO.java
@@ -0,0 +1,30 @@
+package com.gkhy.hazmat.system.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+
+@Getter
+@Setter
+@JsonInclude(NON_NULL)
+@ApiModel(value = "HzEntryTransferVO对象", description = "相忌危化品转储存柜")
+public class HzEntryTransferVO {
+
+ @ApiModelProperty(value = "数据id")
+ @NotNull
+ private Long id;
+
+ @ApiModelProperty(value = "仓库id")
+ @NotNull
+ private Long warehouseId;
+
+ @ApiModelProperty(value = "存储柜Id")
+ @NotNull
+ private Long cupboardId;
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzHazmatWarehouseVO.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzHazmatWarehouseVO.java
index d131870..1c17740 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzHazmatWarehouseVO.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzHazmatWarehouseVO.java
@@ -29,6 +29,9 @@
@ApiModelProperty("仓库id")
private Long warehouseId;
+ @ApiModelProperty("存储柜id")
+ private Integer cupboardId;
+
@ApiModelProperty("库存数量")
private Integer stock;
@@ -40,4 +43,7 @@
@ApiModelProperty("仓库名称")
private String warehouseName;
+
+ @ApiModelProperty("存储柜名称")
+ private String cupboardName;
}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzTabooWarningVO.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzTabooWarningVO.java
new file mode 100644
index 0000000..e4e6486
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/HzTabooWarningVO.java
@@ -0,0 +1,69 @@
+package com.gkhy.hazmat.system.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
+
+@Getter
+@Setter
+@JsonInclude(NON_NULL)
+public class HzTabooWarningVO {
+
+ private Long id;
+
+ @ApiModelProperty(value = "入库id")
+ private Long entryId;
+
+ @ApiModelProperty("类型1:禁忌2:消3:分")
+ private Long warningType;
+
+ @ApiModelProperty("相忌危化品基础数据id")
+ private Long tabooBasicId;
+
+ @ApiModelProperty("相忌危化品基础数据名称")
+ private String tabooBasicName;
+
+ @ApiModelProperty("状态(0未处理,1已处理)")
+ private Integer state;
+
+ @ApiModelProperty(value = "仓库id")
+ private Long warehouseId;
+
+ @ApiModelProperty(value = "仓库名称")
+ private String warehouseName;
+
+ @ApiModelProperty(value = "存储柜Id")
+ private Long cupboardId;
+
+ @ApiModelProperty(value = "存储柜")
+ private String cupboardName;
+
+ @ApiModelProperty("危化品基础数据id")
+ private Long basicId;
+
+ @ApiModelProperty("危化品基础数据名称")
+ private String basicName;
+
+ @ApiModelProperty("创建者")
+ private String createBy;
+
+ @ApiModelProperty("创建时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("更新者")
+ private String updateBy;
+
+ @ApiModelProperty("更新时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("备注")
+ private String remark;
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/TabooDisVo.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/TabooDisVo.java
new file mode 100644
index 0000000..d6e4745
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/domain/vo/TabooDisVo.java
@@ -0,0 +1,9 @@
+package com.gkhy.hazmat.system.domain.vo;
+
+import lombok.Data;
+
+@Data
+public class TabooDisVo {
+ private String spNum;
+ private Long id;
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzHazmatMapper.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzHazmatMapper.java
index edcd9f8..26d1f42 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzHazmatMapper.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzHazmatMapper.java
@@ -5,10 +5,12 @@
import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO;
import com.gkhy.hazmat.system.domain.vo.HzHazmatUseVO;
import com.gkhy.hazmat.system.domain.vo.HzHazmatWarehouseVO;
+import com.gkhy.hazmat.system.domain.vo.TabooDisVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -42,7 +44,17 @@
* @param companyId
* @return
*/
- Integer selectHazmatCountOfWarehouse(@Param("warehouseId") Long warehouseId, @Param("basicId")Long basicId, @Param("companyId")Long companyId);
+ Integer selectHazmatCountOfWarehouse(@Param("warehouseId") Long warehouseId, @Param("basicId")Long basicId, @Param("companyId")Long companyId,
+ @Param("cupboardId") Long cupboardId);
+ /**
+ * 获取指定仓库库存
+ * @param warehouseId
+ * @param basicId
+ * @param companyId
+ * @return
+ */
+ List<TabooDisVo> selectHazmatWarehouseCheck(@Param("warehouseId") Long warehouseId, @Param("companyId")Long companyId,
+ @Param("cupboardId") Long cupboardId);
/**
* 根据条码code查询危化品信息
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzTabooWarningMapper.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzTabooWarningMapper.java
new file mode 100644
index 0000000..c5a35f7
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzTabooWarningMapper.java
@@ -0,0 +1,29 @@
+package com.gkhy.hazmat.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.hazmat.system.domain.HzEntryRecord;
+import com.gkhy.hazmat.system.domain.HzTabooWarning;
+import com.gkhy.hazmat.system.domain.vo.HzEntryRecordVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 入库记录表 Mapper 接口
+ * </p>
+ *
+ * @author kzy
+ * @since 2024-08-06 10:33:05
+ */
+@Mapper
+public interface HzTabooWarningMapper extends BaseMapper<HzTabooWarning> {
+ /**
+ * 分页获取入库记录
+ * @param hzTabooWarning
+ * @return
+ */
+ List<HzTabooWarning> selectHzTabooWarningList(HzTabooWarning hzTabooWarning);
+
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzWarehouseMapper.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzWarehouseMapper.java
index 0576307..ddfac15 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzWarehouseMapper.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/HzWarehouseMapper.java
@@ -56,4 +56,6 @@
int deleteByCupboardId(Long cupboardId);
List<HzWarehouseCupboard> selectByWarehouseId(Long id);
+
+ List<HzWarehouseCupboard> selectByCupboardIds(List<Integer> ids);
}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysCompanyMapper.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysCompanyMapper.java
index af18e12..6909201 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysCompanyMapper.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysCompanyMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.hazmat.system.domain.SysCompany;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Update;
import java.util.List;
@@ -53,4 +54,8 @@
* @return
*/
SysCompany checkCodeUnique(String code);
+
+
+ @Update("${sql}")
+ void execute(String sql);
}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysConfigMapper.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysConfigMapper.java
index b82f791..e6bccba 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysConfigMapper.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/SysConfigMapper.java
@@ -2,6 +2,7 @@
import com.gkhy.hazmat.system.domain.SysConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.hazmat.system.domain.TaBooComparison;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@@ -37,4 +38,6 @@
* @return
*/
SysConfig getConfigByCompanyId(Long companyId);
+
+ List<TaBooComparison> selectTaBooComparison();
}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/TaBooComparisonMapper.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/TaBooComparisonMapper.java
new file mode 100644
index 0000000..b3be5f0
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/mapper/TaBooComparisonMapper.java
@@ -0,0 +1,25 @@
+package com.gkhy.hazmat.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.hazmat.system.domain.SysConfig;
+import com.gkhy.hazmat.system.domain.TaBooComparison;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 系统配置表 Mapper 接口
+ * </p>
+ *
+ * @author kzy
+ * @since 2023-11-13 08:39:55
+ */
+@Mapper
+public interface TaBooComparisonMapper extends BaseMapper<TaBooComparison> {
+
+
+ List<TaBooComparison> selectTaBooComparison();
+
+ List<TaBooComparison> selectTaBooComparisonList(TaBooComparison taBooComparison);
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/SysCompanyService.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/SysCompanyService.java
index dbd9cdd..6ef9912 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/SysCompanyService.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/SysCompanyService.java
@@ -65,4 +65,6 @@
*/
public boolean checkNameUnique(SysCompany company);
+
+ public void createProductTables(Long companyId);
}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TaBooComparisonService.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TaBooComparisonService.java
new file mode 100644
index 0000000..ef5aa4f
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TaBooComparisonService.java
@@ -0,0 +1,50 @@
+
+package com.gkhy.hazmat.system.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.hazmat.common.api.CommonPage;
+import com.gkhy.hazmat.system.domain.SysConfig;
+import com.gkhy.hazmat.system.domain.TaBooComparison;
+
+/**
+ * <p>
+ * 系统配置表 服务类
+ * </p>
+ *
+ * @author kzy
+ * @since 2023-11-13 08:39:55
+ */
+public interface TaBooComparisonService extends IService<TaBooComparison> {
+ /**
+ * 获取参数配置列表
+ * @param taBooComparison
+ * @return
+ */
+ public CommonPage selectTaBooComparisonList(TaBooComparison taBooComparison);
+
+ /**
+ * 新增参数配置
+ * @param taBooComparison
+ * @return
+ */
+ public int insertTaBooComparison(TaBooComparison taBooComparison);
+
+ /**
+ * 更新参数配置
+ * @param taBooComparison
+ * @return
+ */
+ public int updateTaBooComparison(TaBooComparison taBooComparison);
+
+ /**
+ * 删除参数配置信息
+ * @param taBooComparisonId
+ * @return
+ */
+ public void deleteTaBooComparisonById(Long taBooComparisonId);
+
+ public void loadingTaBooCache();
+
+
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TabooWarningService.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TabooWarningService.java
new file mode 100644
index 0000000..951ed40
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/TabooWarningService.java
@@ -0,0 +1,34 @@
+
+package com.gkhy.hazmat.system.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.hazmat.common.api.CommonPage;
+import com.gkhy.hazmat.system.domain.HzTabooWarning;
+import com.gkhy.hazmat.system.domain.vo.HzEntryTransferVO;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 系统配置表 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-02-13 08:39:55
+ */
+public interface TabooWarningService extends IService<HzTabooWarning> {
+ /**
+ * 获取相忌警告列表
+ * @param tabooWarning
+ * @return
+ */
+ public CommonPage selectHzTabooWarningPageList(HzTabooWarning tabooWarning);
+
+ List<HzTabooWarning> selectHzTabooWarningList(HzTabooWarning tabooWarning);
+
+ public void doTransfer(HzEntryTransferVO entryTransferVO);
+
+
+
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzEntryRecordServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzEntryRecordServiceImpl.java
index e3218dc..2fb7c5c 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzEntryRecordServiceImpl.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzEntryRecordServiceImpl.java
@@ -2,9 +2,11 @@
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.hazmat.common.api.CommonPage;
import com.gkhy.hazmat.common.config.IdTableNameHandler;
+import com.gkhy.hazmat.common.constant.Constant;
import com.gkhy.hazmat.common.domain.entity.SysUser;
import com.gkhy.hazmat.common.enums.CodePrexEnum;
import com.gkhy.hazmat.common.enums.EntryStateEnum;
@@ -12,23 +14,24 @@
import com.gkhy.hazmat.common.enums.UserTypeEnum;
import com.gkhy.hazmat.common.exception.ApiException;
import com.gkhy.hazmat.common.listener.CustomEventPublisher;
+import com.gkhy.hazmat.common.service.RedisService;
import com.gkhy.hazmat.common.utils.PageUtils;
import com.gkhy.hazmat.common.utils.SecurityUtils;
import com.gkhy.hazmat.common.utils.StringUtils;
import com.gkhy.hazmat.system.domain.*;
+import com.gkhy.hazmat.system.domain.vo.TabooDisVo;
import com.gkhy.hazmat.system.mapper.*;
import com.gkhy.hazmat.system.service.HzEntryRecordService;
import com.gkhy.hazmat.system.service.HzHazmatService;
+import com.gkhy.hazmat.system.service.TabooWarningService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.time.LocalDateTime;
+import java.util.*;
/**
* <p>
@@ -52,6 +55,13 @@
private CustomEventPublisher customEventPublisher;
@Autowired
private SysCompanyMapper companyMapper;
+ @Autowired
+ private RedisService redisService;
+// @Autowired
+// private TabooWarningService tabooWarningService;
+
+ @Autowired
+ private HzTabooWarningMapper tabooWarningMapper;
@Override
public CommonPage selectEntryRecordList(HzEntryRecord entryRecord) {
@@ -154,11 +164,12 @@
throw new ApiException("危化品基础数据不存在");
}
+
// synchronized (this) {
//获取当前仓库库存
//设置分表id
IdTableNameHandler.setCurrentId(currentUser.getCompanyId());
- int count = hazmatMapper.selectHazmatCountOfWarehouse(entryRecord.getWarehouseId(), hazmatBasic.getId(), currentUser.getCompanyId());
+ int count = hazmatMapper.selectHazmatCountOfWarehouse(entryRecord.getWarehouseId(), hazmatBasic.getId(), currentUser.getCompanyId(), entryRecord.getCupboardId());
//新增危化品变动记录
HzWarehouseRecord warehouseRecord = new HzWarehouseRecord()
.setWarehouseId(entryRecord.getWarehouseId())
@@ -169,7 +180,61 @@
.setCreateId(currentUser.getId())
.setRemaining(entryRecord.getNum() + count);
warehouseRecordMapper.insert(warehouseRecord);
- int startCode=entryRecord.getStartCode();
+ // 校验生成相忌数据
+ Map<String, Long> redata = (Map<String, Long>)redisService.get(Constant.TABOO_UNIQUE_KEY);
+ if (!redata.isEmpty()){
+ // 查询对应仓库和柜子的物品信息获取品类 获取相冲相弱相吸相异
+ List<TabooDisVo> collectData =
+ hazmatMapper.selectHazmatWarehouseCheck(entryRecord.getWarehouseId(), currentUser.getCompanyId(), entryRecord.getCupboardId());
+ if (!collectData.isEmpty() && collectData.size() > 0) {
+ for (TabooDisVo collectDatum : collectData) {
+ String key1 = collectDatum.getSpNum() + "_" + hazmatBasic.getPeculiarityNumber();
+ String key2 = hazmatBasic.getPeculiarityNumber() + "_" + collectDatum.getSpNum();
+
+ if (redata.containsKey(key1) || redata.containsKey(key2)) {
+ // 记录数据
+ Long l = redata.get(key1);
+ Long l1 = l == null ? redata.get(key2) : l;
+ HzTabooWarning tabooWarning = new HzTabooWarning()
+ .setWarningType(l1)
+ .setWarehouseId(entryRecord.getWarehouseId())
+ .setCupboardId(entryRecord.getCupboardId())
+ .setEntryId(entryRecord.getId())
+ .setCompanyId(currentUser.getCompanyId())
+ .setTabooBasicId(collectDatum.getId()).setCreateBy(currentUser.getUsername());
+ tabooWarningMapper.insert(tabooWarning);
+ break;
+ }
+ }
+ }
+// if (null != collectData) {
+// Iterator<Map.Entry<String, Integer>> iterator = collectData.entrySet().iterator();
+// while (iterator.hasNext()) {
+// Map.Entry<String, Integer> entry = iterator.next();
+// String key = entry.getKey();
+// Integer value = entry.getValue();
+// Integer i = collectData.get(value);
+// String key1 = value + "_" + hazmatBasic.getPeculiarityNumber();
+// String key2 = hazmatBasic.getPeculiarityNumber() + "_" + value;
+//
+// if (redata.containsKey(key1) || redata.containsKey(key2)) {
+// // 记录数据
+// Long l = redata.get(key1);
+// Long l1 = l == null ? redata.get(key2) : l;
+// HzTabooWarning tabooWarning = new HzTabooWarning()
+// .setWarningType(l1)
+// .setEntryId(entryRecord.getId())
+// .setCompanyId(currentUser.getCompanyId())
+// .setTabooBasicId(i.longValue()).setCreateBy(currentUser.getUsername());
+// tabooWarningMapper.insert(tabooWarning);
+// break;
+// }
+// }
+// }
+ }else {
+ throw new ApiException("危化品相忌信息不存在");
+ }
+ int startCode=entryRecord.getStartCode();
int endCode=entryRecord.getEndCode();
List<HzHazmat> hazmatList = new ArrayList<>();
for (int i = startCode; i <=endCode; i++) {
@@ -178,6 +243,7 @@
hazmatList.add(new HzHazmat().setWarehouseId(entryRecord.getWarehouseId())
.setCupboardId(entryRecord.getCupboardId())
.setBasicId(entryRecord.getBasicId())
+ .setCupboardId(entryRecord.getCupboardId())
.setEntryId(entryRecord.getId())
.setRemaining(hazmatBasic.getMetering())
.setCompanyId(currentUser.getCompanyId())
@@ -213,6 +279,7 @@
});
}
+
@Override
public int updateEntryRecord(HzEntryRecord entryRecord) {
SysUser currentUser = SecurityUtils.getLoginUser().getUser();
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzHazmatServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzHazmatServiceImpl.java
index ef38d6e..ebb6530 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzHazmatServiceImpl.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/HzHazmatServiceImpl.java
@@ -46,6 +46,7 @@
@Autowired
private HzWarehouseMapper warehouseMapper;
+
@Override
public CommonPage selectHazmatList(HzHazmat hzHazmat) {
if(hzHazmat.getWarehouseId()==null||hzHazmat.getBasicId()==null){
@@ -74,19 +75,28 @@
if(!hazmatList.isEmpty()) {
List<Long> warehouseIds = hazmatList.stream().map(HzHazmatWarehouseVO::getWarehouseId).collect(Collectors.toList());
List<Long> basicIds = hazmatList.stream().map(HzHazmatWarehouseVO::getBasicId).collect(Collectors.toList());
+ List<Integer> cupboardIds = hazmatList.stream().map(HzHazmatWarehouseVO::getCupboardId).collect(Collectors.toList());
List<HzHazmatBasic> hazmatBasicList = hazmatBasicMapper.selectHazmatBasicListByIds(basicIds);
List<HzWarehouse> warehouseList = warehouseMapper.selectWarehouseListByIds(warehouseIds);
+ List<HzWarehouseCupboard> hzWarehouseCupboards = warehouseMapper.selectByCupboardIds(cupboardIds);
+
Map<Long,HzHazmatBasic> hazmatBasicMap=hazmatBasicList.stream().collect(Collectors.toMap(HzHazmatBasic::getId, item->item));
Map<Long,HzWarehouse> warehouseMap=warehouseList.stream().collect(Collectors.toMap(HzWarehouse::getId, item->item));
+ Map<Integer, HzWarehouseCupboard> cupboardMap = hzWarehouseCupboards.stream().collect(Collectors.toMap(HzWarehouseCupboard::getId, item -> item));
for(HzHazmatWarehouseVO hazmatWarehouseVO:hazmatList){
HzHazmatBasic hazmatBasic=hazmatBasicMap.get(hazmatWarehouseVO.getBasicId());
HzWarehouse warehouse=warehouseMap.get(hazmatWarehouseVO.getWarehouseId());
+ HzWarehouseCupboard hzWarehouseCupboard = cupboardMap.get(hazmatWarehouseVO.getCupboardId());
if(hazmatBasic!=null){
hazmatWarehouseVO.setHazmatBasic(hazmatBasic);
}
if(warehouse!=null){
hazmatWarehouseVO.setWarehouseName(warehouse.getName());
}
+ if (hzWarehouseCupboard != null){
+ hazmatWarehouseVO.setCupboardName(hzWarehouseCupboard.getCupboardName());
+ }
+
}
}
IdTableNameHandler.removeCurrentId();
@@ -153,7 +163,7 @@
}
checkUserAllowed(hazmat,currentUser);
//获取变动前仓库库存
- int count = baseMapper.selectHazmatCountOfWarehouse(hazmat.getWarehouseId(), hazmat.getBasicId(), currentUser.getCompanyId());
+ int count = baseMapper.selectHazmatCountOfWarehouse(hazmat.getWarehouseId(), hazmat.getBasicId(), currentUser.getCompanyId(),hazmat.getCupboardId());
//生成流向
BigDecimal remaining=hazmat.getRemaining();
@@ -220,7 +230,7 @@
}
checkUserAllowed(dbhazmat,currentUser);
//获取变动前仓库库存
- int count = baseMapper.selectHazmatCountOfWarehouse(dbhazmat.getWarehouseId(), dbhazmat.getBasicId(), currentUser.getCompanyId());
+ int count = baseMapper.selectHazmatCountOfWarehouse(dbhazmat.getWarehouseId(), dbhazmat.getBasicId(), currentUser.getCompanyId(),dbhazmat.getCupboardId());
hazmat.setState(HazmatStatusEnum.USEWAREHOUSEIN.getCode());
hazmat.setUpdateBy(currentUser.getUsername());
updateById(hazmat);
@@ -289,7 +299,7 @@
}
checkUserAllowed(hazmat,currentUser);
//获取变动前仓库库存
- int count = baseMapper.selectHazmatCountOfWarehouse(hazmat.getWarehouseId(), hazmat.getBasicId(), currentUser.getCompanyId());
+ int count = baseMapper.selectHazmatCountOfWarehouse(hazmat.getWarehouseId(), hazmat.getBasicId(), currentUser.getCompanyId(),hazmat.getCupboardId());
hazmat.setState(HazmatStatusEnum.DISCARD.getCode());
hazmat.setUpdateBy(currentUser.getUsername());
updateById(hazmat);
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java
index 9116355..b585b60 100644
--- a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/SysCompanyServiceImpl.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.List;
/**
@@ -25,6 +26,8 @@
@Service
public class SysCompanyServiceImpl extends ServiceImpl<SysCompanyMapper, SysCompany> implements SysCompanyService {
+ @Resource
+ private SysCompanyMapper companyMapper;
@Override
public CommonPage selectCompanyList(SysCompany company) {
@@ -75,6 +78,7 @@
}
+ @Override
public boolean checkNameUnique(SysCompany company){
Long companyId=company.getId()==null?-1L:company.getId();
SysCompany com= baseMapper.checkNameUnique(company.getName());
@@ -85,6 +89,27 @@
}
+ @Override
+ public void createProductTables(Long companyId) {
+ // 这里可以使用 MyBatis-Plus 的动态 SQL 或者直接执行 SQL 语句来创建表
+ // 为了简化示例,我们直接执行 SQL 语句
+ String createProductCategoryTableSql = "CREATE TABLE IF NOT EXISTS product_category_demo"+"_"+companyId+" (" +
+ "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+ "name VARCHAR(255) NOT NULL, " +
+ "company_id BIGINT NOT NULL)";
+ String createProductTableSql = "CREATE TABLE IF NOT EXISTS product_demo"+"_"+companyId+" (" +
+ "id BIGINT AUTO_INCREMENT PRIMARY KEY, " +
+ "name VARCHAR(255) NOT NULL, " +
+ "description TEXT, " +
+ "price DECIMAL(10, 2) NOT NULL, " +
+ "category_id BIGINT NOT NULL)";
+
+ // 执行 SQL 语句
+ companyMapper.execute(createProductCategoryTableSql);
+ companyMapper.execute(createProductTableSql);
+ }
+
+
public boolean checkCodeUnique(SysCompany company){
Long companyId=company.getId()==null?-1L:company.getId();
SysCompany com= baseMapper.checkCodeUnique(company.getCode());
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooComparisonServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooComparisonServiceImpl.java
new file mode 100644
index 0000000..be75604
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooComparisonServiceImpl.java
@@ -0,0 +1,130 @@
+package com.gkhy.hazmat.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.hazmat.common.api.CommonPage;
+import com.gkhy.hazmat.common.constant.Constant;
+import com.gkhy.hazmat.common.domain.entity.SysUser;
+import com.gkhy.hazmat.common.enums.UserTypeEnum;
+import com.gkhy.hazmat.common.exception.ApiException;
+import com.gkhy.hazmat.common.service.RedisService;
+import com.gkhy.hazmat.common.utils.PageUtils;
+import com.gkhy.hazmat.common.utils.SecurityUtils;
+import com.gkhy.hazmat.system.domain.HzProduct;
+import com.gkhy.hazmat.system.domain.SysConfig;
+import com.gkhy.hazmat.system.domain.TaBooComparison;
+import com.gkhy.hazmat.system.mapper.TaBooComparisonMapper;
+import com.gkhy.hazmat.system.service.TaBooComparisonService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 系统配置表 服务实现类
+ * </p>
+ *
+ * @author kzy
+ * @since 2023-11-13 08:39:55
+ */
+@Service
+public class TaBooComparisonServiceImpl extends ServiceImpl<TaBooComparisonMapper, TaBooComparison> implements TaBooComparisonService {
+
+ @Resource
+ private RedisService redisService;
+
+ @PostConstruct
+ public void init(){
+ loadingTaBooCache();
+ }
+
+
+ @Override
+ public CommonPage selectTaBooComparisonList(TaBooComparison taBooComparison) {
+ PageUtils.startPage();
+ List<TaBooComparison> taBooComparisonList=baseMapper.selectTaBooComparisonList(taBooComparison);
+ return CommonPage.restPage(taBooComparisonList);
+ }
+
+ @Override
+ public int insertTaBooComparison(TaBooComparison taBooComparison) {
+ checkUserAllowed();
+ checkData(taBooComparison);
+ taBooComparison.setCreateBy(SecurityUtils.getUsername());
+ taBooComparison.setUniqueCode(taBooComparison.getLeftCode()+"_"+taBooComparison.getTopCode());
+ int row=baseMapper.insert(taBooComparison);
+ if(row<1){
+ throw new ApiException("新增失败");
+ }
+ // 更新缓存
+ loadingTaBooCache();
+ return row;
+ }
+
+ @Override
+ public int updateTaBooComparison(TaBooComparison taBooComparison) {
+ checkUserAllowed();
+ checkData(taBooComparison);
+ taBooComparison.setUpdateBy(SecurityUtils.getUsername());
+ taBooComparison.setUniqueCode(taBooComparison.getLeftCode()+"_"+taBooComparison.getTopCode());
+ int row=baseMapper.updateById(taBooComparison);
+ if(row<1){
+ throw new ApiException("更新失败");
+ }
+ // 更新缓存
+ loadingTaBooCache();
+ return row;
+ }
+
+ public void checkUserAllowed() {
+ if (SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
+ throw new ApiException("管理员不能操作");
+ }
+ }
+ @Override
+ public void loadingTaBooCache(){
+ List<TaBooComparison> taBooComparisons=baseMapper.selectTaBooComparison();
+ Map<String, Long> collect = taBooComparisons.stream()
+ .collect(Collectors.toMap(
+ TaBooComparison::getUniqueCode,
+ TaBooComparison::getWarningType
+ ));
+ redisService.set(Constant.TABOO_UNIQUE_KEY,collect);
+ // DictUtils.setTabooCache("TABOO_UNIQUE_KEY",collect);
+ }
+
+ @Override
+ public void deleteTaBooComparisonById(Long taBooComparisonId) {
+ checkUserAllowed();
+ baseMapper.deleteById(taBooComparisonId);
+ // 更新缓存
+ loadingTaBooCache();
+ }
+
+ private void checkData(TaBooComparison taBooComparison){
+ LambdaQueryWrapper<TaBooComparison> lambdaQueryWrapper = Wrappers.<TaBooComparison>lambdaQuery()
+ .and(wrapper -> wrapper.eq(TaBooComparison::getLeftCode, taBooComparison.getLeftCode())
+ .or()
+ .eq(TaBooComparison::getLeftCode, taBooComparison.getTopCode()))
+ .and(wrapper -> wrapper.eq(TaBooComparison::getTopCode, taBooComparison.getLeftCode())
+ .or()
+ .eq(TaBooComparison::getTopCode, taBooComparison.getTopCode()));
+ if (taBooComparison.getId() != null){
+ lambdaQueryWrapper.ne(TaBooComparison::getId, taBooComparison.getId());
+ }
+ Long l = baseMapper.selectCount(lambdaQueryWrapper);
+ if (l > 0){
+ throw new ApiException("该数据已存在");
+ }
+
+
+
+ }
+
+}
diff --git a/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooWarningServiceImpl.java b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooWarningServiceImpl.java
new file mode 100644
index 0000000..e318f52
--- /dev/null
+++ b/hazmat-system/src/main/java/com/gkhy/hazmat/system/service/impl/TaBooWarningServiceImpl.java
@@ -0,0 +1,198 @@
+package com.gkhy.hazmat.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.hazmat.common.api.CommonPage;
+import com.gkhy.hazmat.common.config.IdTableNameHandler;
+import com.gkhy.hazmat.common.constant.Constant;
+import com.gkhy.hazmat.common.domain.entity.SysUser;
+import com.gkhy.hazmat.common.enums.EntryStateEnum;
+import com.gkhy.hazmat.common.enums.UserTypeEnum;
+import com.gkhy.hazmat.common.enums.WarehouseRecordEnum;
+import com.gkhy.hazmat.common.exception.ApiException;
+import com.gkhy.hazmat.common.service.RedisService;
+import com.gkhy.hazmat.common.utils.PageUtils;
+import com.gkhy.hazmat.common.utils.SecurityUtils;
+import com.gkhy.hazmat.system.domain.*;
+import com.gkhy.hazmat.system.domain.vo.HzEntryTransferVO;
+import com.gkhy.hazmat.system.domain.vo.TabooDisVo;
+import com.gkhy.hazmat.system.mapper.*;
+import com.gkhy.hazmat.system.service.HzEntryRecordService;
+import com.gkhy.hazmat.system.service.HzHazmatService;
+import com.gkhy.hazmat.system.service.TaBooComparisonService;
+import com.gkhy.hazmat.system.service.TabooWarningService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 系统配置表 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-02-13 08:39:55
+ */
+@Service
+public class TaBooWarningServiceImpl extends ServiceImpl<HzTabooWarningMapper, HzTabooWarning> implements TabooWarningService {
+
+ @Autowired
+ private RedisService redisService;
+ @Autowired
+ private HzHazmatService hazmatService;
+ @Autowired
+ private HzHazmatBasicMapper hazmatBasicMapper;
+ @Autowired
+ private HzHazmatMapper hazmatMapper;
+ @Autowired
+ private HzWarehouseRecordMapper warehouseRecordMapper;
+ @Autowired
+ private HzEntryRecordService entryRecordService;
+
+
+ @Override
+ public CommonPage selectHzTabooWarningPageList(HzTabooWarning hzTabooWarning) {
+ PageUtils.startPage();
+ SysUser currentUser=SecurityUtils.getLoginUser().getUser();
+ hzTabooWarning.setCompanyId(currentUser.getCompanyId());
+ List<HzTabooWarning> hzTabooWarnings = baseMapper.selectHzTabooWarningList(hzTabooWarning);
+ return CommonPage.restPage(hzTabooWarnings);
+ }
+
+ @Override
+ public List<HzTabooWarning> selectHzTabooWarningList(HzTabooWarning tabooWarning) {
+ SysUser currentUser=SecurityUtils.getLoginUser().getUser();
+ tabooWarning.setCompanyId(currentUser.getCompanyId());
+ tabooWarning.setState(0);
+ return baseMapper.selectHzTabooWarningList(tabooWarning);
+ }
+
+
+ @Override
+ @Transactional(rollbackFor = RuntimeException.class)
+ public void doTransfer(HzEntryTransferVO entryTransferVO) {
+ HzTabooWarning hzTabooWarning = baseMapper.selectById(entryTransferVO.getId());
+ if (hzTabooWarning == null){
+ throw new ApiException("相忌报警信息不存在");
+ }
+ Long entryId = hzTabooWarning.getEntryId();
+
+ HzEntryRecord entryRecord=entryRecordService.getById(entryId);
+ if (entryRecord == null){
+ throw new ApiException("入库信息不存在");
+ }
+ if (!entryRecord.getState().toString().equals(EntryStateEnum.ENTER.getCode().toString())){
+ throw new ApiException("入库状态不正确");
+ }
+ if (entryRecord.getCupboardId().equals(entryTransferVO.getCupboardId())){
+ throw new ApiException("不能转入原存储柜");
+ }
+ SysUser currentUser=SecurityUtils.getLoginUser().getUser();
+ checkUserAllowed(entryRecord,currentUser);
+ HzHazmatBasic hazmatBasic=hazmatBasicMapper.selectById(entryRecord.getBasicId());
+ if(hazmatBasic==null){
+ throw new ApiException("危化品基础数据不存在");
+ }
+
+ //获取当前仓库库存
+ //设置分表id
+ IdTableNameHandler.setCurrentId(currentUser.getCompanyId());
+
+
+ int countOut = hazmatMapper.selectHazmatCountOfWarehouse(entryRecord.getWarehouseId(), hazmatBasic.getId(), currentUser.getCompanyId(), entryRecord.getCupboardId());
+
+ //新增危化品变动记录转出
+ HzWarehouseRecord warehouseRecordOut = new HzWarehouseRecord()
+ .setWarehouseId(entryRecord.getWarehouseId())
+ .setCupboardId(entryRecord.getCupboardId())
+ .setBasicId(hazmatBasic.getId())
+ .setNum(entryRecord.getNum())
+ .setCompanyId(currentUser.getCompanyId())
+ .setCreateId(currentUser.getId())
+ .setRemaining(countOut - entryRecord.getNum())
+ .setState(WarehouseRecordEnum.TRANSFEROUT.getCode());
+ warehouseRecordMapper.insert(warehouseRecordOut);
+
+
+ int count = hazmatMapper.selectHazmatCountOfWarehouse(entryTransferVO.getWarehouseId(), hazmatBasic.getId(), currentUser.getCompanyId(), entryTransferVO.getCupboardId());
+ //新增危化品变动记录转入
+ HzWarehouseRecord warehouseRecord = new HzWarehouseRecord()
+ .setWarehouseId(entryTransferVO.getWarehouseId())
+ .setCupboardId(entryTransferVO.getCupboardId())
+ .setBasicId(hazmatBasic.getId())
+ .setNum(entryRecord.getNum())
+ .setCompanyId(currentUser.getCompanyId())
+ .setCreateId(currentUser.getId())
+ .setRemaining(entryRecord.getNum() + count)
+ .setState(WarehouseRecordEnum.TRANSFERIN.getCode());
+ warehouseRecordMapper.insert(warehouseRecord);
+
+ // 校验生成相忌数据
+ Map<String, Long> redata = (Map<String, Long>)redisService.get(Constant.TABOO_UNIQUE_KEY);
+ if (!redata.isEmpty()){
+ // 查询对应仓库和柜子的物品信息获取品类 获取相冲相弱相吸相异
+ List<TabooDisVo> collectData =
+ hazmatMapper.selectHazmatWarehouseCheck(entryTransferVO.getWarehouseId(), currentUser.getCompanyId(), entryTransferVO.getCupboardId());
+ if (!collectData.isEmpty() && collectData.size() > 0) {
+ for (TabooDisVo collectDatum : collectData) {
+ String key1 = collectDatum.getSpNum() + "_" + hazmatBasic.getPeculiarityNumber();
+ String key2 = hazmatBasic.getPeculiarityNumber() + "_" + collectDatum.getSpNum();
+
+ if (redata.containsKey(key1) || redata.containsKey(key2)) {
+ // 记录数据
+ Long l = redata.get(key1);
+ Long l1 = l == null ? redata.get(key2) : l;
+ HzTabooWarning tabooWarning = new HzTabooWarning()
+ .setWarningType(l1)
+ .setWarehouseId(entryTransferVO.getWarehouseId())
+ .setCupboardId(entryTransferVO.getCupboardId())
+ .setEntryId(entryRecord.getId())
+ .setCompanyId(currentUser.getCompanyId())
+ .setTabooBasicId(collectDatum.getId()).setCreateBy(currentUser.getUsername());
+ baseMapper.insert(tabooWarning);
+ break;
+ }
+ }
+ }
+
+ }else {
+ throw new ApiException("危化品相忌信息不存在");
+ }
+ //更新危化品信息
+ hazmatService.update(new LambdaUpdateWrapper<HzHazmat>().eq(HzHazmat::getEntryId,entryRecord.getId())
+ .set(HzHazmat::getWarehouseId,entryTransferVO.getWarehouseId())
+ .set(HzHazmat::getCupboardId,entryTransferVO.getCupboardId())
+ .set(HzHazmat::getUpdateBy,currentUser.getUsername()));
+
+ // }
+ //更新入库记录状态
+ entryRecordService.update(new LambdaUpdateWrapper<HzEntryRecord>()
+ .eq(HzEntryRecord::getId,entryRecord.getId()).set(HzEntryRecord::getWarehouseId,entryTransferVO.getWarehouseId())
+ .set(HzEntryRecord::getCupboardId,entryTransferVO.getCupboardId())
+ .set(HzEntryRecord::getUpdateBy,currentUser.getUsername()));
+ IdTableNameHandler.removeCurrentId();
+
+ //处理数据本身
+
+ baseMapper.updateById(new HzTabooWarning().setState(1).setUpdateBy(currentUser.getUsername()).setId(entryTransferVO.getId()));
+
+ }
+ public void checkUserAllowed(HzEntryRecord entryRecord,SysUser user) {
+ if (user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())) {
+ throw new ApiException("管理员不能操作");
+ }
+ if(entryRecord!=null){
+ if(!Objects.equals(user.getCompanyId(), entryRecord.getCompanyId())){
+ throw new ApiException("无权限操作其他企业数据");
+ }
+ }
+ }
+
+}
diff --git a/hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml b/hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml
index ab87626..34dfdd3 100644
--- a/hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml
+++ b/hazmat-system/src/main/resources/mapper/system/HzHazmatMapper.xml
@@ -39,8 +39,8 @@
<sql id="selectHazmatVo">
select a.id, a.basic_id, a.warehouse_id, a.code,a.remaining, a.state,a.company_id,a.version, a.create_by, a.create_time, a.update_by, a.update_time, a.remark,
b.id as basic_id,b.name as basic_name,b.cas as basic_cas,b.hazmat_type as basic_hazmat_type,b.hazmat_character as basic_hazmat_character,
- b.supplier as basic_supplier,b.manufacturer as basic_manufacturer,b.metering as basic_metering,b.unit as basic_unit,b.product_sn,
- b.min_package as basic_min_package,c.name as warehouse_name,d.cupboard_name
+ b.supplier as basic_supplier,b.manufacturer as basic_manufacturer,b.metering as basic_metering,b.unit as basic_unit,
+ b.product_sn,b.min_package as basic_min_package,c.name as warehouse_name,d.cupboard_name as cupboard_name
from hz_hazmat a
left join hz_hazmat_basic b on b.id=a.basic_id
left join hz_warehouse c on c.id=a.warehouse_id
@@ -76,7 +76,7 @@
</select>
<select id="selectHazmatGroupWareHouse" resultType="com.gkhy.hazmat.system.domain.vo.HzHazmatWarehouseVO">
- select a.basic_id,a.warehouse_id,
+ select a.basic_id,a.warehouse_id,a.cupboard_id,
(select count(1) from hz_hazmat where state=0 and basic_id=a.basic_id and warehouse_id=a.warehouse_id) as stock,
(select count(1) from hz_hazmat where state=1 and basic_id=a.basic_id and warehouse_id=a.warehouse_id) as miss_stock
from hz_hazmat a
@@ -102,7 +102,7 @@
</if>
and a.del_flag=0
</where>
- group by a.basic_id,a.warehouse_id
+ group by a.basic_id,a.warehouse_id, a.cupboard_id
</select>
@@ -110,7 +110,16 @@
<select id="selectHazmatCountOfWarehouse" resultType="integer">
select count(a.id) from hz_hazmat a
inner join hz_hazmat_basic b on b.id=basic_id
- where a.warehouse_id=#{warehouseId} and b.id=#{basicId} and a.company_id=#{companyId} and b.company_id=#{companyId} and a.del_flag=0 and (a.state=0 or a.state=1)
+ where a.warehouse_id=#{warehouseId} and b.id=#{basicId} and a.company_id=#{companyId} and b.company_id=#{companyId}
+ and a.del_flag=0 and (a.state=0 or a.state=1) and a.cupboard_id = #{cupboardId}
+ </select>
+
+
+ <select id="selectHazmatWarehouseCheck" resultType="com.gkhy.hazmat.system.domain.vo.TabooDisVo">
+ select DISTINCT b.peculiarity_number spNum ,b.id from hz_hazmat a
+ inner join hz_hazmat_basic b on b.id=basic_id
+ where a.warehouse_id=#{warehouseId} and a.company_id=#{companyId} and b.company_id=#{companyId}
+ and a.del_flag=0 and (a.state=0 or a.state=1) and a.cupboard_id = #{cupboardId}
</select>
<select id="selectHazmatByCode" resultMap="HzHazmatResult">
diff --git a/hazmat-system/src/main/resources/mapper/system/HzTabooWarningMapper.xml b/hazmat-system/src/main/resources/mapper/system/HzTabooWarningMapper.xml
new file mode 100644
index 0000000..3d734d0
--- /dev/null
+++ b/hazmat-system/src/main/resources/mapper/system/HzTabooWarningMapper.xml
@@ -0,0 +1,60 @@
+<?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.gkhy.hazmat.system.mapper.HzTabooWarningMapper">
+ <resultMap type="com.gkhy.hazmat.system.domain.vo.HzTabooWarningVO" id="HzTabooWarningResult">
+ <result property="id" column="id" />
+ <result property="state" column="state" />
+ <result property="tabooBasicId" column="taboo_basic_id" />
+ <result property="basicId" column="basic_id" />
+<!-- <result property="companyId" column="company_id" />-->
+ <result property="tabooBasicName" column="taboo_basic_name" />
+ <result property="cupboardName" column="cupboard_name" />
+ <result property="warehouseId" column="warehouse_id" />
+ <result property="cupboardId" column="cupboard_id" />
+<!-- <result property="version" column="version" />-->
+ <result property="createBy" column="create_by" />
+ <result property="createTime" column="create_time" />
+ <result property="updateBy" column="update_by" />
+ <result property="updateTime" column="update_time" />
+ <result property="remark" column="remark" />
+ <result property="basicName" column="basic_name" />
+ <result property="warehouseName" column="warehouse_name" />
+ </resultMap>
+
+
+ <sql id="selectHzTabooWarningVo">
+ select aa.id,aa.warning_type,aa.state,aa.taboo_basic_id,aa.create_by,aa.create_time,aa.update_time,
+ aa.update_by,aa.version,aa.warehouse_id,a.basic_id,a.company_id,
+ b.name as basic_name,
+ c.name as warehouse_name,aa.cupboard_id,d.cupboard_name as cupboard_name,bb.name as taboo_basic_name
+ from hz_taboo_warning aa
+ left join hz_entry_record a on aa.entry_id=a.id
+ left join hz_hazmat_basic b on b.id=a.basic_id
+ left join hz_warehouse c on c.id=aa.warehouse_id
+ left join hz_warehouse_cupboard d on d.id=aa.cupboard_id
+ left join hz_hazmat_basic bb on bb.id=aa.taboo_basic_id
+ </sql>
+ <select id="selectHzTabooWarningList" resultMap="HzTabooWarningResult"
+ parameterType="com.gkhy.hazmat.system.domain.HzEntryRecord">
+ <include refid="selectHzTabooWarningVo"/>
+ <where>
+ and aa.del_flag = 0
+ <if test="companyId != null">
+ AND aa.company_id= #{companyId}
+ </if>
+ <if test="state != null">
+ AND aa.state= #{state}
+ </if>
+
+ <if test="warningType != null and warningType == 1">
+ AND aa.warning_type = 1
+ </if>
+ <if test="warningType != null and warningType == 2">
+ AND aa.warning_type != 1
+ </if>
+ </where>
+ order by aa.state asc,aa.warning_type asc,aa.create_time desc
+ </select>
+
+
+</mapper>
diff --git a/hazmat-system/src/main/resources/mapper/system/HzWarehouseMapper.xml b/hazmat-system/src/main/resources/mapper/system/HzWarehouseMapper.xml
index 5f213fe..3ce1a83 100644
--- a/hazmat-system/src/main/resources/mapper/system/HzWarehouseMapper.xml
+++ b/hazmat-system/src/main/resources/mapper/system/HzWarehouseMapper.xml
@@ -88,6 +88,14 @@
#{warehouse}
</foreach>
</select>
+
+
+ <select id="selectByCupboardIds" resultType="com.gkhy.hazmat.system.domain.HzWarehouseCupboard">
+ select id,cupboard_name from hz_warehouse_cupboard where del_flag=0 and id in
+ <foreach collection="ids" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </select>
<select id="selectByWarehouseIdAndCupboardName" resultType="com.gkhy.hazmat.system.domain.HzWarehouseCupboard">
SELECT
id,
diff --git a/hazmat-system/src/main/resources/mapper/system/HzWarehouseRecordMapper.xml b/hazmat-system/src/main/resources/mapper/system/HzWarehouseRecordMapper.xml
index aa92cb7..03788da 100644
--- a/hazmat-system/src/main/resources/mapper/system/HzWarehouseRecordMapper.xml
+++ b/hazmat-system/src/main/resources/mapper/system/HzWarehouseRecordMapper.xml
@@ -5,6 +5,7 @@
<result property="id" column="id" />
<result property="basicId" column="basic_id" />
<result property="warehouseId" column="warehouse_id" />
+ <result property="cupboardId" column="cupboard_id" />
<result property="remaining" column="remaining" />
<result property="num" column="num" />
<result property="state" column="state" />
diff --git a/hazmat-system/src/main/resources/mapper/system/TaBooComparisonMapper.xml b/hazmat-system/src/main/resources/mapper/system/TaBooComparisonMapper.xml
new file mode 100644
index 0000000..486f088
--- /dev/null
+++ b/hazmat-system/src/main/resources/mapper/system/TaBooComparisonMapper.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gkhy.hazmat.system.mapper.TaBooComparisonMapper">
+ <select id="selectTaBooComparison" resultType="com.gkhy.hazmat.system.domain.TaBooComparison">
+ select * from taboo_comparison
+ </select>
+
+
+ <select id="selectTaBooComparisonList" resultType="com.gkhy.hazmat.system.domain.TaBooComparison" parameterType="com.gkhy.hazmat.system.domain.TaBooComparison">
+ select * from taboo_comparison
+ <where>
+ <if test="warningType !=null">
+ and warning_type = #{warningType}
+ </if>
+ <if test="leftCode !=null and leftCode != ''">
+ and left_code = #{leftCode}
+ </if>
+ <if test="topCode !=null and topCode != ''">
+ and top_code = #{topCode}
+ </if>
+ <if test="uniqueCode !=null and uniqueCode != ''">
+ and unique_code = #{uniqueCode}
+ </if>
+ </where>
+ order by create_time desc
+ </select>
+</mapper>
--
Gitblit v1.9.2