Files
JY1.0/生产计划组件开发实施文档.md
2026-05-21 09:46:02 +08:00

14 KiB
Raw Blame History

生产计划组件开发实施文档

1. 业务描述

1.1 业务背景

生产计划管理是车间生产管理的核心模块,用于跟踪和监控生产任务的执行情况。该组件需要展示生产计划的详细信息,包括订单号、产品名称、零件名称、工序、设备分配、计划数量、完成日期等关键信息。

1.2 业务目标

  • 提供生产计划的查询和展示功能
  • 支持按订单号、零件名称、工序、设备等条件进行筛选
  • 展示生产进度和完成情况
  • 支持分页查询

1.3 业务流程

flowchart TD
    A[用户进入生产计划页面] --> B[选择查询月份]
    B --> C[输入筛选条件]
    C --> D[点击查询按钮]
    D --> E[调用存储过程查询数据]
    E --> F[返回查询结果]
    F --> G[展示生产计划列表]

2. 技术方案

2.1 技术选型

分类 技术 版本
前端框架 Vue.js 2.x
UI组件库 Element UI 2.x
构建工具 Webpack 4.x
后端语言 C# .NET Framework
数据库 SQL Server 2016+

2.2 架构设计

2.2.1 架构分层

flowchart LR
    A[前端展示层] --> B[API接口层]
    B --> C[业务逻辑层]
    C --> D[数据访问层]
    D --> E[数据库]

2.2.2 模块划分

模块 职责 说明
视图层 生产计划列表展示 Vue组件
数据层 数据查询与处理 API调用
业务层 存储过程执行 SQL存储过程
数据层 数据持久化 视图与表

3. 数据库设计

3.1 涉及的数据库表

3.1.1 车间生产管理_零件工序_视图

字段名 类型 长度 说明
零件名称 nvarchar 50 零件名称
数量 int - 订单数量
工序 nvarchar 50 工序名称
操作者 nvarchar 50 操作人员
加工设备 nvarchar 100 加工设备
材料 nvarchar 100 使用材料
派工日期 datetime - 派工日期
已完成数 int - 已完成数量
订单号 nvarchar 50 订单编号
产品名称 nvarchar 100 产品名称
零件图号 nvarchar 50 零件图号
工序流水号 int - 工序流水号(主键)
工艺计划流水号 int - 工艺计划流水号
质检数 int - 质检数量
不良数 int - 不良数量
工序顺序 int - 工序顺序
工艺要求 nvarchar 500 工艺要求
工序状态 nvarchar 20 工序状态
考核状态 nvarchar 20 考核状态
机床名称 nvarchar 50 机床名称
工位号 nvarchar 20 工位号
被派工人员 nvarchar 50 被派工人员
外协数量 int - 外协数量
到货数量 int - 到货数量
工艺编号 nvarchar 50 工艺编号
订单流水号 int - 订单流水号
订单类型 nvarchar 20 订单类型
已分配数 int - 已分配数量
分配数 int - 分配数量
最大分配数 int - 最大分配数量
精工期限 datetime - 精工期限
是否为报废补投件 bit - 是否为报废补投件
代号 nvarchar 50 代号
定额工时 decimal - 定额工时
准结工时 decimal - 准结工时
物料编码 nvarchar 50 物料编码
是否加急 bit - 是否加急
计划完成日期 datetime - 计划完成日期
计划开始日期 datetime - 计划开始日期

3.1.2 车间生产管理工艺_零件工序_任务分配

字段名 类型 长度 说明
工艺任务流水号 int - 主键
工序流水号 int - 关联零件工序视图
数量 int - 计划数量
人员编号 int - 操作人员编号
设备流水号 int - 设备流水号
分配时间 datetime - 分配时间
完工期限 datetime - 完工期限
已领数量 int - 已领数量
加工数量 int - 已加工数量
是否加工中 bit - 是否正在加工
调拨员编号 int - 调拨员编号
计划完成日期 datetime - 计划完成日期
计划开始日期 datetime - 计划开始日期

3.1.3 基础数据_设备工位点检表

字段名 类型 长度 说明
设备流水号 int - 主键
工位号 nvarchar 20 工位号
设备名称 nvarchar 100 设备名称

3.2 视图定义

车间生产管理_生产计划_视图逻辑视图

该视图为生产计划查询的核心视图,关联以下表:

  • 车间生产管理工艺_零件工序_任务分配
  • 车间生产管理_零件工序_视图
  • 基础数据_设备工位点检表

查询逻辑:

SELECT   
    dbo.车间生产管理_零件工序_视图.订单号, 
    dbo.车间生产管理_零件工序_视图.产品名称, 
    dbo.车间生产管理_零件工序_视图.零件名称, 
    dbo.车间生产管理_零件工序_视图.工序, 
    dbo.基础数据_设备工位点检表.工位号 + N':' + dbo.基础数据_设备工位点检表.设备名称 AS 设备, 
    dbo.车间生产管理_零件工序_视图.数量 AS 订单数, 
    dbo.车间生产管理工艺_零件工序_任务分配.数量 AS 计划数, 
    CONVERT(varchar(10), dbo.车间生产管理工艺_零件工序_任务分配.计划完成日期, 23) AS 计划完成日期, 
    dbo.车间生产管理工艺_零件工序_任务分配.数量 - dbo.车间生产管理工艺_零件工序_任务分配.加工数量 AS 剩余数, 
    dbo.车间生产管理_零件工序_视图.零件图号, 
    dbo.车间生产管理_零件工序_视图.工序顺序, 
    CONVERT(varchar(10), dbo.车间生产管理工艺_零件工序_任务分配.计划开始日期, 23) AS 计划开始日期, 
    dbo.基础数据_设备工位点检表.设备名称 
FROM      
    dbo.车间生产管理工艺_零件工序_任务分配 
INNER JOIN 
    dbo.车间生产管理_零件工序_视图 ON 
    dbo.车间生产管理工艺_零件工序_任务分配.工序流水号 = dbo.车间生产管理_零件工序_视图.工序流水号 
INNER JOIN 
    dbo.基础数据_设备工位点检表 ON 
    dbo.车间生产管理工艺_零件工序_任务分配.设备流水号 = dbo.基础数据_设备工位点检表.设备流水号

4. 存储过程设计

4.1 车间生产管理_生产计划_查询数据

功能: 根据筛选条件分页查询生产计划数据

参数说明:

参数名 类型 长度 说明 默认值
@合同编号_check bit - 是否按合同编号筛选 null
@合同编号 nvarchar 50 合同编号 null
@零件名称_check bit - 是否按零件名称筛选 null
@零件名称 nvarchar 50 零件名称 null
@工序名称_check bit - 是否按工序名称筛选 null
@工序名称 nvarchar 50 工序名称 null
@设备_check bit - 是否按设备筛选 null
@设备 nvarchar 50 设备名称 null
@月份 nvarchar 50 查询月份格式yyyy-MM -

存储过程代码:

ALTER PROCEDURE [dbo].[车间生产管理_生产计划_查询数据] 
@合同编号_check bit = null, 
@合同编号 nvarchar(50) = null, 
@零件名称_check bit = null, 
@零件名称 nvarchar(50) = null, 
@工序名称_check bit = null, 
@工序名称 nvarchar(50) = null, 
@设备_check bit = null, 
@设备 nvarchar(50) = null, 
@月份 nvarchar(50) 
AS 
    declare @ nvarchar(50) 
    declare @ nvarchar(50) 

    select @ = left(@月份,4) 
    select @ = SUBSTRING(@月份,CHARINDEX('-',@月份)+1,len(@月份)-charindex('-',@月份)) 

    declare @selectStr nvarchar(4000) 
    declare @selectStrWhere nvarchar(4000) 

    set @selectStr = 'select * from 车间生产管理_生产计划_视图 ' 

    set @selectStrWhere = 'where 年份=@年 and 月份=@月 ' 

    if(@零件名称_check = 1) 
        set @selectStrWhere = @selectStrWhere+' and 零件名称+零件图号 like + ''%'' + @零件名称 + ''%'' ' 
    if(@合同编号_check = 1) 
        set @selectStrWhere = @selectStrWhere+' and 订单号 like + ''%'' + @合同编号 + ''%'' ' 
    if(@工序名称_check = 1) 
        set @selectStrWhere = @selectStrWhere+' and 工序 like + ''%'' + @工序名称 + ''%'' ' 
    if(@设备_check = 1) 
        set @selectStrWhere = @selectStrWhere+' and 设备 like + ''%'' + @设备 + ''%'' ' 

    set @selectStr = @selectStr+@selectStrWhere 

    EXEC sp_executesql @selectStr,
        N'@零件名称 nvarchar(50),@合同编号 nvarchar(50),@工序名称 nvarchar(50),@设备 nvarchar(50),@年 int,@月 int ', 
        @零件名称,@合同编号,@工序名称,@设备,@,@

5. 前端组件设计

5.1 组件结构

文件路径: src/views/SeikoWorkshop/ProductionPlan/index.vue

5.2 功能模块

5.2.1 查询区域

控件 类型 绑定字段 说明
月份选择器 el-date-picker monthValue 选择查询月份(必填)
订单编号输入框 el-input orderNumberTypeValue 按订单编号筛选
零件名称输入框 el-input partNameValue 按零件名称或图号筛选
产品名称输入框 el-input productNameValue 按产品名称筛选
状态下拉框 el-select statusValue 按状态筛选(待料/生产中/已完成)
查询按钮 el-button - 触发查询

5.2.2 表格展示区域

列名 宽度 说明 特殊处理
序号 50px 行号 固定列
状态 60px 订单状态 标签展示,不同状态不同颜色
订单编号 140px 订单编号 固定列
收货人 80px 收货人 固定列
投产日期 80px 投产日期 -
订单交货日期 100px 订单交货日期 -
数量 60px 订单数量 -
产品名称 120px 产品名称 -
规格型号 140px 规格型号 -
零件名称 120px 零件名称 -
零件图号 120px 零件图号 -
毛坯类型 100px 毛坯类型 -
完成率 80px 完成率 -
当前状态 80px 当前状态 -
OP010~OP110 60px 各工序状态 -

5.2.3 分页区域

功能 说明
总条数 显示查询结果总数
每页条数选择 支持10/20/30/40/100
页码跳转 支持上一页/下一页/直接跳转

5.3 数据交互流程

sequenceDiagram
    participant 前端 as Vue组件
    participant API as API接口
    participant 数据库 as SQL Server

    前端->>前端: 用户输入筛选条件
    前端->>前端: 调用searchTable1()方法
    前端->>API: 调用CreateData()创建请求参数
    API->>数据库: 执行存储过程车间生产管理_生产计划_查询数据
    数据库-->>API: 返回查询结果
    API-->>前端: 返回response数据
    前端->>前端: 更新tableData2和total
    前端->>前端: 渲染表格和分页

5.4 关键代码说明

5.4.1 数据参数构造

var param = []
param[0] = ['订单编号', this.orderNumberTypeValue]
param[1] = ['订单编号_check', orderNumberTypeValue_check]
param[2] = ['零件名称_check', partNameValue_check]
param[3] = ['零件名称', this.partNameValue]
param[4] = ['产品名称_check', productNameValue_check]
param[5] = ['产品名称', this.productNameValue]
param[6] = ['状态_check', statusValue_check]
param[7] = ['状态', this.statusValue]
param[8] = ['月份', this.monthValue]

5.4.2 数据请求调用

var Data = this.CreateData('11', '车间生产管理_生产计划_查询数据', param, this.pageSize, this.pageCurrent)
this.ExecDatabase(Data).then(response => {
    this.tableData2 = response.data.rows
    this.total = response.data.total
})

6. 详细工作步骤

6.1 数据库层开发

步骤 任务 负责人 预计时间 状态
1 创建/确认视图车间生产管理_生产计划_视图 DBA 1天 -
2 创建/更新存储过程车间生产管理_生产计划_查询数据 DBA 0.5天 -
3 测试存储过程执行结果 DBA 0.5天 -

6.2 前端组件开发

步骤 任务 负责人 预计时间 状态
1 创建查询区域UI日期选择器、输入框、下拉框 前端开发 0.5天 -
2 创建表格展示区域(列定义、样式、状态标签) 前端开发 1天 -
3 实现分页功能(页码切换、条数选择) 前端开发 0.5天 -
4 实现数据查询逻辑参数构造、API调用 前端开发 1天 -
5 联调测试(接口对接、数据展示验证) 前端开发 1天 -

6.3 测试与上线

步骤 任务 负责人 预计时间 状态
1 功能测试(查询、筛选、分页) 测试人员 1天 -
2 性能测试(大数据量查询) 测试人员 0.5天 -
3 Bug修复 开发人员 0.5天 -
4 代码评审 技术负责人 0.5天 -
5 上线部署 运维人员 0.5天 -

7. 注意事项

7.1 数据库注意事项

  1. 确保视图车间生产管理_生产计划_视图包含年份月份字段用于筛选
  2. 存储过程使用动态SQL需注意SQL注入风险
  3. 建议对查询结果添加索引优化性能

7.2 前端注意事项

  1. 月份为必填项,需添加非空校验
  2. 表格列较多,需设置合理的宽度和滚动
  3. 状态标签颜色需根据业务需求调整

7.3 安全注意事项

  1. 输入参数需进行校验和过滤
  2. 敏感数据需进行脱敏处理
  3. API调用需携带认证信息

8. 附录

8.1 状态映射表

状态值 显示文本 标签类型
待料 待料 warning
生产中 生产中 success
已完成 已完成 info

8.2 日期格式说明

  • 月份格式:yyyy-M2024-01
  • 日期格式:yyyy-MM-dd2024-01-15

8.3 文件路径汇总

文件类型 文件路径
前端组件 src/views/SeikoWorkshop/ProductionPlan/index.vue
API配置 src/assets/img/api/ManufacturingCenter/ProductionPlanQuery.js
图标文件 src/icons/svg/ProductionPlan.svg