From 75457dcca0c3e93b598822bdb49014b25c428687 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 20 Aug 2025 17:27:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(ruoyi-api):=20=E6=B7=BB=E5=8A=A0=20hwmom-a?= =?UTF-8?q?pi-wms=20=E6=A8=A1=E5=9D=97=EF=BC=8C=E5=AE=9E=E7=8E=B0=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E7=94=9F=E6=88=90=E7=9B=98=E7=82=B9?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E4=B8=BB=E5=AD=90=E8=A1=A8=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E7=9B=98=E7=82=B9=E4=BB=BB=E5=8A=A1=E7=9A=84=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E5=94=AF=E4=B8=80=E3=80=81=E5=90=8D=E7=A7=B0=E5=94=AF?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新建 hwmom-api-wms 模块 - 在 ruoyi-api 的 pom.xml 文件中添加了 hwmom-api-wms 模块 - 盘点工单WmsInventoryCheck的盘点类型checkType按照新的设置,抽检/盘点 - 新建WmsCheckTaskExecutor("wsmCheckTsk")定时任务执行器 - 新建RemoteInventoryCheckServiceImpl.wmsInventoryCheck服务 - 新建WmsCheckTaskExecutor调用RemoteInventoryCheckServiceImpl.wmsInventoryCheck定时生成盘点工单 --- ruoyi-api/hwmom-api-wms/pom.xml | 42 ++ .../wms/api/RemoteInventoryCheckService.java | 9 + ruoyi-api/pom.xml | 1 + .../hwmom-qms/src/main/resources/QSM.SQL | 459 ----------------- .../src/main/resources/qms新建表结构.sql | 471 ------------------ .../dromara/wms/domain/WmsInventoryCheck.java | 10 +- .../wms/domain/bo/WmsInventoryCheckBo.java | 10 +- .../wms/domain/vo/WmsInventoryCheckVo.java | 12 +- .../RemoteInventoryCheckServiceImpl.java | 193 +++++++ .../service/impl/WmsCheckTaskServiceImpl.java | 22 + .../job/snailjob/WmsCheckTaskExecutor.java | 47 ++ 11 files changed, 328 insertions(+), 948 deletions(-) create mode 100644 ruoyi-api/hwmom-api-wms/pom.xml create mode 100644 ruoyi-api/hwmom-api-wms/src/main/java/org/dromara/wms/api/RemoteInventoryCheckService.java delete mode 100644 ruoyi-modules/hwmom-qms/src/main/resources/QSM.SQL delete mode 100644 ruoyi-modules/hwmom-qms/src/main/resources/qms新建表结构.sql create mode 100644 ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/dubbo/RemoteInventoryCheckServiceImpl.java create mode 100644 ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java diff --git a/ruoyi-api/hwmom-api-wms/pom.xml b/ruoyi-api/hwmom-api-wms/pom.xml new file mode 100644 index 00000000..8a551c02 --- /dev/null +++ b/ruoyi-api/hwmom-api-wms/pom.xml @@ -0,0 +1,42 @@ + + + + org.dromara + ruoyi-api + ${revision} + + 4.0.0 + + hwmom-api-wms + + + hwmom-api-wms wms接口模块 + + + + + + + org.dromara + ruoyi-common-core + + + + org.dromara + ruoyi-common-excel + + + org.projectlombok + lombok + provided + + + com.aizuda + snail-job-client-job-core + + + + + diff --git a/ruoyi-api/hwmom-api-wms/src/main/java/org/dromara/wms/api/RemoteInventoryCheckService.java b/ruoyi-api/hwmom-api-wms/src/main/java/org/dromara/wms/api/RemoteInventoryCheckService.java new file mode 100644 index 00000000..b6487068 --- /dev/null +++ b/ruoyi-api/hwmom-api-wms/src/main/java/org/dromara/wms/api/RemoteInventoryCheckService.java @@ -0,0 +1,9 @@ +package org.dromara.wms.api; + +import org.dromara.common.core.domain.R; + +public interface RemoteInventoryCheckService { + + public R wmsInventoryCheck(String planCode, String tenantId, Long userId); + +} diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index 10a5bd0a..d403512e 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -19,6 +19,7 @@ hwmom-api-dms ruoyi-api-job + hwmom-api-wms ruoyi-api diff --git a/ruoyi-modules/hwmom-qms/src/main/resources/QSM.SQL b/ruoyi-modules/hwmom-qms/src/main/resources/QSM.SQL deleted file mode 100644 index 444e48ff..00000000 --- a/ruoyi-modules/hwmom-qms/src/main/resources/QSM.SQL +++ /dev/null @@ -1,459 +0,0 @@ --- 1. 品级信息表(存储产品各工序的品级定义信息) -CREATE TABLE qc_grade_info ( - grade_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 品级主键 - tenant_id VARCHAR(32) NOT NULL, -- 租户号 - grade_code VARCHAR(30) NOT NULL, -- 品级代号 - grade_name VARCHAR(255) NOT NULL, -- 品级名称 - operation_code VARCHAR(50), -- 工序编码 - operation_name VARCHAR(255), -- 工序名称(关联基础数据工序信息表) - workshop VARCHAR(50), -- 车间/工程(关联车间信息表) - factory_name VARCHAR(255), -- 工厂名称(关联工厂信息表) - sort INT, -- 品级排序 - status CHAR(1), -- 状态(正常/停用) - create_dept VARCHAR(255), -- 创建部门 - create_by VARCHAR(32), -- 创建人 - create_time DATETIME, -- 创建时间 - update_by VARCHAR(32), -- 修改人 - update_time DATETIME, -- 修改时间 - remark VARCHAR(255), -- 备注 - attr1 VARCHAR(255), -- 预留字段1 - attr2 VARCHAR(255), -- 预留字段2 - attr3 VARCHAR(255) -- 预留字段3 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储产品各工序的品级定义信息,如合格、不良品、废品等', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_grade_info'; - --- 为品级信息表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'品级主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'grade_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'品级代号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'grade_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'品级名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'grade_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'operation_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'operation_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'车间/工程' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'workshop'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工厂名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'factory_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'品级排序' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'sort'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'状态(正常/停用)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'status'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'create_dept'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'remark'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'预留字段1' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'attr1'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'预留字段2' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'attr2'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'预留字段3' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_grade_info',@level2type=N'COLUMN',@level2name=N'attr3'; - - --- 2. 病疵信息表(存储各类病疵的详细信息,与质检项目绑定) -CREATE TABLE qc_defect_detail ( - defect_detail_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 病疵主键 - tenant_id VARCHAR(32), -- 租户号 - defect_code INT NOT NULL, -- 病疵代号 - defect_name VARCHAR(255) NOT NULL, -- 病疵名称 - defect_type VARCHAR(255), -- 病疵类型 - operation_code VARCHAR(255), -- 工序编码 - operation_name VARCHAR(255), -- 工序名称 - workshop VARCHAR(255), -- 车间/工程 - factory_name VARCHAR(255), -- 工厂名称 - sort VARCHAR(255), -- 病疵排序 - status VARCHAR(1) NOT NULL, -- 状态(0-正常,1-停用) - is_flag VARCHAR(1) NOT NULL DEFAULT '0', -- 是否删除(1-是,0-否) - create_dept VARCHAR(255), -- 创建部门 - create_by VARCHAR(32), -- 创建人 - create_time DATETIME, -- 创建时间 - update_by VARCHAR(32), -- 修改人 - update_time DATETIME, -- 修改时间 - remark VARCHAR(255) -- 备注 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储产品质检中各类病疵的详细信息,包括病疵代号、名称、关联工序等,用于质检时记录问题明细', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_defect_detail'; - --- 为病疵信息表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'病疵主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'defect_detail_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'病疵代号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'defect_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'病疵名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'defect_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'病疵类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'defect_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'operation_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'operation_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'车间/工程' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'workshop'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工厂名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'factory_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'病疵排序' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'sort'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'状态(0-正常,1-停用)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'status'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(1-是,0-否)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'is_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'create_dept'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_defect_detail',@level2type=N'COLUMN',@level2name=N'remark'; - - --- 3. 检测类型表(定义质检的类型,如首检、过程检等) -CREATE TABLE qc_inspection_type ( - type_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 检测类型主键 - type_code VARCHAR(30) NOT NULL, -- 检测类型编码(自动生成) - type_name VARCHAR(255) NOT NULL, -- 检测类型名称 - inspection_type VARCHAR(50) NOT NULL, -- 检测单类型(产品首检测/产品检测) - create_method VARCHAR(20), -- 创建方式(自动创建/手动创建) - create_time_point VARCHAR(20), -- 创建时间点(完工后/报工后) - create_by VARCHAR(32), -- 创建人 - create_time DATETIME, -- 创建时间 - update_by VARCHAR(32), -- 修改人 - update_time DATETIME -- 修改时间 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'定义质检的类型信息,包括检测类型名称、编码、检测单类型及任务创建方式,用于关联检测模板和触发质检任务', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_type'; - --- 为检测类型表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'type_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型编码(自动生成)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'type_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'type_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单类型(产品首检测/产品检测)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建方式(自动创建/手动创建)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_method'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间点(完工后/报工后)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_time_point'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'update_time'; - - --- 4. 检测项类别表(定义检测项的分类,如外观质检、尺寸质检) -CREATE TABLE qc_inspection_item_category ( - category_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 检测项类别主键 - category_code VARCHAR(30) NOT NULL, -- 检测项类别编码(自动生成) - category_name VARCHAR(255) NOT NULL, -- 检测项类别名称 - inspection_type VARCHAR(50) NOT NULL, -- 检测单类型(关联检测类型表) - description VARCHAR(500), -- 描述 - create_by VARCHAR(32), -- 创建人 - create_time DATETIME, -- 创建时间 - update_by VARCHAR(32), -- 修改人 - update_time DATETIME, -- 修改时间 - FOREIGN KEY (inspection_type) REFERENCES qc_inspection_type(inspection_type) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'定义检测项的分类信息,如外观质检、尺寸质检等,关联检测类型表的检测单类型,用于组织检测项', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_item_category'; - --- 为检测项类别表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'category_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别编码(自动生成)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'category_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'category_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单类型(关联检测类型表)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'描述' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'description'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'update_time'; - - --- 5. 检测项定义表(定义具体的检测项目信息,如胎面外观、尺寸等) -CREATE TABLE qc_inspection_item ( - item_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 检测项主键 - item_code VARCHAR(30) NOT NULL, -- 检测项编码 - item_name VARCHAR(255) NOT NULL, -- 检测项名称 - inspection_position VARCHAR(255), -- 检测位置 - category_id BIGINT, -- 检测项类别(关联检测项类别表) - inspection_type VARCHAR(50), -- 检测单类型 - method VARCHAR(50), -- 检测方法(目视/千分尺) - detect_type VARCHAR(20) NOT NULL, -- 检测方式(定性/定量) - control_type VARCHAR(20), -- 控制类型(手动输入) - standard_value DECIMAL(18,2), -- 标准值 - upper_limit DECIMAL(18,2), -- 控制上限 - lower_limit DECIMAL(18,2), -- 控制下限 - spec_name VARCHAR(50), -- 规格名称 - spec_upper VARCHAR(50), -- 规格上限 - spec_lower VARCHAR(50), -- 规格下限 - description VARCHAR(500), -- 检测项说明 - option_code VARCHAR(30), -- 检测选项编码 - option_name VARCHAR(50), -- 检测选项名称 - is_default VARCHAR(1), -- 是否默认选项(是/否) - FOREIGN KEY (category_id) REFERENCES qc_inspection_item_category(category_id) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'定义具体的检测项目信息,包括检测项名称、编码、方法、上下限等,关联检测项类别,用于检测模板和质检结果记录', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_item'; - --- 为检测项定义表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'item_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'item_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测位置' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'inspection_position'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别(关联检测项类别表)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'category_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测方法(目视/千分尺等)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'method'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测方式(定性/定量)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'detect_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制类型(手动输入等)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'control_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'标准值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'standard_value'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'upper_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'lower_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'spec_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'spec_upper'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'spec_lower'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项说明' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'description'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测选项编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'option_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测选项名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'option_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否默认选项(是/否)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'is_default'; - - --- 6. 检测模板主表(定义质检模板的基本信息,如关联物料、检测类型等) -CREATE TABLE qc_inspection_template ( - template_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 模板主键 - template_code VARCHAR(30) NOT NULL, -- 模板编码 - template_name VARCHAR(255) NOT NULL, -- 模板名称 - material_code VARCHAR(50), -- 物料编码 - material_name VARCHAR(255), -- 物料名称 - type_id BIGINT, -- 关联检测类型表ID - station_code VARCHAR(50), -- 工位编码 - station_name VARCHAR(255), -- 工位名称 - process_code VARCHAR(50), -- 工序编码 - process_name VARCHAR(255), -- 工序名称 - supplier_code VARCHAR(50), -- 供应商编码 - supplier_name VARCHAR(255), -- 供应商名称 - create_by VARCHAR(32), -- 创建人 - create_time DATETIME, -- 创建时间 - update_by VARCHAR(32), -- 修改人 - update_time DATETIME, -- 修改时间 - description VARCHAR(500), -- 模板说明 - FOREIGN KEY (type_id) REFERENCES qc_inspection_type(type_id) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储质检模板的基本信息,包括模板名称、关联物料、检测类型、工序等,用于生成质检任务的标准模板', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_template'; - --- 为检测模板主表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'template_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'template_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'template_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'material_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'material_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联检测类型表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'type_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工位编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'station_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工位名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'station_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'process_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'process_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'供应商编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'supplier_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'供应商名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'supplier_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板说明' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'description'; - - --- 7. 检测模板子表(存储模板关联的具体检测项信息) -CREATE TABLE qc_template_item ( - template_item_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 模板子表主键 - template_id BIGINT NOT NULL, -- 关联模板主表ID - item_id BIGINT NOT NULL, -- 关联检测项定义ID - item_code VARCHAR(30) NOT NULL, -- 检测项编码 - item_name VARCHAR(255) NOT NULL, -- 检测项名称 - inspection_position VARCHAR(255), -- 检测位置 - category_name VARCHAR(255), -- 检测项目类别 - inspection_type VARCHAR(50), -- 检测类型 - detect_type VARCHAR(20) NOT NULL, -- 检测方式(定性/定量) - control_type VARCHAR(20), -- 控制类型 - standard_value DECIMAL(18,2), -- 标准值 - upper_limit DECIMAL(18,2), -- 控制上限 - lower_limit DECIMAL(18,2), -- 控制下限 - spec_name VARCHAR(50), -- 规格名称 - spec_upper VARCHAR(50), -- 规格上限 - spec_lower VARCHAR(50), -- 规格下限 - description VARCHAR(500), -- 检测项说明 - FOREIGN KEY (template_id) REFERENCES qc_inspection_template(template_id), - FOREIGN KEY (item_id) REFERENCES qc_inspection_item(item_id) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储质检模板关联的具体检测项明细,包括检测项名称、上下限、检测方式等,与模板主表和检测项定义表关联', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_template_item'; - --- 为检测模板子表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板子表主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'template_item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联模板主表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'template_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联检测项定义ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'item_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'item_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测位置' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'inspection_position'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项目类别' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'category_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测方式(定性/定量)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'detect_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'control_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'标准值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'standard_value'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'upper_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'lower_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'spec_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'spec_upper'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'spec_lower'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项说明' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'description'; - - --- 8. 质检主表(存储质检任务的整体信息,如检测单号、物料、合格数等) -CREATE TABLE qc_inspection_main ( - inspection_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 质检主键 - inspection_no VARCHAR(50) NOT NULL, -- 检测单号/卡号 - material_code VARCHAR(50), -- 物料编码 - material_type VARCHAR(50), -- 物料类型 - material_name VARCHAR(255), -- 物料名称 - process_name VARCHAR(255), -- 工序名称 - station_name VARCHAR(255), -- 工位名称 - inspection_qty INT NOT NULL, -- 质检数量 - qualified_qty INT DEFAULT 0, -- 合格数 - unqualified_qty INT DEFAULT 0, -- 不合格数 - result VARCHAR(10), -- 质检结果(合格/不合格) - workshop VARCHAR(50), -- 车间 - inspection_category VARCHAR(20), -- 检验类别(首检/过程检) - status VARCHAR(20) NOT NULL, -- 单据状态(未处理/完成) - inspector VARCHAR(32), -- 检测人员 - shift VARCHAR(10), -- 班次 - team VARCHAR(50), -- 班组 - inspection_time DATETIME, -- 检验时间 - production_order VARCHAR(50), -- 生产订单号 - batch_no VARCHAR(50), -- 批次号 - barcode VARCHAR(100), -- 条码号 - supplier_name VARCHAR(255) -- 供应商名称 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储质检任务的整体信息,包括检测单号、关联物料、质检数量、合格数、不合格数及单据状态等,作为质检结果的主表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_main'; - --- 为质检主表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单号/卡号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'material_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'material_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'material_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'process_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工位名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'station_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检数量' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_qty'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'合格数' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'qualified_qty'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'不合格数' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'unqualified_qty'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检结果(合格/不合格)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'车间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'workshop'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检验类别(首检/过程检)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_category'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'单据状态(未处理/完成)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'status'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测人员' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspector'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'班次' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'shift'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'班组' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'team'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检验时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'生产订单号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'production_order'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'批次号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'batch_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'条码号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'barcode'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'供应商名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'supplier_name'; - - --- 9. 质检结果子表(存储每个检测项的具体质检结果) -CREATE TABLE qc_inspection_result ( - result_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 结果主键 - inspection_id BIGINT NOT NULL, -- 关联质检主表ID - item_id BIGINT NOT NULL, -- 关联检测项ID - detect_result VARCHAR(10), -- 检测结果(合格/不合格) - detect_value DECIMAL(18,2), -- 定量检测值 - spec_inspection VARCHAR(50), -- 规格质检值 - problem_detail VARCHAR(500), -- 定性不合格明细 - FOREIGN KEY (inspection_id) REFERENCES qc_inspection_main(inspection_id), - FOREIGN KEY (item_id) REFERENCES qc_inspection_item(item_id) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储每个检测项的具体质检结果,包括检测结果、定量检测值、定性不合格明细等,关联质检主表和检测项定义表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_result'; - --- 为质检结果子表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'结果主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'result_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联质检主表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'inspection_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联检测项ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测结果(合格/不合格)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'detect_result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'定量检测值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'detect_value'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格质检值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'spec_inspection'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'定性不合格明细' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'problem_detail'; - - --- 10. 不合格品待评审表(存储不合格品的待评审信息,用于评审处置) -CREATE TABLE qc_unqualified_review ( - review_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 评审主键 - unqualified_no VARCHAR(50) NOT NULL, -- 不合格检测单号 - inspection_id BIGINT NOT NULL, -- 关联质检主表ID - inspection_type VARCHAR(20), -- 检测类型(过程检/来料检) - work_order VARCHAR(50), -- 派工单号 - process_code VARCHAR(50), -- 工序编码 - process_name VARCHAR(255), -- 工序名称 - batch_no VARCHAR(50), -- 批次号 - material_name VARCHAR(255), -- 物料名称 - material_code VARCHAR(50), -- 物料编码 - inspector_result VARCHAR(10), -- 质检员检测结果 - review_result VARCHAR(20), -- 评审结果(报废/返工/退货等) - reviewer VARCHAR(32), -- 评审人 - review_time DATETIME, -- 评审时间 - FOREIGN KEY (inspection_id) REFERENCES qc_inspection_main(inspection_id) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储不合格品的待评审信息,包括不合格检测单号、关联质检任务、检测类型及评审结果,用于不合格品的处置流程', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_unqualified_review'; - --- 为不合格品待评审表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'review_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'不合格检测单号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'unqualified_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联质检主表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'inspection_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型(过程检/来料检)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'派工单号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'work_order'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'process_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'process_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'批次号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'batch_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'material_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'material_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检员检测结果' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'inspector_result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审结果(报废/返工/退货等)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'review_result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'reviewer'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'review_time'; - - --- 11. 不合格品评审记录表(存储不合格品的评审历史记录) -CREATE TABLE qc_unqualified_record ( - record_id BIGINT IDENTITY(1,1) PRIMARY KEY, -- 记录主键 - review_id BIGINT NOT NULL, -- 关联待评审表ID - create_time DATETIME, -- 创建时间 - remark VARCHAR(500), -- 补充说明 - FOREIGN KEY (review_id) REFERENCES qc_unqualified_review(review_id) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'存储不合格品的评审历史记录,包括评审时间、补充说明等,关联不合格品待评审表,用于追溯评审过程', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_unqualified_record'; - --- 为不合格品评审记录表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'记录主键' , @level0type=N diff --git a/ruoyi-modules/hwmom-qms/src/main/resources/qms新建表结构.sql b/ruoyi-modules/hwmom-qms/src/main/resources/qms新建表结构.sql deleted file mode 100644 index de6ad205..00000000 --- a/ruoyi-modules/hwmom-qms/src/main/resources/qms新建表结构.sql +++ /dev/null @@ -1,471 +0,0 @@ --- 如果表存在则先删除 -IF OBJECT_ID(N'dbo.qc_inspection_type', N'U') IS NOT NULL DROP TABLE dbo.qc_inspection_type; -IF OBJECT_ID(N'dbo.qc_inspection_item_category', N'U') IS NOT NULL DROP TABLE dbo.qc_inspection_item_category; -IF OBJECT_ID(N'dbo.qc_inspection_item', N'U') IS NOT NULL DROP TABLE dbo.qc_inspection_item; -IF OBJECT_ID(N'dbo.qc_inspection_template', N'U') IS NOT NULL DROP TABLE dbo.qc_inspection_template; -IF OBJECT_ID(N'dbo.qc_template_item', N'U') IS NOT NULL DROP TABLE dbo.qc_template_item; -IF OBJECT_ID(N'dbo.qc_inspection_main', N'U') IS NOT NULL DROP TABLE dbo.qc_inspection_main; -IF OBJECT_ID(N'dbo.qc_inspection_result', N'U') IS NOT NULL DROP TABLE dbo.qc_inspection_result; -IF OBJECT_ID(N'dbo.qc_unqualified_review', N'U') IS NOT NULL DROP TABLE dbo.qc_unqualified_review; -IF OBJECT_ID(N'dbo.qc_unqualified_record', N'U') IS NOT NULL DROP TABLE dbo.qc_unqualified_record; - - --- 3. 检测类型表(定义质检的类型,如首检、过程检等) --- 其他表绑定检测类型主键来查询编码、名称、类型(字典,通过字典键值来进行一定的逻辑操作) -CREATE TABLE qc_inspection_type ( - type_id BIGINT PRIMARY KEY, -- 检测类型主键 - tenant_id VARCHAR(32), -- 租户号 - type_code VARCHAR(255) NOT NULL, -- 检测类型编码 - type_name VARCHAR(255) NOT NULL, -- 检测类型名称 - qc_inspection_type char(1) NOT NULL, -- 检测类型(字典:首检 专检 自检 互检 原材料检 抽检 成品检) - create_method char(1), -- 创建方式(1人工创建 2自动创建) - create_by BIGINT, -- 创建人 - create_dept BIGINT, -- 创建部门 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0' -- 是否删除(0表示存在,2表示删除 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'检测类型表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_type'; - --- 为检测类型表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'type_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'type_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'type_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型(字典:首检 专检 自检 互检 原材料检 抽检 成品检)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'qc_inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建方式(1人工创建 2自动创建)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_method'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'create_dept'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_type',@level2type=N'COLUMN',@level2name=N'del_flag'; - - --- 4. 检测项类别表(定义检测项的分类,如外观质检、尺寸质检) -CREATE TABLE qc_inspection_item_category ( - category_id BIGINT PRIMARY KEY, -- 检测项类别主键 - tenant_id VARCHAR(32), -- 租户号 - parent_id BIGINT, -- 父级ID - ancestors VARCHAR(500), -- 祖级列表 - category_code VARCHAR(30) NOT NULL, -- 检测项类别编码 - category_name VARCHAR(255) NOT NULL, -- 检测项类别名称 - type_id BIGINT NULL, -- 检测单类型(关联检测类型表) - description VARCHAR(500), -- 描述 - create_by BIGINT, -- 创建人 - create_dept BIGINT, -- 创建部门 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0' -- 是否删除(0表示存在,2表示删除 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'检测项类别表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_item_category'; - --- 为检测项类别表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'category_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'父级ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'parent_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'祖级列表' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'ancestors'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'category_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'category_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单类型(关联检测类型表)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'type_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'描述' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'description'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'del_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item_category',@level2type=N'COLUMN',@level2name=N'create_dept'; - - --- 5. 检测项定义表(定义具体的检测项目信息,如胎面外观、尺寸等) -CREATE TABLE qc_inspection_item ( - item_id BIGINT PRIMARY KEY, -- 检测项主键 - tenant_id VARCHAR(32), -- 租户号 - item_code VARCHAR(30) NOT NULL, -- 检测项编码 - item_name VARCHAR(255) NOT NULL, -- 检测项名称 - inspection_position VARCHAR(255), -- 检测位置 - category_id BIGINT, -- 检测项类别(关联检测项类别表) - inspection_type VARCHAR(50), -- 检测单类型 - method char(1), -- 检测方法(0目视,1千分尺) - detect_type char(1) , -- 检测方式(0定性,1定量) - control_type char(1), -- 控制类型(0手动输入,1自动输入) - standard_value DECIMAL(18,2), -- 标准值 - upper_limit DECIMAL(18,2), -- 控制上限 - lower_limit DECIMAL(18,2), -- 控制下限 - spec_name VARCHAR(50), -- 规格名称 - spec_upper DECIMAL(18,2), -- 规格上限 - spec_lower DECIMAL(18,2), -- 规格下限 - description VARCHAR(500), -- 检测项说明 - option_code VARCHAR(30), -- 检测选项编码 - option_name VARCHAR(50), -- 检测选项名称 - is_default char(1), -- 是否默认选项(0是,1否) - create_by BIGINT, -- 创建人 - create_dept BIGINT, -- 创建部门 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0' -- 是否删除(0表示存在,2表示删除 -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'检测项定义表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_item'; - --- 为检测项定义表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'item_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'item_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测位置' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'inspection_position'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项类别(关联检测项类别表)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'category_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测方法(0目视,1千分尺)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'method'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测方式(0定性,1定量)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'detect_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制类型(0手动输入,1自动输入)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'control_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'标准值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'standard_value'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'upper_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'lower_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'spec_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'spec_upper'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'spec_lower'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项说明' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'description'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测选项编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'option_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测选项名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'option_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否默认选项(是/否)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'is_default'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'del_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_item',@level2type=N'COLUMN',@level2name=N'create_dept'; - --- 6. 检测模板主表(定义质检模板的基本信息,如关联物料、检测类型等) -CREATE TABLE qc_inspection_template ( - template_id BIGINT PRIMARY KEY, -- 模板主键 - tenant_id VARCHAR(32), -- 租户号 - template_code VARCHAR(30) NOT NULL, -- 模板编码 - template_name VARCHAR(255) NOT NULL, -- 模板名称 - material_code VARCHAR(50), -- 物料编码 - material_name VARCHAR(255), -- 物料名称 - type_id BIGINT, -- 关联检测类型表ID - station_code VARCHAR(50), -- 工位编码 - station_name VARCHAR(255), -- 工位名称 - process_code VARCHAR(50), -- 工序编码 - process_name VARCHAR(255), -- 工序名称 - supplier_code VARCHAR(50), -- 供应商编码 - supplier_name VARCHAR(255), -- 供应商名称 - description VARCHAR(500), -- 模板说明 - create_dept BIGINT, -- 创建部门 - create_by BIGINT, -- 创建人 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0', -- 是否删除(0表示存在,2表示删除) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'检测模板主表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_template'; - --- 为检测模板主表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'template_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'template_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'template_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'material_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'material_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联检测类型表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'type_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工位编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'station_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工位名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'station_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'process_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'process_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'供应商编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'supplier_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'供应商名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'supplier_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'create_dept'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板说明' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'description'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_template',@level2type=N'COLUMN',@level2name=N'del_flag'; - - --- 7. 检测模板子表(存储模板关联的具体检测项信息) -CREATE TABLE qc_template_item ( - template_item_id BIGINT PRIMARY KEY, -- 模板子表主键 - tenant_id VARCHAR(32), -- 租户号 - template_id BIGINT NOT NULL, -- 关联模板主表ID - item_id BIGINT NOT NULL, -- 关联检测项定义ID - item_code VARCHAR(30) NOT NULL, -- 检测项编码 - item_name VARCHAR(255) NOT NULL, -- 检测项名称 - inspection_position VARCHAR(255), -- 检测位置 - category_name VARCHAR(255), -- 检测项目类别 - inspection_type VARCHAR(50), -- 检测类型 - detect_type CHAR(1) NOT NULL, -- 检测方式(0定性,1定量) - control_type CHAR(1), -- 控制类型(0手动,1自动) - standard_value DECIMAL(18,2), -- 标准值 - upper_limit DECIMAL(18,2), -- 控制上限 - lower_limit DECIMAL(18,2), -- 控制下限 - spec_name VARCHAR(50), -- 规格名称 - spec_upper DECIMAL(18,2), -- 规格上限 - spec_lower DECIMAL(18,2), -- 规格下限 - description VARCHAR(500), -- 检测项说明 - create_dept BIGINT, -- 创建部门 - create_by BIGINT, -- 创建人 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0', -- 是否删除(0表示存在,2表示删除) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'检测模板子表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_template_item'; - --- 为检测模板子表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'模板子表主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'template_item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联模板主表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'template_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联检测项定义ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'item_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'item_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测位置' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'inspection_position'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项目类别' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'category_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型(根据主表关联的类型表主键查来的字典值自动存入)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'inspection_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测方式(0定性,1定量)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'detect_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制类型(0手动,1自动)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'control_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'标准值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'standard_value'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'upper_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'控制下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'lower_limit'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'spec_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格上限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'spec_upper'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格下限' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'spec_lower'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测项说明' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'description'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'create_dept'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_template_item',@level2type=N'COLUMN',@level2name=N'del_flag'; - - --- 8. 质检主表(存储质检任务的整体信息,如检测单号、物料、合格数等) -CREATE TABLE qc_inspection_main ( - inspection_id BIGINT PRIMARY KEY, -- 质检主键 - tenant_id VARCHAR(32), -- 租户号 - inspection_no VARCHAR(50) NOT NULL, -- 检测单号/卡号 - material_code VARCHAR(50), -- 物料编码 - material_type VARCHAR(50), -- 物料类型 - material_name VARCHAR(255), -- 物料名称 - process_name VARCHAR(255), -- 工序名称 - station_name VARCHAR(255), -- 工位名称 - inspection_qty DECIMAL(16,2), -- 质检数量 - qualified_qty DECIMAL(16,2), -- 合格数 - unqualified_qty DECIMAL(16,2), -- 不合格数 - result CHAR(1), -- 质检结果(0合格,1不合格) - workshop VARCHAR(50), -- 车间 - inspection_category CHAR(1 ), -- TODO:检验类别(0首检,1过程检)? - status CHAR(1) , -- 单据状态(0未处理,1完成) - inspector VARCHAR(32), -- 检测人员 - shift VARCHAR(10), -- 班次 - team VARCHAR(50), -- 班组 - inspection_time DATETIME, -- 检验时间 - production_order VARCHAR(50), -- 生产订单号 - batch_no VARCHAR(50), -- 批次号 - barcode VARCHAR(100), -- 条码号 - supplier_name VARCHAR(255), -- 供应商名称 - remark VARCHAR(255), -- 备注 - create_dept BIGINT, -- 创建部门 - create_by BIGINT, -- 创建人 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0', -- 是否删除(0表示存在,2表示删除) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'质检主表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_main'; - --- 为质检主表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测单号/卡号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'material_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料类型' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'material_type'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'material_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'process_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工位名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'station_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检数量' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_qty'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'合格数' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'qualified_qty'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'不合格数' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'unqualified_qty'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检结果(0合格/1不合格)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'车间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'workshop'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检验类别(首检/过程检等等)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_category'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'单据状态(0未处理/1完成)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'status'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测人员' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspector'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'班次' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'shift'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'班组' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'team'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检验时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'inspection_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'生产订单号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'production_order'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'批次号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'batch_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'条码号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'barcode'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'供应商名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'supplier_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'remark'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'del_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_main',@level2type=N'COLUMN',@level2name=N'create_dept'; - - --- 9. 质检结果子表(存储每个检测项的具体质检结果) -CREATE TABLE qc_inspection_result ( - result_id BIGINT PRIMARY KEY, -- 结果主键 - tenant_id VARCHAR(32), -- 租户号 - inspection_id BIGINT NOT NULL, -- 关联质检主表ID - item_id BIGINT NOT NULL, -- 关联检测项ID - detect_result CHAR(1), -- 检测结果(0合格,1不合格,2未判定) - detect_value DECIMAL(18,2), -- 定量检测值 - spec_inspection VARCHAR(50), -- 规格质检值 - problem_detail VARCHAR(500), -- 定性不合格明细 - create_dept BIGINT, -- 创建部门 - create_by BIGINT, -- 创建人 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0', -- 是否删除(0表示存在,2表示删除) - -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'质检结果子表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_inspection_result'; - --- 为质检结果子表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'结果主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'result_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联质检主表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'inspection_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联检测项ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'item_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测结果(0合格,1不合格,2未判定)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'detect_result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'定量检测值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'detect_value'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'规格质检值' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'spec_inspection'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'定性不合格明细' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'problem_detail'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'del_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_inspection_result',@level2type=N'COLUMN',@level2name=N'create_dept'; - - --- 10. 不合格品待评审表(存储不合格品的待评审信息,用于评审处置) -CREATE TABLE qc_unqualified_review ( - review_id BIGINT PRIMARY KEY, -- 评审主键 - tenant_id VARCHAR(32), -- 租户号 - unqualified_no VARCHAR(50) NOT NULL, -- 不合格检测单号 - inspection_id BIGINT NOT NULL, -- 关联质检主表ID - type_id BIGINT NOT NULL, -- 检测类型ID - work_order VARCHAR(50), -- 派工单号 - process_code VARCHAR(50), -- 工序编码 - process_name VARCHAR(255), -- 工序名称 - batch_no VARCHAR(50), -- 批次号 - material_name VARCHAR(255), -- 物料名称 - material_code VARCHAR(50), -- 物料编码 - inspector_result VARCHAR(10), -- 质检员检测结果 - review_result char(1), -- 评审结果(0报废/1返工/2退货) - reviewer VARCHAR(32), -- 评审人 - review_time DATETIME, -- 评审时间 - create_dept BIGINT, -- 创建部门 - create_by BIGINT, -- 创建人 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0', -- 是否删除(0表示存在,2表示删除) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'不合格品待评审表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_unqualified_review'; - --- 为不合格品待评审表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'review_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'不合格检测单号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'unqualified_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联质检主表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'inspection_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'检测类型ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'type_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'派工单号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'work_order'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'process_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'工序名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'process_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'批次号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'batch_no'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料名称' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'material_name'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'物料编码' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'material_code'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'质检员检测结果' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'inspector_result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审结果(0报废/1返工/2退货)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'review_result'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'reviewer'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'评审时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'review_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'del_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_review',@level2type=N'COLUMN',@level2name=N'create_dept'; - - --- 11. 不合格品评审记录表(存储不合格品的评审历史记录) -CREATE TABLE qc_unqualified_record ( - record_id BIGINT PRIMARY KEY, -- 记录主键 - tenant_id VARCHAR(32), -- 租户号 - review_id BIGINT NOT NULL, -- 关联待评审表ID - remark VARCHAR(500), -- 备注 - create_dept BIGINT, -- 创建部门 - create_by BIGINT, -- 创建人 - create_time DATETIME, -- 创建时间 - update_by BIGINT, -- 修改人 - update_time DATETIME, -- 修改时间 - del_flag CHAR(1) DEFAULT '0', -- 是否删除(0表示存在,2表示删除) -); --- 添加表备注 -EXEC sp_addextendedproperty - @name = N'MS_Description', - @value = N'不合格品评审记录表', - @level0type = N'SCHEMA', @level0name = N'dbo', - @level1type = N'TABLE', @level1name = N'qc_unqualified_record'; - --- 为不合格品评审记录表字段添加中文备注 -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'记录主键' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'record_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'租户号' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'tenant_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'关联待评审表ID' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'review_id'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'remark'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'create_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'create_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改人' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'update_by'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'update_time'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除(0表示存在,2表示删除)' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'del_flag'; -EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'创建部门' , @level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'qc_unqualified_record',@level2type=N'COLUMN',@level2name=N'create_dept'; - diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventoryCheck.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventoryCheck.java index 5433f152..c69a4bf9 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventoryCheck.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/WmsInventoryCheck.java @@ -1,13 +1,12 @@ package org.dromara.wms.domain; -import org.dromara.common.tenant.core.TenantEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.tenant.core.TenantEntity; import java.io.Serial; +import java.util.Date; /** * 库存盘点对象 wms_inventory_check @@ -45,6 +44,7 @@ public class WmsInventoryCheck extends TenantEntity { /** * 盘点类型(1全部,2货架,3物料)) + * 盘点类型按照新的设置,抽检/盘点 */ private String checkType; diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryCheckBo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryCheckBo.java index cdb15233..2aba9671 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryCheckBo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/bo/WmsInventoryCheckBo.java @@ -1,16 +1,13 @@ package org.dromara.wms.domain.bo; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.wms.domain.WmsInventoryCheck; +import java.util.Date; + /** * 库存盘点业务对象 wms_inventory_check * @@ -48,6 +45,7 @@ public class WmsInventoryCheckBo extends BaseEntity { /** * 盘点类型(1全部,2货架,3物料)) + * 盘点类型按照新的设置,抽检/盘点 */ private String checkType; diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryCheckVo.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryCheckVo.java index a397d124..ef144013 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryCheckVo.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/domain/vo/WmsInventoryCheckVo.java @@ -1,16 +1,13 @@ package org.dromara.wms.domain.vo; -import java.util.Date; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.fasterxml.jackson.annotation.JsonFormat; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import org.dromara.common.excel.annotation.ExcelDictFormat; -import org.dromara.common.excel.convert.ExcelDictConvert; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.wms.domain.WmsInventoryCheck; import java.io.Serial; @@ -59,6 +56,7 @@ public class WmsInventoryCheckVo implements Serializable { /** * 盘点类型(1全部,2货架,3物料)) + * 盘点类型按照新的设置,抽检/盘点 */ @ExcelProperty(value = "盘点类型", converter = ExcelDictConvert.class) @ExcelDictFormat(readConverterExp = "1=全部,2货架,3物料") diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/dubbo/RemoteInventoryCheckServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/dubbo/RemoteInventoryCheckServiceImpl.java new file mode 100644 index 00000000..71176709 --- /dev/null +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/dubbo/RemoteInventoryCheckServiceImpl.java @@ -0,0 +1,193 @@ +package org.dromara.wms.dubbo; + + +import cn.dev33.satoken.stp.StpUtil; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboService; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.tenant.helper.TenantHelper; +import org.dromara.wms.api.RemoteInventoryCheckService; +import org.dromara.wms.domain.WmsCheckTask; +import org.dromara.wms.domain.bo.WmsBaseLocationBo; +import org.dromara.wms.domain.bo.WmsInventoryBo; +import org.dromara.wms.domain.bo.WmsInventoryCheckBo; +import org.dromara.wms.domain.bo.WmsInventoryCheckRecordBo; +import org.dromara.wms.domain.vo.WmsBaseLocationVo; +import org.dromara.wms.domain.vo.WmsCheckTaskVo; +import org.dromara.wms.domain.vo.WmsInventoryVo; +import org.dromara.wms.mapper.WmsCheckTaskMapper; +import org.dromara.wms.service.*; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +@RequiredArgsConstructor +@Service +@DubboService +@Slf4j +public class RemoteInventoryCheckServiceImpl implements RemoteInventoryCheckService { + + //库存盘点主表服务 + private final IWmsInventoryCheckService wmsInventoryCheckService; + //库存盘点明细服务 + private final IWmsInventoryCheckRecordService wmsInventoryCheckRecordService; + //盘点任务服务 + private final IWmsCheckTaskService wmsCheckTaskService; + //盘点任务mapper + private final WmsCheckTaskMapper wmsCheckTaskMapper; + //仓库信息服务 + private final IWmsBaseWarehouseService wmsBaseWarehouseService; + //库位信息服务 + private final IWmsBaseLocationService wmsBaseLocationService; + //库存服务 + private final IWmsInventoryService wmsInventoryService; + + + @Override + @Transactional(rollbackFor = Exception.class) + public R wmsInventoryCheck(String planCode, String tenantId, Long userId) { + + // 【重要】在主线程中先登录,确保后续所有调用都有认证上下文 + StpUtil.login(userId, "login"); + + // 【关键修复】设置租户上下文,确保工作流能获取到正确的租户ID + TenantHelper.setDynamic(tenantId); + + // 查询盘点任务 + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.eq(WmsCheckTask::getTaskCode, planCode); + WmsCheckTaskVo task = wmsCheckTaskMapper.selectJoinOne(WmsCheckTaskVo.class, wrapper); // 假设mapper支持,或自定义 + if (ObjectUtils.isEmpty(task)) { + return R.fail("未找到对应的盘点任务: " + planCode); + } + + // 生成主表 + WmsInventoryCheckBo checkBo = new WmsInventoryCheckBo(); +// checkBo.setMaterialCategoryId(task.getMaterialTypeId() != null ? task.getMaterialTypeId().toString() : null); // 物料大类先忽略 + checkBo.setPlanWarehouseId(task.getWarehouseId()); + checkBo.setCheckType(task.getWmsCheckTaskType()); + checkBo.setCheckStatus("0"); // 盘点状态(0计划,2盘点中,3盘点完成) + checkBo.setBeginTime(new Date()); + checkBo.setCheckCode(generateOrderCode());// 私有方法根据规则生成盘点单号 + wmsInventoryCheckService.insertByBo(checkBo); + String checkCode = checkBo.getCheckCode(); // 已生成 + + // 查询仓库下所有库位 + WmsBaseLocationBo locBo = new WmsBaseLocationBo(); + locBo.setWarehouseId(task.getWarehouseId()); + List locations = wmsBaseLocationService.queryList(locBo); + + + for (WmsBaseLocationVo location : locations) { + WmsInventoryBo invBo = new WmsInventoryBo(); + invBo.setLocationCode(location.getLocationCode()); + List inventories = wmsInventoryService.queryList(invBo); + + // 遍历当前库位下的所有库存记录 + for (WmsInventoryVo inventory : inventories) { + if (inventory.getInventoryQty().compareTo(BigDecimal.ZERO) <= 0) continue; // 跳过无库存 + + // 构造盘点记录对象并设置基础信息 + WmsInventoryCheckRecordBo recordBo = new WmsInventoryCheckRecordBo(); +// recordBo.setMaterialCategoryId(inventory.getMaterialCategoryId() != null ? inventory.getMaterialCategoryId().toString() : null);// 物料大类先忽略 + recordBo.setCheckCode(checkCode);// 盘点单号 + recordBo.setBatchCode(inventory.getBatchCode());// 批次码 + recordBo.setMaterialId(inventory.getMaterialId()); + recordBo.setLocationCode(inventory.getLocationCode()); + recordBo.setMaterialCode(inventory.getMaterialCode()); + recordBo.setMaterialName(inventory.getMaterialName()); + + recordBo.setInventoryQty(inventory.getInventoryQty());// 库存数量 + // 根据盘点类型确定应盘数量:如果是全盘则等于库存数量,如果是抽盘则按比例计算 + BigDecimal checkQty = inventory.getInventoryQty();//先设盘点数量为库存数量 + // 如果是抽检 + if ("0".equals(checkBo.getCheckType())) {//盘点类型按照新的设置,0抽检/1盘点 + // 计算抽检率:将百分比转换为小数形式,保留四位小数以确保精度 + BigDecimal rate = task.getCheckRate().divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_UP); + // 根据抽检率计算应盘数量,并保留两位小数 + checkQty = checkQty.multiply(rate).setScale(2, RoundingMode.HALF_UP); + } + recordBo.setCheckQty(checkQty); + + + wmsInventoryCheckRecordService.insertByBo(recordBo); + } + } + + return R.ok(); + } + + private static final AtomicInteger sequence = new AtomicInteger(999); + public static Integer nextSequence() { + return sequence.incrementAndGet(); + } + + /** + * 生成订单编码 + * + * 该方法用于生成一个唯一的订单编码,编码规则如下: + * 1. 前缀固定为"ST" + * 2. 中间部分为当前日期时间(格式:yyMMddHHssmm,从年份的第3位开始截取) + * 3. 后缀为序列号部分,根据序列值生成4位数字字符串 + * + * @return String 订单编码字符串,格式如:ST + yyMMddHHssmm + 4位序列号 + */ + private String generateOrderCode(){ + // 获取当前时间并格式化为订单日期部分 + Date date = new Date(); + SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHssmm"); + String orderDate = format.format(date).substring(2); + + // 初始化订单前缀和后缀变量 + String order = "ST"; + String orderLast=""; + + // 获取下一个序列值并根据长度判断是否需要重置序列 + Integer value = nextSequence(); + if (value.toString().length()==4){ + // 序列值达到4位数时重置为1,并重新生成序列后缀 + sequence.set(1); + orderLast = generateOrder(sequence.get()); + }else { + // 序列值未达到4位数时直接生成序列后缀 + orderLast = generateOrder(value); + } + + // 拼接并返回完整订单编码 + return order + orderDate + orderLast; + } + + /** + * 生成固定长度的订单号字符串 + *

+ * 该方法将传入的整数值转换为至少3位数的字符串表示形式, + * 如果原始数字不足3位,则在前面补0;如果等于3位则直接返回; + * 超过3位时也直接返回原始字符串。 + * + * @param value 需要格式化的整数值,用于生成订单号 + * @return 至少3位数的订单号字符串 + */ + public String generateOrder(Integer value){ + // 检查数字长度是否小于3位 + if (value.toString().length()<3){ + // 使用格式化确保返回3位数字符串,不足部分用0填充 + return String.format("%03d", value); + // 检查数字长度是否正好是3位 + }else if (value.toString().length()==3){ + // 直接返回原值的字符串形式 + return value.toString(); + } + // 对于长度超过3位的情况,直接返回原值的字符串形式 + return value.toString(); + } + +} diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java index 9761a2c9..7a368247 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsCheckTaskServiceImpl.java @@ -14,6 +14,7 @@ import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.Utils.UniqueCodeUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; @@ -199,6 +200,27 @@ public class WmsCheckTaskServiceImpl implements IWmsCheckTaskService { private void validEntityBeforeSave(WmsCheckTask entity){ validCronBeforeSave(entity); // TODO 唯一性等业务校验可在此补充 + + // 验证编码唯一性 + UniqueCodeUtils.validateCodeUnique( + baseMapper, + entity.getTaskCode(), + WmsCheckTask::getTaskCode, + WmsCheckTask::getTaskId, + entity.getTaskId(), + "编码已存在" + ); + + // 验证名称唯一性 + UniqueCodeUtils.validateCodeUnique( + baseMapper, + entity.getTaskName(), + WmsCheckTask::getTaskName, + WmsCheckTask::getTaskId, + entity.getTaskId(), + "名称已存在" + ); + } /** diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java new file mode 100644 index 00000000..64ccd5d6 --- /dev/null +++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/WmsCheckTaskExecutor.java @@ -0,0 +1,47 @@ +package org.dromara.job.snailjob; + +import com.aizuda.snailjob.client.job.core.annotation.JobExecutor; +import com.aizuda.snailjob.client.job.core.dto.JobArgs; +import com.aizuda.snailjob.client.model.ExecuteResult; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.domain.R; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +@JobExecutor(name = "wsmCheckTsk") +public class WmsCheckTaskExecutor { + + private static final ObjectMapper objectMapper = new ObjectMapper(); + + + @DubboReference(timeout = 15000) + private org.dromara.wms.api.RemoteInventoryCheckService remoteInventoryCheckService; + + + public WmsCheckTaskExecutor(org.dromara.wms.api.RemoteInventoryCheckService remoteInventoryCheckService) { + this.remoteInventoryCheckService = remoteInventoryCheckService; + } + + + public ExecuteResult jobExecute(JobArgs jobArgs) { + try { + String jsonStr = String.valueOf(jobArgs.getJobParams()); + // 将 JSON 字符串转为 Map + Map paramMap = objectMapper.readValue(jsonStr, Map.class); + String planCode = (String) paramMap.get("planCode"); + String tenantId = (String) paramMap.get("tenantId"); + String user = (String) paramMap.get("userId"); + Long userId = Long.parseLong(user); + + R instance = remoteInventoryCheckService.wmsInventoryCheck(planCode, tenantId, userId); + return ExecuteResult.success(instance); + } catch (Exception e) { + return ExecuteResult.failure(e.getMessage()); + } + } + + +}