From 996c091a4913ac768324b7ea69a8494ba9d6ece0 Mon Sep 17 00:00:00 2001 From: heheng <heheng@123456> Date: 星期三, 26 二月 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