feat(ruoyi-api): 添加 hwmom-api-wms 模块,实现定时任务生成盘点工单主子表,实现盘点任务的编码唯一、名称唯一

- 新建 hwmom-api-wms 模块
- 在 ruoyi-api 的 pom.xml 文件中添加了 hwmom-api-wms 模块
- 盘点工单WmsInventoryCheck的盘点类型checkType按照新的设置,抽检/盘点
- 新建WmsCheckTaskExecutor("wsmCheckTsk")定时任务执行器
- 新建RemoteInventoryCheckServiceImpl.wmsInventoryCheck服务
- 新建WmsCheckTaskExecutor调用RemoteInventoryCheckServiceImpl.wmsInventoryCheck定时生成盘点工单
hwmom-htk
zangch@mesnac.com 4 months ago
parent ee461ab905
commit 75457dcca0

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-api</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>hwmom-api-wms</artifactId>
<description>
hwmom-api-wms wms接口模块
</description>
<dependencies>
<!-- RuoYi Common Core-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-excel</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.aizuda</groupId>
<artifactId>snail-job-client-job-core</artifactId>
</dependency>
</dependencies>
</project>

@ -0,0 +1,9 @@
package org.dromara.wms.api;
import org.dromara.common.core.domain.R;
public interface RemoteInventoryCheckService {
public R<Void> wmsInventoryCheck(String planCode, String tenantId, Long userId);
}

@ -19,6 +19,7 @@
<module>hwmom-api-dms</module>
<module>ruoyi-api-job</module>
<module>hwmom-api-wms</module>
</modules>
<artifactId>ruoyi-api</artifactId>

@ -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

@ -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';

@ -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 {
/**
* 123
* /
*/
private String checkType;

@ -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 {
/**
* 123
* /
*/
private String checkType;

@ -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 {
/**
* 123
* /
*/
@ExcelProperty(value = "盘点类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "1=全部2货架3物料")

@ -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<Void> wmsInventoryCheck(String planCode, String tenantId, Long userId) {
// 【重要】在主线程中先登录,确保后续所有调用都有认证上下文
StpUtil.login(userId, "login");
// 【关键修复】设置租户上下文确保工作流能获取到正确的租户ID
TenantHelper.setDynamic(tenantId);
// 查询盘点任务
MPJLambdaWrapper<WmsCheckTask> 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<WmsBaseLocationVo> locations = wmsBaseLocationService.queryList(locBo);
for (WmsBaseLocationVo location : locations) {
WmsInventoryBo invBo = new WmsInventoryBo();
invBo.setLocationCode(location.getLocationCode());
List<WmsInventoryVo> 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. yyMMddHHssmm3
* 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;
}
/**
*
* <p>
* 3
* 303
* 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();
}
}

@ -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(),
"名称已存在"
);
}
/**

@ -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<String, Object> 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<Void> instance = remoteInventoryCheckService.wmsInventoryCheck(planCode, tenantId, userId);
return ExecuteResult.success(instance);
} catch (Exception e) {
return ExecuteResult.failure(e.getMessage());
}
}
}
Loading…
Cancel
Save