Files
yl/MES_Manage_View_V20/元利项目详细分析.md
2026-05-25 18:30:31 +08:00

9795 lines
1.3 MiB
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MES_Manage_View_V20 src/views 逐页面详细分析
生成日期2026-05-25
分析范围:`MES_Manage_View_V20/src/views` 下 78 个 .vue/.js 文件;辅助读取 `src/api`、`config/index.js`、`static/config.js` 和 SQL 脚本。
## 重要说明
- 页面功能不是只按文件名猜测,报告同时参考页面路径、按钮/字段文案、方法名、存储过程名和 SQL 过程体。
- 存储过程处理说明来自 SQL 静态解析读写对象、参数、返回字段、过滤条件、更新语句、分组分页、JSON、事务、SAP 链接库等。
- 如果某个过程没有解析到过程体,报告会明确说明不能准确判断内部表/视图和处理逻辑。
## 技术路线总览
- 前端Vue 2.7、Vue Router、Vuex、Element UI页面以 Options API 为主。
- 数据访问:页面调用 `this.CreateData(type, procedureName, params[, pageSize, pageCurrent])` 组包,再调用 `this.ExecDatabase(data)` 访问后端。
- 后端:统一接口接收 type/name/param执行 SQL Server 存储过程,返回 `response.data` 和分页信息。
- 数据库:`YL_MESDB`,核心对象包括生产计划/生产任务、加工中心操作记录、质检记录、设备数据、权限菜单等表和视图。
- SAP`src/api/b1s.js` 通过 `window.dt_Config.baseURLB1` 访问 B1 Service Layer部分过程也跨库读取 `SAP.SBO_YL.dbo.*`。
## 模块汇总
| 模块 | 页面数 | 主要能力 |
|---|---:|---|
| 404.vue | 1 | 布局/静态页面 |
| AnomalousManagement | 1 | 过程 4 个 |
| CraftManagement | 1 | 过程 4 个 |
| DeviceManagement | 4 | 过程 11 个 |
| PlanManagement | 8 | 过程 22 个、直接 SAP 调用 8 处 |
| ProcessManagement | 9 | 过程 55 个、直接 SAP 调用 3 处 |
| ProductionManagement | 23 | 过程 111 个、直接 SAP 调用 15 处 |
| QualityManagement | 13 | 过程 54 个、直接 SAP 调用 7 处 |
| SaleManagement | 1 | 过程 4 个 |
| SystemMaintenance | 6 | 过程 20 个、直接 SAP 调用 2 处 |
| dashboard | 1 | 布局/静态页面 |
| layout | 9 | 过程 4 个 |
| login | 1 | 布局/静态页面 |
## SAP 交互总清单
| 页面 | 行号 | 方法 | 接口 | 提交字段线索 |
|---|---:|---|---|---|
| `src/views/PlanManagement/InstallMakePlanDo/index.vue` | 1332 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` |
| `src/views/PlanManagement/InstallMakePlanDo/index.vue` | 1523 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` |
| `src/views/PlanManagement/InstallMakePlan/index.vue` | 1332 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` |
| `src/views/PlanManagement/InstallMakePlan/index.vue` | 1523 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` |
| `src/views/PlanManagement/PlannOrderClose/index.vue` | 117 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`ProductionOrderStatus` |
| `src/views/PlanManagement/SelfMakePlan/index.vue` | 1500 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` |
| `src/views/PlanManagement/SelfMakePlando/index.vue` | 1433 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` |
| `src/views/PlanManagement/SelfMakePlandone/index.vue` | 1259 | `patchB1` | `/ProductionOrders(` | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` |
| `src/views/ProcessManagement/ProcedureManagement/index.vue` | 155 | `postB1` | `/RouteStages` | `Code`、`Description`、`CreationDate`、`DateOfUpdate` |
| `src/views/ProcessManagement/ProcedureManagement/index.vue` | 192 | `getB1` | `/RouteStages` | `filter`、`Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type` |
| `src/views/ProcessManagement/ProcedureManagement/index.vue` | 198 | `patchB1` | `/RouteStages(` | `Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type`、`top` |
| `src/views/ProductionManagement/AssemblyCenter/index.vue` | 3561 | `getB1` | `/ProductionOrders` | `filter`、`数据`、`lines`、`请求失败` |
| `src/views/ProductionManagement/AssemblyCenter/index.vue` | 3730 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
| `src/views/ProductionManagement/MachiningCenter/index.vue` | 5751 | `posttm` | `/stocktask/task/receiptordertask` | `label` |
| `src/views/ProductionManagement/MachiningCenter/index.vue` | 6409 | `getB1` | `/ProductionOrders` | `filter`、`数据`、`lines`、`请求失败` |
| `src/views/ProductionManagement/MachiningCenter/index.vue` | 6560 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
| `src/views/ProductionManagement/OutsourceMange/index.vue` | 966 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` |
| `src/views/ProductionManagement/SaleOutsourceMange/index.vue` | 1041 | `postB1` | `/PurchaseRequests` | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments` |
| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 1105 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`更新SAP工序和资源失败` |
| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 2124 | `getB1` | `/ProductionOrders` | `filter` |
| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 2255 | `getB1` | `/ProductionOrders` | `filter`、`加班记录`、`记录` |
| `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` | 2311 | `postB1` | `/InventoryGenExits` | `DocDate`、`DocDueDate`、`Comments`、`DocumentLines`、`处理记录失败` |
| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 577 | `getB1` | `/ProductionOrders` | `filter`、`获取订单数据失败`、`获取到工序数据`、`success`、`error`、`结构异常`、`获取到订单` |
| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 672 | `getB1` | `/ProductionOrders` | `filter`、`使用原订单` |
| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 733 | `postB1` | `/InventoryGenExits` | `DocDate`、`DocDueDate`、`Comments`、`AID`、`DocumentLines`、`success`、`error`、`提交工时单据失败`、`warning` |
| `src/views/ProductionManagement/WorkHoursCheck/index.vue` | 1482 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`查找设备资源`、`StageID` |
| `src/views/QualityManagement/CheckTask/materialReturn.vue` | 878 | `getB1` | `/ProductionOrders` | `filter`、`lines`、`doc_date`、`doc_type`、`external_num`、`target_type`、`task_items`、`base_type`、`item_code`、`item_name` |
| `src/views/QualityManagement/CheckTask/materialReturn.vue` | 921 | `posttm` | `/stocktask/task/receiptordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
| `src/views/QualityManagement/CheckTask/processReceive.vue` | 820 | `postB1` | `/QueryService_PostQuery` | `QueryPath`、`QueryOption` |
| `src/views/QualityManagement/CheckTask/processReceive.vue` | 842 | `postB1` | `/PurchaseDeliveryNotes` | `CardCode`、`CardName`、`DocDate`、`DocumentLines`、`BaseEntry`、`BaseLine`、`BaseType`、`Quantity`、`U_WWPassedQty` |
| `src/views/QualityManagement/CheckTask/salesReturn.vue` | 623 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
| `src/views/QualityManagement/QualityCenter/index.vue` | 3415 | `getB1` | `/ProductionOrders` | `filter`、`数据`、`lines`、`请求失败` |
| `src/views/QualityManagement/QualityCenter/index.vue` | 3584 | `posttm` | `/stocktask/task/issueordertask` | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
| `src/views/SystemMaintenance/WorkstationManagement/index.vue` | 201 | `patchB1` | `/Resources('` | `Name`、`message`、`type`、`VisCode`、`ForeignName` |
| `src/views/SystemMaintenance/WorkstationManagement/index.vue` | 235 | `postB1` | `/Resources` | `VisCode`、`Name`、`ForeignName`、`Type`、`Group`、`UnitOfMeasure`、`IssueMethod`、`Active`、`Inactive`、`Remarks` |
## 1. src/views/404.vue
**页面位置**`src/views/404.vue`
**所属模块**404.vue
**源码行数**255
### 页面功能
该页面是 404 错误页,用于路由不存在时展示错误信息。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`data`、`message`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 2. src/views/AnomalousManagement/PunctualWork/index.vue
**页面位置**`src/views/AnomalousManagement/PunctualWork/index.vue`
**所属模块**AnomalousManagement / PunctualWork
**源码行数**697
### 页面功能
该页面用于发现“计划应开工但现场未及时开工”的任务。用户按任务状态、工位、工序、异常原因等条件筛选,页面展示生产订单、销售订单、物料、工序、指派对象、分配数量、上序合格数、加工/收料状态和加急数量,服务于生产异常提醒和催办。
页面可见的操作/字段包括 “全部”、“待执行”、“可执行”、“已开工”、“已完成”、“item.指南工位号”、“指派对象”、“生产订单”、“销售订单”、“物料名称”,这些是判断页面业务范围的主要线索。
后端主要围绕 `异常提醒_及时开工_查询`、`MES_登录_工位与名称_查询`、`Prog_MES_LoadProcess`、`查询字典` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `异常提醒_及时开工_查询` -> `MES_登录_工位与名称_查询` -> `Prog_MES_LoadProcess` -> `查询字典` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`全部`、`待执行`、`可执行`、`已开工`、`已完成`、`item.指南工位号`、`指派对象`、`生产订单`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`收料状态`、`加急数量`
主要方法线索:`searchTable`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.TaskAID ` | `@TaskAID` | `TaskAID, ` |
| 参数 | `this.orderNo2 ` | `@订单号` | `[订单编号] as 订单号, ` |
| 参数 | `this.productCode2` | `@零件编号` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `this.productionStatus2` | `@生产状态` | - |
| 参数 | `this.Doing` | `@工位名称` | - |
| 参数 | `this.$store.state.user.id` | `@用户ID` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `this.salenum` | `@销售订单` | - |
| 显示列 | `指派对象` | - | `指派对象` |
| 显示列 | `生产订单` | - | `[订单编号] as 订单号, ` |
| 显示列 | `销售订单` | - | `合同号, ` |
| 显示列 | `物料名称` | - | `[物料描述] as 零件名称, ` |
| 显示列 | `物料编码` | - | `[物料编号] as 零件编码, ` |
| 显示列 | `顺序` | - | `顺序` |
| 显示列 | `工序名称` | - | `[工艺编号], [工序名称]` |
| 显示列 | `分配数` | - | `分配数` |
| 显示列 | `上序合格数` | - | `上序合格数` |
| 显示列 | `加工状态` | - | `加工状态` |
| 显示列 | `收料状态` | - | `收料状态` |
| 显示列 | `加急数量` | - | `加急数量` |
| 显示列 | `下序名称` | - | `下序名称` |
| 显示列 | `加急` | - | `加急总数, ` |
| 显示列 | `优先` | - | `优先` |
| 显示列 | `首检` | - | `首检` |
| 显示列 | `序检` | - | `序检` |
| 显示列 | `内码` | - | `[订单拆分内码], ` |
| 显示列 | `完成数` | - | `完成数量` |
| 显示列 | `任务状态` | - | `任务状态` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `计划开始` | - | `计划开始` |
| 显示列 | `计划完成` | - | `计划完成` |
| 显示列 | `开工时间` | - | `[开工时间], ` |
| 显示列 | `备注` | - | `派工特殊说明, ` |
| 显示列 | `收料数` | - | `收料` |
| 输入字段 | `TaskAID` | `@TaskAID` | - |
| 输入字段 | `orderNo2` | `@订单号` | - |
| 输入字段 | `productCode2` | `@零件编号` | - |
| 输入字段 | `plannum` | `@计划号` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 555 | 11当前通用存储过程查询/执行) | `异常提醒_及时开工_查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 610 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 663 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 675 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `异常提醒_及时开工_查询``@生产状态 int = -1, ``DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '``派工特殊说明, ``case when isnull([加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], ``[二次派工], ``[计划完成时间] as 计划完成, ``isnull([完成数量], 0) as 完成数量, ``when isnull(发料状态, 0) = 1 then ''发料齐套''`
### 数据库调用链
- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `异常提醒_及时开工_查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/AnomalousManagement/PunctualWork/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
### 存储过程处理逻辑明细
- `异常提醒_及时开工_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(500)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`。 主要返回字段线索:`TaskAID, `、`[订单编号] as 订单号, `、`合同号, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号] as 零件编码, `、`[物料描述] as 零件名称, `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '``WHERE next_task.[订单编号] = main.[订单编号]``AND next_task.[订单行号] = main.[订单行号] + 1``AND next_task.[排产状态] = 1``WHERE b.订单编号 = main.[订单编号]``AND b.订单行号 = main.[订单行号] - 1``AND a.检测类型编号 = 6``WHERE EXISTS (``WHERE b.订单编号 = main.订单编号``AND b.订单行号 = main.订单行号`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND [指派对象] ''外协'' AND [指派对象] NOT LIKE ''%装配%'' AND [指派对象] ''期初物料'' and (计划开始时间 < 开工时间 or 开工时间 is null) and isnull(加工状态, 0) = 0 '``SET @whereStr = @whereStr + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @whereStr = @whereStr + ' AND [计划号] = '''+@计划号+''''``SET @whereStr = @whereStr + ' AND [合同号] LIKE ''%' + @销售订单 + '%'''``SET @whereStr = @whereStr + ' AND [TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)``SET @whereStr = @whereStr + ' AND [物料编号] LIKE ''%' + @零件编号 + '%'''``SET @whereStr = @whereStr + ' AND [计划开始时间] < = ''' + @计划开工_End + ''''``SET @whereStr = @whereStr +``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) IN (0, 1, 2) '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 0 '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 1 '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 2 '`。 排序/分组/分页线索:`ORDER BY next_task.[订单行号]) AS 下序名称, ``SET @selStr = @selStr + @whereStr + ' ORDER BY [计划开始时间], 指派对象'`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
## 3. src/views/CraftManagement/CraftMaintain/index.vue
**页面位置**`src/views/CraftManagement/CraftMaintain/index.vue`
**所属模块**CraftManagement / CraftMaintain
**源码行数**302
### 页面功能
该页面维护产品结构树。用户可以新增、编辑、删除产品结构节点查询现有产品结构并为后续工艺、物料、BOM 或生产任务提供层级基础数据。
页面可见的操作/字段包括 “新增”、“编辑”、“删除”、“展开”、“产品结构维护”、“产品材料维护”、“工艺参数维护”,这些是判断页面业务范围的主要线索。
后端主要围绕 `WEB_基本表_产品结构_新增`、`WEB_基本表_产品结构_查询`、`WEB_基本表_产品结构_删除`、`WEB_基本表_产品结构_修改` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `WEB_基本表_产品结构_新增` -> `WEB_基本表_产品结构_查询` -> `WEB_基本表_产品结构_删除` -> `WEB_基本表_产品结构_修改` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`新增`、`编辑`、`删除`、`展开`、`产品结构维护`、`产品材料维护`、`工艺参数维护`
主要方法线索:`handleAdd`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.productId` | `@父节点` | - |
| 参数 | `value` | `@节点名称` | - |
| 参数 | `this.PartType.substring(0, 4)` | `@节点类型` | - |
| 参数 | `this.productId` | `@子节点` | - |
| 输入字段 | `PartType` | `@节点类型` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 97 | 11当前通用存储过程查询/执行) | `WEB_基本表_产品结构_新增` | 新增业务数据 | 未找到过程体 | 未知 |
| 110 | 11当前通用存储过程查询/执行) | `WEB_基本表_产品结构_查询` | 查询/读取数据 | 未找到过程体 | 未知 |
| 129 | 11当前通用存储过程查询/执行) | `WEB_基本表_产品结构_删除` | 删除业务数据 | 未找到过程体 | 未知 |
| 161 | 11当前通用存储过程查询/执行) | `WEB_基本表_产品结构_修改` | 更新/保存业务数据 | 未找到过程体 | 未知 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_新增` -> 过程体未解析 -> 新增业务数据
- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_查询` -> 过程体未解析 -> 查询/读取数据
- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_删除` -> 过程体未解析 -> 删除业务数据
- `src/views/CraftManagement/CraftMaintain/index.vue` -> `WEB_基本表_产品结构_修改` -> 过程体未解析 -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `WEB_基本表_产品结构_新增` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_基本表_产品结构_查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_基本表_产品结构_删除` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_基本表_产品结构_修改` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
## 4. src/views/DeviceManagement/DeviceDataHistory/index.vue
**页面位置**`src/views/DeviceManagement/DeviceDataHistory/index.vue`
**所属模块**DeviceManagement / DeviceDataHistory
**源码行数**183
### 页面功能
该页面查询设备历史采集数据。用户按工位/设备、参数名称、起止时间分页查询历史记录,用于追溯设备运行参数。
页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“设备编号”、“数值”、“单位”、“采集时间”、“结束日期”、“开始日期”这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`设备管理_设备数据_历史查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `设备管理_设备数据_历史查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`item.name`、`设备名称`、`参数名称`、`设备编号`、`数值`、`单位`、`采集时间`、`结束日期`、`开始日期`、`请选择设备`、`请输入参数名称`
主要方法线索:`getbasedata`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.pageCurrent` | `@PageCurrent` | - |
| 参数 | `this.pageSize` | `@PageSize` | - |
| 参数 | `'1111', 'int', '1'` | `@PageCount` | - |
| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - |
| 参数 | `this.completionTime[0` | `@开始时间` | - |
| 参数 | `this.completionTime[1` | `@结束时间` | - |
| 参数 | `this.equipmentType` | `@设备名称` | - |
| 参数 | `this.dataname` | `@参数名称` | - |
| 显示列 | `设备名称` | - | `Zone` |
| 显示列 | `参数名称` | - | `TagName` |
| 显示列 | `设备编号` | - | `TagID` |
| 显示列 | `数值` | - | `数值` |
| 显示列 | `单位` | - | `TagUnit` |
| 显示列 | `采集时间` | - | `采集时间` |
| 输入字段 | `completionTime` | `@开始时间` | - |
| 输入字段 | `equipmentType` | `@设备名称` | - |
| 输入字段 | `dataname` | `@参数名称` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 142 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 162 | 11当前通用存储过程查询/执行) | `设备管理_设备数据_历史查询` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `设备管理_设备数据_历史查询``, [在线状态]`
### 数据库调用链
- `src/views/DeviceManagement/DeviceDataHistory/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/DeviceManagement/DeviceDataHistory/index.vue` -> `设备管理_设备数据_历史查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `设备管理_设备数据_历史查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@结束时间 nvarchar(50),`、`@开始时间 nvarchar(50),`、`@设备名称 nvarchar(50),`、`@参数名称 nvarchar(50)`。 关键过滤/匹配条件:`declare @where nvarchar(1000)``set @where = ' 1 = 1 '``SET @where = @where + N' AND 工位号 = ''' + REPLACE(@设备名称, '''', '''''') + '''';``SET @where = @where + N' AND 变量名称 LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';``SET @where = @where + N' AND 创建时间 > = ''' + REPLACE(@开始时间, '''', '''''') + '''';``SET @where = @where + N' AND 创建时间 < = ''' + REPLACE(@结束时间, '''', '''''') + '''';``exec [dbo].[sp_xt_pagesplit] @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`set @tbname = '历史_设备数据_定时'``set @fieldkey = 'AID'``set @where = ' 1 = 1 '``set @fieldOrder = ''``set @fieldshow = '[AID]``SET @where = @where + N' AND 工位号 = ''' + REPLACE(@设备名称, '''', '''''') + '''';``SET @where = @where + N' AND 变量名称 LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';``SET @开始时间 = @开始时间 + ' 00:00:00.000'``SET @结束时间 = @结束时间 + ' 23:59:59.999'``SET @where = @where + N' AND 创建时间 > = ''' + REPLACE(@开始时间, '''', '''''') + '''';``SET @where = @where + N' AND 创建时间 < = ''' + REPLACE(@结束时间, '''', '''''') + '''';`。 实现特征:分页。
## 5. src/views/DeviceManagement/DeviceInformation/index.vue
**页面位置**`src/views/DeviceManagement/DeviceInformation/index.vue`
**所属模块**DeviceManagement / DeviceInformation
**源码行数**434
### 页面功能
该页面维护设备台账和设备相关基础资料。用户可以查询设备信息,新增、修改、删除设备,维护维修记录、工时记录或点检配置。
页面可见的操作/字段包括 “查询”、“设备”、“--> 取消”、“确定”、“item.name”、“设备名称”、“设备型号”、“设备类型”、“加工工艺”、“工位”这些是判断页面业务范围的主要线索。
后端主要围绕 `查询字典`、`设备管理_设备信息_查询`、`设备管理_设备信息_增加`、`设备管理_设备信息_编辑`、`设备管理_设备信息_删除` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `查询字典` -> `设备管理_设备信息_查询` -> `设备管理_设备信息_增加` -> `设备管理_设备信息_编辑` -> `设备管理_设备信息_删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`设备`、`--> 取消`、`确定`、`item.name`、`设备名称`、`设备型号`、`设备类型`、`加工工艺`、`工位`、`工时单价(元/小时)`、`月设备加工能力`、`点检类型名称`、`操作`、`item.label`、`工位号`、`工时单价`、`点检类型`
主要方法线索:`getbasedata`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `设备名称` | - | `设备名称` |
| 显示列 | `设备型号` | - | `设备型号` |
| 显示列 | `设备类型` | - | `*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称` |
| 显示列 | `加工工艺` | - | `加工工艺` |
| 显示列 | `工位` | - | `工位` |
| 显示列 | `工时单价(元/小时)` | - | `工时单价(元/小时)` |
| 显示列 | `月设备加工能力` | - | `月设备加工能力` |
| 显示列 | `点检类型名称` | - | `点检类型名称` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `equipmentName` | - | - |
| 输入字段 | `equipmentType` | - | - |
| 输入字段 | `opName` | - | - |
| 输入字段 | `form.设备名称` | - | - |
| 输入字段 | `form.设备型号` | - | - |
| 输入字段 | `form.设备类型` | - | - |
| 输入字段 | `form.加工工艺` | - | - |
| 输入字段 | `form.工位号` | - | - |
| 输入字段 | `form.工时单价` | - | - |
| 输入字段 | `form.月设备加工能力` | - | - |
| 输入字段 | `form.点检类型` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 235 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 257 | 11当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 318 | 12当前通用存储过程写入/业务动作) | `设备管理_设备信息_增加` | 新增业务数据 | 查询、新增、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 351 | 12当前通用存储过程写入/业务动作) | `设备管理_设备信息_编辑` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 378 | 12当前通用存储过程写入/业务动作) | `设备管理_设备信息_编辑` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 404 | 12当前通用存储过程写入/业务动作) | `设备管理_设备信息_删除` | 删除业务数据 | 查询、删除 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_增加` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据
- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_编辑` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_编辑` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/DeviceManagement/DeviceInformation/index.vue` -> `设备管理_设备信息_删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据
### 存储过程处理逻辑明细
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = ``set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'``set @selectStr = @selectStr+@selectStrWhere`。
- `设备管理_设备信息_增加` 属于 设备与实时数据,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备名称 nvarchar(50)`、`@设备类型 nvarchar(50)`、`@设备型号 nvarchar(50)`、`@加工工艺 int`、`@点检类型 int`、`@工位 nvarchar(50)`、`@工时单价 float`、`@月设备加工能力 float`。 关键写入/状态处理语句线索:`insert into 基础数据_设备工位点检表(设备名称, 设备型号, 设备类型)values(@设备名称, @设备型号, @设备类型)`。
- `设备管理_设备信息_编辑` 属于 设备与实时数据,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备流水号 int`、`@设备名称 nvarchar(50)`、`@设备类型 nvarchar(50)`、`@设备型号 nvarchar(50)`、`@加工工艺 int`、`@点检类型 int`、`@工位 nvarchar(50)`、`@原工位 nvarchar(50)`、`@工时单价 float`、`@月设备加工能力 float`。 关键过滤/匹配条件:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。 关键写入/状态处理语句线索:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。
- `设备管理_设备信息_编辑` 属于 设备与实时数据,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备流水号 int`、`@设备名称 nvarchar(50)`、`@设备类型 nvarchar(50)`、`@设备型号 nvarchar(50)`、`@加工工艺 int`、`@点检类型 int`、`@工位 nvarchar(50)`、`@原工位 nvarchar(50)`、`@工时单价 float`、`@月设备加工能力 float`。 关键过滤/匹配条件:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。 关键写入/状态处理语句线索:`update 基础数据_设备工位点检表 set 设备名称 = @设备名称, 设备型号 = @设备型号, 设备类型 = @设备类型 where 设备流水号 = @设备流水号`。
- `设备管理_设备信息_删除` 属于 设备与实时数据,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础数据_设备工位点检表`。 入参/分页参数:`@设备流水号 int`。 关键过滤/匹配条件:`delete from 基础数据_设备工位点检表 where 设备流水号 = @设备流水号`。 关键写入/状态处理语句线索:`delete from 基础数据_设备工位点检表 where 设备流水号 = @设备流水号`。
## 6. src/views/DeviceManagement/DeviceRealData/index.vue
**页面位置**`src/views/DeviceManagement/DeviceRealData/index.vue`
**所属模块**DeviceManagement / DeviceRealData
**源码行数**306
### 页面功能
该页面展示设备实时或近实时数据。用户按工位和数据类型查询当前采集值、统计值或状态,通常用于设备运行监控。
页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“参数值”、“操作”、“开始时间”、“结束时间”、“状态”、“时长(m)”,这些是判断页面业务范围的主要线索。
后端主要围绕 `设备管理_设备数据_工位信息_查询`、`设备管理_设备数据_统计数据查询`、`设备管理_设备数据_统计数据查询_通过类型` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `设备管理_设备数据_工位信息_查询` -> `设备管理_设备数据_统计数据查询` -> `设备管理_设备数据_统计数据查询_通过类型` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`item.name`、`设备名称`、`参数名称`、`参数值`、`操作`、`开始时间`、`结束时间`、`状态`、`时长(m)`、`订单编号`、`加工时长`、`采集时间`、`结束日期`、`开始日期`、`请选择设备`
主要方法线索:`getbasedata`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.pageCurrent` | `@PageCurrent` | - |
| 参数 | `this.pageSize` | `@PageSize` | - |
| 参数 | `'1111', 'int', '1'` | `@PageCount` | - |
| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - |
| 参数 | `this.completionTime[0` | `@开始时间` | - |
| 参数 | `this.completionTime[1` | `@结束时间` | - |
| 参数 | `this.equipmentType` | `@设备名称` | - |
| 参数 | `row.参数名称` | `@参数名称` | - |
| 参数 | `row.数据类型` | `@数据类型` | - |
| 显示列 | `设备名称` | - | `Zone` |
| 显示列 | `参数名称` | - | `TagName` |
| 显示列 | `参数值` | - | `参数值` |
| 显示列 | `操作` | - | `操作` |
| 显示列 | `开始时间` | - | `Zone` |
| 显示列 | `结束时间` | - | `TagName` |
| 显示列 | `状态` | - | `工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间` |
| 显示列 | `时长(m)` | - | `时长(m)` |
| 显示列 | `订单编号` | - | `Zone` |
| 显示列 | `加工时长` | - | `TagName` |
| 显示列 | `采集时间` | - | `采集时间` |
| 输入字段 | `completionTime` | `@开始时间` | - |
| 输入字段 | `equipmentType` | `@设备名称` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 170 | 11当前通用存储过程查询/执行) | `设备管理_设备数据_工位信息_查询` | 查询/读取数据 | 查询、新增 | 未在 SQL 中解析到明确依赖 |
| 200 | 11当前通用存储过程查询/执行) | `设备管理_设备数据_统计数据查询` | 查询/读取数据 | 查询、新增、处理报工/工时 | 表:`YL_设备管理_工时记录` |
| 283 | 11当前通用存储过程查询/执行) | `设备管理_设备数据_统计数据查询_通过类型` | 查询/读取数据 | 查询、处理报工/工时 | 表:`YL_设备管理_工时记录` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `设备管理_设备数据_统计数据查询``select top 1 @开机时刻 = convert(varchar(19), 创建时间, 121) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 1 order by 创建时间``select @停机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 0``select @报警时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 2``select @关机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = -1`
- `设备管理_设备数据_统计数据查询_通过类型``declare @设备状态 int = -999``declare @状态名称 nvarchar(50) = '未知'``if(@参数名称 = '开机时刻') begin set @设备状态 = 0 set @状态名称 = '开机' end``if(@参数名称 = '停机时长') begin set @设备状态 = 0 set @状态名称 = '停机' end``if(@参数名称 = '报警时长') begin set @设备状态 = 2 set @状态名称 = '报警' end``if(@参数名称 = '关机时长') begin set @设备状态 = -1 set @状态名称 = '关机' end``select 工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间 from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = @设备状态 order by 创建时间`
### 数据库调用链
- `src/views/DeviceManagement/DeviceRealData/index.vue` -> `设备管理_设备数据_工位信息_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/DeviceManagement/DeviceRealData/index.vue` -> `设备管理_设备数据_统计数据查询` -> 表:`YL_设备管理_工时记录` -> 查询/读取数据
- `src/views/DeviceManagement/DeviceRealData/index.vue` -> `设备管理_设备数据_统计数据查询_通过类型` -> 表:`YL_设备管理_工时记录` -> 查询/读取数据
### 存储过程处理逻辑明细
- `设备管理_设备数据_工位信息_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增。 读取/关联对象:未在 SQL 中解析到明确依赖。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`insert into @TempTable (工位名称, 工位号)values('加3', '加3')`。
- `设备管理_设备数据_统计数据查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_设备管理_工时记录`。 入参/分页参数:`@结束时间 nvarchar(50),`、`@开始时间 nvarchar(50),`、`@设备名称 nvarchar(50)`。 主要返回字段线索:`top 1 @开机时刻 = convert(varchar(19), 创建时间, 121)`。 关键过滤/匹配条件:`select top 1 @开机时刻 = convert(varchar(19), 创建时间, 121) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 1 order by 创建时间``select @停机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 0``select @报警时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 2``select @关机时长 = count(1) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = -1``select @程序时长 = sum(循环时间) from [YL_设备管理_工时记录] where 指派对象 = @设备名称 and 采集时间 > = @开始时间 and 采集时间 < = @结束时间`。 关键写入/状态处理语句线索:`set @开始时间 = @开始时间 + ' 00:00:00.000'``set @结束时间 = @结束时间 + ' 23:59:59.999'``insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '开机时刻', @开机时刻, 0)``insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '停机时长', @停机时长, 1)``insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '关机时长', @关机时长, 1)``insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '报警时长', @报警时长, 1)``insert into @TempTable (设备名称, 参数名称, 参数值, 数据类型)values(@设备名称, '程序时长', @程序时长, 2)`。 排序/分组/分页线索:`select top 1 @开机时刻 = convert(varchar(19), 创建时间, 121) from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = 1 order by 创建时间`。
- `设备管理_设备数据_统计数据查询_通过类型` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_设备管理_工时记录`。 入参/分页参数:`@结束时间 nvarchar(50),`、`@开始时间 nvarchar(50),`、`@设备名称 nvarchar(50),`、`@参数名称 nvarchar(50),`、`@数据类型 int`。 主要返回字段线索:`工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间`。 关键过滤/匹配条件:`select 工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间 from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = @设备状态 order by 创建时间``select * from [YL_设备管理_工时记录] where 指派对象 = @设备名称 and 采集时间 > = @开始时间 and 采集时间 < = @结束时间 order by 采集时间`。 关键写入/状态处理语句线索:`SET @开始时间 = @开始时间 + ' 00:00:00.000'``SET @结束时间 = @结束时间 + ' 23:59:59.999'``if(@参数名称 = '开机时刻') begin set @设备状态 = 0 set @状态名称 = '开机' end``if(@参数名称 = '停机时长') begin set @设备状态 = 0 set @状态名称 = '停机' end``if(@参数名称 = '报警时长') begin set @设备状态 = 2 set @状态名称 = '报警' end``if(@参数名称 = '关机时长') begin set @设备状态 = -1 set @状态名称 = '关机' end`。 排序/分组/分页线索:`select 工位号, 设备状态, @状态名称 as 状态名称, convert(varchar(16), 创建时间, 121) as 创建时间 from 历史_工位设备状态每分钟记录 where [工位号] = @设备名称 and 创建时间 > = @开始时间 and 创建时间 < = @结束时间 and 设备状态 = @设备状态 order by 创建时间``select * from [YL_设备管理_工时记录] where 指派对象 = @设备名称 and 采集时间 > = @开始时间 and 采集时间 < = @结束时间 order by 采集时间`。
## 7. src/views/DeviceManagement/Devicedata/index.vue
**页面位置**`src/views/DeviceManagement/Devicedata/index.vue`
**所属模块**DeviceManagement / Devicedata
**源码行数**165
### 页面功能
该页面面向设备采集数据管理,查询缓存变量和设备数据,支持按设备、参数、时间等维度查看实时或历史采集结果。
页面可见的操作/字段包括 “查询”、“item.name”、“设备名称”、“参数名称”、“设备编号”、“数值”、“单位”、“更新时间”、“请选择设备”、“请输入参数名称”这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`设备管理_设备数据查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `设备管理_设备数据查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`item.name`、`设备名称`、`参数名称`、`设备编号`、`数值`、`单位`、`更新时间`、`请选择设备`、`请输入参数名称`
主要方法线索:`getbasedata`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.pageCurrent` | `@PageCurrent` | - |
| 参数 | `this.pageSize` | `@PageSize` | - |
| 参数 | `'1111', 'int', '1'` | `@PageCount` | - |
| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - |
| 参数 | `this.equipmentType` | `@设备名称` | - |
| 参数 | `this.dataname` | `@参数名称` | - |
| 显示列 | `设备名称` | - | `[Zone], ` |
| 显示列 | `参数名称` | - | `[TagName], ` |
| 显示列 | `设备编号` | - | `[TagID], ` |
| 显示列 | `数值` | - | `数值` |
| 显示列 | `单位` | - | `TagUnit` |
| 显示列 | `更新时间` | - | `更新时间` |
| 输入字段 | `equipmentType` | `@设备名称` | - |
| 输入字段 | `dataname` | `@参数名称` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 126 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 144 | 11当前通用存储过程查询/执行) | `设备管理_设备数据查询` | 查询/读取数据 | 查询、分页 | 表:`CaChe_Var` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `设备管理_设备数据查询``WHEN [TagName] = N''设备状态'' THEN`
### 数据库调用链
- `src/views/DeviceManagement/Devicedata/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/DeviceManagement/Devicedata/index.vue` -> `设备管理_设备数据查询` -> 表:`CaChe_Var` -> 查询/读取数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `设备管理_设备数据查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页。 读取/关联对象:表:`CaChe_Var`。 入参/分页参数:`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@设备名称 nvarchar(50),`、`@参数名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[CreateTime], `、`[UpdateTime], `、`[Zone], `、`[Sort], `、`[TagID], `、`[TagName], `、`CASE`、`WHEN [TagName] = N''操作模式'' THEN`、`CASE TRY_CAST([TagValue] AS INT)`。 关键过滤/匹配条件:`DECLARE @where NVARCHAR(4000) = N' WHERE 1 = 1 ';``SET @where = @where + N' AND Zone = ''' + REPLACE(@设备名称, '''', '''''') + '''';``SET @where = @where + N' AND TagName LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';``SET @selectStr = @selectStr + @where;`。 关键写入/状态处理语句线索:`SET @where = @where + N' AND Zone = ''' + REPLACE(@设备名称, '''', '''''') + '''';``SET @where = @where + N' AND TagName LIKE ''%' + REPLACE(@参数名称, '''', '''''') + '%''';``SET @selectStr = N'``SET @selectStr = @selectStr + @where;`。
## 8. src/views/PlanManagement/InstallMakePlanDo/index.vue
**页面位置**`src/views/PlanManagement/InstallMakePlanDo/index.vue`
**所属模块**PlanManagement / InstallMakePlanDo
**源码行数**1763
### 页面功能
该页面处理装配件排产。用户查询待排产/已排产装配任务,选择工位和人员,修改计划开工/完成时间、优先级、说明,执行单条派工、二次派工、批量确认排产,并在确认时同步 SAP 生产订单状态或创建相关请求。
页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。
后端主要围绕 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned` 等过程 取数或提交业务动作。
### 页面流程图
装配排产流程:
```mermaid
flowchart LR
A[输入订单/合同/物料/工序/时间条件] --> B[MES_OrderPlanned_Queryzp 查询装配任务]
B --> C[选择任务]
C --> D[Prog_MES_LoadStations 选择工位]
D --> E[系统管理_人员管理_所有有效人员查询 选择人员]
E --> F[计划排产_派工 或 MES_OrderPlanned_SingleTaskPlanned]
F --> G[计划排产_二次派工]
G --> H[MES_OrderPlanned_Finish 确认排产]
H --> I[PATCH /ProductionOrders(...) 或 POST SAP 请求]
I --> J[刷新排产结果]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`派工`、`计划排产`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`、`生产订单`、`计划号`、`物料编码`
主要方法线索:`getCurrentTime`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.nature` | `@性质` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `this.station` | `@指派对象` | - |
| 参数 | `this.doneorderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.donecontractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneprocessName` | `@工序名称` | - |
| 参数 | `this.donenature` | `@性质` | - |
| 参数 | `this.doneproductionStatus` | `@排产状态` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `row.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `row.taskaid` | `@TaskAID` | - |
| 参数 | `row.二次派工` | `@personnel` | - |
| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `row.指派对象编号` | `@指派对象编号` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `this.editnumber` | `@指派数量` | - |
| 参数 | `row.计划开始时间` | `@计划开始时间` | - |
| 参数 | `row.计划完成时间` | `@计划完成时间` | - |
| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `item.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `item.订单行号` | `@订单行号` | - |
| 参数 | `item.拆分内码` | `@订单拆分内码` | - |
| 参数 | `item.指派对象编号` | `@指派对象编号` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 816 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 965 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 1034 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1089 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1124 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 1137 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 1177 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1194 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1211 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1228 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1242 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1251 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1325 | 12当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1378 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1409 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1531 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1560 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1641 | 12当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1332 行:`postB1("/PurchaseRequests")`
- 第 1523 行:`patchB1("/ProductionOrders(")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1332 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` |
| 1523 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` |
### 状态流转说明
- `计划排产_生产订单_已排产订单查询``CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]``select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`
- `MES_OrderPlanned_Queryzp``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], ``FROM dbo.YL_质量检验_质检记录`
- `MES_OrderPlanned_Queryzp``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], ``FROM dbo.YL_质量检验_质检记录`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_派工``CREATE PROCEDURE [dbo].[计划排产_派工]``@派工操作人 NVARCHAR(50)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``[派工状态] = 1``, [派工时间] = getdate()``, [派工操作人] = @派工操作人``'成功' AS 状态, `
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_Finish``@任务列表 NVARCHAR(MAX), ``@派工操作人 NVARCHAR(MAX)``t.[排产状态] = 1, ``t.[任务状态] = 0, ``t.派工特殊说明 = j.派工特殊说明, ``t.计划完成时间 = j.计划完成时间, ``t.派工操作人 = @派工操作人, ``t.最后编辑人 = @派工操作人, `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `计划排产_自制件_日程时间修改``CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]``@计划完成时间 nvarchar(50) = ''``IF @计划完成时间 ''``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``UPDATE [MES_接口_生产计划_生产任务]``计划完成时间 = @EndTime``AND ISNULL(派工状态, 0) = 0``SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message`
### 数据库调用链
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlanDo/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET`。 实现特征:事务控制、临时表 `#TempOrders`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t``SET`。 实现特征JSON 批量解析。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号``AND 订单行号 = @订单行号``AND 订单拆分内码 = @订单拆分内码``AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @StartTime = CONVERT(datetime, @计划开始时间, 120)``SET @StartTime = NULL``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``SET @EndTime = NULL``UPDATE [MES_接口_生产计划_生产任务]``SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。
## 9. src/views/PlanManagement/InstallMakePlan/index.vue
**页面位置**`src/views/PlanManagement/InstallMakePlan/index.vue`
**所属模块**PlanManagement / InstallMakePlan
**源码行数**1763
### 页面功能
该页面处理装配件排产。用户查询待排产/已排产装配任务,选择工位和人员,修改计划开工/完成时间、优先级、说明,执行单条派工、二次派工、批量确认排产,并在确认时同步 SAP 生产订单状态或创建相关请求。
页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。
后端主要围绕 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Queryzp`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned` 等过程 取数或提交业务动作。
### 页面流程图
装配排产流程:
```mermaid
flowchart LR
A[输入订单/合同/物料/工序/时间条件] --> B[MES_OrderPlanned_Queryzp 查询装配任务]
B --> C[选择任务]
C --> D[Prog_MES_LoadStations 选择工位]
D --> E[系统管理_人员管理_所有有效人员查询 选择人员]
E --> F[计划排产_派工 或 MES_OrderPlanned_SingleTaskPlanned]
F --> G[计划排产_二次派工]
G --> H[MES_OrderPlanned_Finish 确认排产]
H --> I[PATCH /ProductionOrders(...) 或 POST SAP 请求]
I --> J[刷新排产结果]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`派工`、`计划排产`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`、`生产订单`、`计划号`、`物料编码`
主要方法线索:`getCurrentTime`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.nature` | `@性质` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `this.station` | `@指派对象` | - |
| 参数 | `this.doneorderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.donecontractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneprocessName` | `@工序名称` | - |
| 参数 | `this.donenature` | `@性质` | - |
| 参数 | `this.doneproductionStatus` | `@排产状态` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `row.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `row.taskaid` | `@TaskAID` | - |
| 参数 | `row.二次派工` | `@personnel` | - |
| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `row.指派对象编号` | `@指派对象编号` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `this.editnumber` | `@指派数量` | - |
| 参数 | `row.计划开始时间` | `@计划开始时间` | - |
| 参数 | `row.计划完成时间` | `@计划完成时间` | - |
| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `item.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `item.订单行号` | `@订单行号` | - |
| 参数 | `item.拆分内码` | `@订单拆分内码` | - |
| 参数 | `item.指派对象编号` | `@指派对象编号` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 816 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 965 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 1034 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1089 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1124 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 1137 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 1177 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1194 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1211 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1228 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1242 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1251 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1325 | 12当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1378 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1409 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1531 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1560 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1641 | 12当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1332 行:`postB1("/PurchaseRequests")`
- 第 1523 行:`patchB1("/ProductionOrders(")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1332 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` |
| 1523 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`U_YJQTdate`、`优先级`、`未完成说明`、`派工特殊说明` |
### 状态流转说明
- `计划排产_生产订单_已排产订单查询``CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]``select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`
- `MES_OrderPlanned_Queryzp``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], ``FROM dbo.YL_质量检验_质检记录`
- `MES_OrderPlanned_Queryzp``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], ``FROM dbo.YL_质量检验_质检记录`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_派工``CREATE PROCEDURE [dbo].[计划排产_派工]``@派工操作人 NVARCHAR(50)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``[派工状态] = 1``, [派工时间] = getdate()``, [派工操作人] = @派工操作人``'成功' AS 状态, `
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_Finish``@任务列表 NVARCHAR(MAX), ``@派工操作人 NVARCHAR(MAX)``t.[排产状态] = 1, ``t.[任务状态] = 0, ``t.派工特殊说明 = j.派工特殊说明, ``t.计划完成时间 = j.计划完成时间, ``t.派工操作人 = @派工操作人, ``t.最后编辑人 = @派工操作人, `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `计划排产_自制件_日程时间修改``CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]``@计划完成时间 nvarchar(50) = ''``IF @计划完成时间 ''``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``UPDATE [MES_接口_生产计划_生产任务]``计划完成时间 = @EndTime``AND ISNULL(派工状态, 0) = 0``SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message`
### 数据库调用链
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/InstallMakePlan/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET`。 实现特征:事务控制、临时表 `#TempOrders`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t``SET`。 实现特征JSON 批量解析。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号``AND 订单行号 = @订单行号``AND 订单拆分内码 = @订单拆分内码``AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @StartTime = CONVERT(datetime, @计划开始时间, 120)``SET @StartTime = NULL``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``SET @EndTime = NULL``UPDATE [MES_接口_生产计划_生产任务]``SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。
## 10. src/views/PlanManagement/PlanShell/index.vue
**页面位置**`src/views/PlanManagement/PlanShell/index.vue`
**所属模块**PlanManagement / PlanShell
**源码行数**850
### 页面功能
该页面是计划外壳/计划跟踪类页面,按缺料、发货通知、完成状态等条件查询计划或装配相关任务,用于计划人员集中查看订单齐套、发货和关闭情况。
页面可见的操作/字段包括 “查询”、“缺料”、“关闭”、“全部”、“已下达发货通知”、“未下达发货通知”、“是”、“否”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_装配中心_缺料查询`、`计划排产_查询计划信息`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `生产管理_装配中心_缺料查询` -> `计划排产_查询计划信息` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`缺料`、`关闭`、`全部`、`已下达发货通知`、`未下达发货通知`、`是`、`否`、`已完成`、`未完成`、`发料齐套`、`发料缺件`、`未发料`、`机加`、`装配`、`加急`、`正常`、`序号`
主要方法线索:`miss`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.产品编码` | `@ItemCode` | - |
| 参数 | `row.订单号` | `@订单号` | - |
| 参数 | `this.orderNo ` | `@订单号` | - |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.productName` | `@产品名称` | - |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.planStartTime` | `@计划开始` | - |
| 参数 | `this.planendTime` | `@计划完成` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `'全部'` | `@指派对象` | - |
| 参数 | `this.plannum` | `@计划号` | `v.计划号, ` |
| 参数 | `this.ShipmentStatus` | `@发货状态` | `isnull(发货状态, 0) as [发货状态], ` |
| 参数 | `this.complete` | `@齐套` | `when isnull(发料状态, 0) = 1 then ''发料齐套''` |
| 参数 | `this.checkstatus` | `@检验状态` | - |
| 参数 | `this.sendstatus` | `@发料状态` | `when isnull(发料状态, 0) = 1 then ''发料齐套''` |
| 参数 | `this.selfStatus` | `@自制件属性` | - |
| 参数 | `this.outsourceStatus === '是' ? 1 : 0` | `@是否外协` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | - |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `计划数量` | - | `计划数量` |
| 显示列 | `指派对象` | - | `指派对象` |
| 显示列 | `开始时间` | - | `计划开始时间` |
| 显示列 | `结束时间` | - | `计划完成时间` |
| 显示列 | `完成进度` | - | `进度` |
| 显示列 | `完成数量` | - | `完成数量` |
| 显示列 | `合格数` | - | `收检合格数` |
| 显示列 | `不良数` | - | `收检不合格数` |
| 显示列 | `任务状态` | - | `任务状态` |
| 显示列 | `加工状态` | - | `加工状态` |
| 显示列 | `操作` | - | `操作` |
| 显示列 | `发货通知` | - | `发货通知` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 355 | 11当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` |
| 630 | 11当前通用存储过程查询/执行) | `计划排产_查询计划信息` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 664 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 723 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `生产管理_装配中心_缺料查询``select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`
- `计划排产_查询计划信息``CREATE PROCEDURE [dbo].[计划排产_查询计划信息]``@计划完成 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``@发货状态 nvarchar(50) = '全部', ``@检验状态 nvarchar(50) = '', ``@发料状态 nvarchar(50) = '全部', ``DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' and [排产状态] = 1 '``拣配状态, `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
### 数据库调用链
- `src/views/PlanManagement/PlanShell/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据
- `src/views/PlanManagement/PlanShell/index.vue` -> `计划排产_查询计划信息` -> 视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/PlanShell/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/PlanShell/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
### 存储过程处理逻辑明细
- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。
- `计划排产_查询计划信息` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@计划开始 nvarchar(50)`、`@计划完成 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@计划号 nvarchar(50)`、`@发货状态 nvarchar(50)`、`@齐套 nvarchar(50)`、`@检验状态 nvarchar(50)`、`@发料状态 nvarchar(50)`、`@自制件属性 nvarchar(50)`。 主要返回字段线索:`top 300`、`v.计划号, `、`拣配状态, `、`入库数量, `、`要求发货日期, `、`isnull(发货状态, 0) as [发货状态], `、`case`、`when isnull(发料状态, 0) = 1 then ''发料齐套''`、`when isnull(发料状态, 0) = 2 then ''发料缺件''`、`when isnull(发料状态, 0) = 0 then ''未发料''`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' and [排产状态] = 1 '``WHEN qt.检验数量_8 > 0 AND qt.检验数量_6 > 0 AND qt.检验数量_8 > = qt.检验数量_6 THEN ''已完成''``WHEN qt.检验数量_8 > 0 AND qt.检验数量_6 > 0 AND qt.检验数量_8 < qt.检验数量_6 THEN ''未完成''``WHEN qt.检验数量_8 = 0 AND qt.检验数量_6 > 0 THEN ''未完成''``WHEN qt.检验数量_8 > 0 AND qt.检验数量_6 = 0 THEN ''已完成''``WHERE 质检类型 = ''终检''``WHERE 质检类型 = ''收检''``SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''``SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''`。 关键写入/状态处理语句线索:`SET @selectStr = N'``SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''``SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] > = ''' + @计划开始 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] < = ''' + @计划完成 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL([发货状态], 0) = 0'``SET @selectStrWhere = @selectStrWhere + ' AND [发货状态] = 1'``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL([自制件属性], 0) = ''机加件'''`。 排序/分组/分页线索:`GROUP BY TaskAID``SET @selectStrWhere = @selectStrWhere + ' ORDER BY 计划开始时间 asc'`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
## 11. src/views/PlanManagement/PlannOrderClose/index.vue
**页面位置**`src/views/PlanManagement/PlannOrderClose/index.vue`
**所属模块**PlanManagement / PlannOrderClose
**源码行数**151
### 页面功能
该页面用于生产订单关闭。用户筛选 SAP 未关闭或 MES 待确认订单,执行 SAP 生产订单关闭,并调用 MES 过程记录或确认订单关闭状态。
页面可见的操作/字段包括 “查询”、“确认”、“关闭”、“全部”、“已关闭”、“未关闭”、“可关闭”、“SAP未关闭”、“机加”、“装配”这些是判断页面业务范围的主要线索。
后端主要围绕 `计划排产_生产订单关闭_查询全部订单`、`计划排产_生产订单关闭_关闭订单`、`计划排产_生产订单关闭_确认订单` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `计划排产_生产订单关闭_查询全部订单` -> `计划排产_生产订单关闭_关闭订单` -> `计划排产_生产订单关闭_确认订单` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`确认`、`关闭`、`全部`、`已关闭`、`未关闭`、`可关闭`、`SAP未关闭`、`机加`、`装配`、`订单编号`、`合同号`、`产品编码`、`产品名称`、`计划数量`、`入库数量`、`终检不合格`、`终检合格`
主要方法线索:`searchTable`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.equipmentName` | `@订单号` | `v.订单号 as 订单编号, ` |
| 参数 | `this.equipmentType` | `@单据状态` | - |
| 参数 | `this.orderType` | `@属性` | - |
| 显示列 | `订单编号` | - | `v.订单号 as 订单编号, ` |
| 显示列 | `合同号` | - | `MAX(合同号) as 合同号, ` |
| 显示列 | `产品编码` | - | `MAX(产品编码) as 产品编码, ` |
| 显示列 | `产品名称` | - | `MAX(产品名称) as 产品名称, ` |
| 显示列 | `计划数量` | - | `MAX(计划数量) as 计划数量, ` |
| 显示列 | `入库数量` | - | `MAX(入库数量) as 入库数量, ` |
| 显示列 | `终检不合格` | - | `MAX(终检不合格数合计) as 终检不合格数合计, ` |
| 显示列 | `终检合格` | - | `MAX(终检合格数合计) as 终检合格数合计, ` |
| 显示列 | `收检合格` | - | `MAX(终检不合格数合计) as 终检不合格数合计, ` |
| 显示列 | `收检不合格` | - | `MAX(终检不合格数合计) as 终检不合格数合计, ` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `equipmentName` | `@订单号` | - |
| 输入字段 | `equipmentType` | `@单据状态` | - |
| 输入字段 | `orderType` | `@属性` | - |
| 输入字段 | `opName` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 102 | 11当前通用存储过程查询/执行) | `计划排产_生产订单关闭_查询全部订单` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_质量检验_质检记录` |
| 111 | 11当前通用存储过程查询/执行) | `计划排产_生产订单关闭_关闭订单` | 确认/关闭/完成业务动作 | 查询、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`;视图:`View_生产工时视图` |
| 129 | 12当前通用存储过程写入/业务动作) | `计划排产_生产订单关闭_确认订单` | 确认/关闭/完成业务动作 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 117 行:`patchB1("/ProductionOrders(")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 117 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`ProductionOrderStatus` |
### 状态流转说明
- `计划排产_生产订单关闭_查询全部订单``CREATE PROCEDURE [dbo].[计划排产_生产订单关闭_查询全部订单]``@单据状态 nvarchar(100) = '', ``if(@单据状态 = '可关闭')``MAX(确认状态) as 确认状态, ``MAX(单据状态) as 单据状态, ``FROM dbo.YL_质量检验_质检记录``WHERE (质检类型 = ''收检'')``FROM dbo.YL_质量检验_质检记录 AS YL_质量检验_质检记录_1`
- `计划排产_生产订单关闭_关闭订单``CREATE PROCEDURE [dbo].[计划排产_生产订单关闭_关闭订单]``declare @selectStrWhere nvarchar(4000) = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)``min(完成数量) as 完成数量, ``MAX(确认状态) as 确认状态, ``MAX(单据状态) as 单据状态``FROM dbo.YL_质量检验_质检记录``WHERE 质检类型 = ''收检''``WHERE 质检类型 = ''终检''`
- `计划排产_生产订单关闭_确认订单``create PROCEDURE [dbo].[计划排产_生产订单关闭_确认订单]``update [dbo].[MES_接口_生产计划] set 确认状态 = 1 where 订单编号 = @订单号`
### 数据库调用链
- `src/views/PlanManagement/PlannOrderClose/index.vue` -> `计划排产_生产订单关闭_查询全部订单` -> 表:`MES_接口_生产计划`、`YL_质量检验_质检记录` -> 查询/读取数据
- `src/views/PlanManagement/PlannOrderClose/index.vue` -> `计划排产_生产订单关闭_关闭订单` -> 表:`MES_接口_生产计划`;视图:`View_生产工时视图` -> 确认/关闭/完成业务动作
- `src/views/PlanManagement/PlannOrderClose/index.vue` -> `计划排产_生产订单关闭_确认订单` -> 表:`MES_接口_生产计划` -> 确认/关闭/完成业务动作
### 存储过程处理逻辑明细
- `计划排产_生产订单关闭_查询全部订单` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_质量检验_质检记录`。 入参/分页参数:`@订单号 nvarchar(100)`、`@单据状态 nvarchar(100)`、`@属性 nvarchar(100)`。 主要返回字段线索:`top 100`、`v.订单号 as 订单编号, `、`MAX(产品名称) as 产品名称, `、`MAX(产品编码) as 产品编码, `、`MAX(入库数量) as 入库数量, `、`MAX(合同号) as 合同号, `、`MAX(终检不合格数合计) as 终检不合格数合计, `、`MAX(终检合格数合计) as 终检合格数合计, `、`MAX(计划数量) as 计划数量, `、`MAX(确认状态) as 确认状态, `。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' WHERE 1 = 1 '``WHERE (质检类型 = ''收检'')``WHERE (质检类型 = ''终检'')``WHERE``set @selectStr = @selectStr + ' and v.订单号 = ''' + @订单号 + ''''``set @selectStr = @selectStr + ' and ([自制件属性] = ''机加件'') '``set @selectStr = @selectStr + ' and [自制件属性] like ''%装配%'' '``AND MAX(终检不合格数合计) + MAX(终检合格数合计) + MAX(不合格数合计) = MAX(计划数量)``AND max(ISNULL(v.入库数量, 0)) = max(ISNULL(zj_终检数量.终检合格数合计, 0)) ORDER BY v.订单号'``WHERE 质检类型 = ''终检''`。 关键写入/状态处理语句线索:`set @selectStr = '``set @selectStr = @selectStr + ' and v.订单号 = ''' + @订单号 + ''''``set @selectStr = @selectStr + ' and ([自制件属性] = ''机加件'') '``set @selectStr = @selectStr + ' and [自制件属性] like ''%装配%'' '``set @selectStr = @selectStr + 'GROUP BY v.订单号``set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = ''' + @订单号 + ''''``set @selectStrWhere = @selectStrWhere + ' and ([单据状态] = ''已关闭'') '``set @selectStrWhere = @selectStrWhere + ' and ([单据状态] = ''已关闭'' or [单据状态] = ''已取消'') '``set @selectStrWhere = @selectStrWhere + ' and [单据状态] is null'``set @selectStrWhere = @selectStrWhere + ' and ([自制件属性] = ''机加件'') '``set @selectStrWhere = @selectStrWhere + ' and [自制件属性] like ''%装配%'' '``set @selectStrWhere = @selectStrWhere + ' group by v.订单编号'`。 排序/分组/分页线索:`GROUP BY 计划号) AS zj_收检 ON v.订单号 = zj_收检.计划号 LEFT OUTER JOIN``GROUP BY 计划号) AS zj_终检数量 ON v.订单号 = zj_终检数量.计划号``set @selectStr = @selectStr + 'GROUP BY v.订单号``HAVING``AND max(ISNULL(v.入库数量, 0)) = max(ISNULL(zj_终检数量.终检合格数合计, 0)) ORDER BY v.订单号'``GROUP BY 计划号``set @selectStrWhere = @selectStrWhere + ' group by v.订单编号'`。
- `计划排产_生产订单关闭_关闭订单` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;视图:`View_生产工时视图`。 写入或更新对象:`MES_接口_生产计划`。 入参/分页参数:`@订单号 nvarchar(100)`。 主要返回字段线索:`v.订单号, `、`MAX(产品名称) as 产品名称, `、`MAX(产品编码) as 产品编码, `、`MAX(入库数量) as 入库数量, `、`MAX(合同号) as 合同号, `、`MAX(终检不合格数合计) as 终检不合格数合计, `、`MAX(终检合格数合计) as 终检合格数合计, `、`MAX(合格数合计) as 合格数合计, `、`MAX(不合格数合计) as 不合格数合计, `、`MAX(计划数量) as 计划数量, `。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)``AND v.Expr1 IS NULL``WHERE 质检类型 = ''收检''``WHERE 质检类型 = ''终检''``set @selectStrWhere = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)``AND v.订单号 = ''' + @订单号 + '''``where 订单编号 = @订单号`。 关键写入/状态处理语句线索:`set @selectStr = '``set @selectStrWhere = @selectStrWhere + ' group by v.订单号'``set @selectStr = @selectStr + @selectStrWhere``set @selectStrWhere = ' WHERE (v.加工工时 > 0 OR v.总时长 > 0)``update [dbo].[MES_接口_生产计划]``set 单据状态 = '已关闭'`。 排序/分组/分页线索:`GROUP BY TaskAID``set @selectStrWhere = @selectStrWhere + ' group by v.订单号'``group by v.订单号'`。
- `计划排产_生产订单关闭_确认订单` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`。 入参/分页参数:`@订单号 int`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划] set 确认状态 = 1 where 订单编号 = @订单号`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划] set 确认状态 = 1 where 订单编号 = @订单号`。
## 12. src/views/PlanManagement/SelfMakePlan/index.vue
**页面位置**`src/views/PlanManagement/SelfMakePlan/index.vue`
**所属模块**PlanManagement / SelfMakePlan
**源码行数**1736
### 页面功能
该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。
页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“派工”、“计划排产”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。
后端主要围绕 `计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询`、`MES_OrderPlanned_EditTaskPlanned` 等过程 取数或提交业务动作。
### 页面流程图
自制/机加排产流程:
```mermaid
flowchart LR
A[输入订单/合同/物料/工序/时间条件] --> B[调用 MES_OrderPlanned_Query 查询待排产任务]
B --> C[选择任务行]
C --> D{派工方式}
D --> E[MES_OrderPlanned_SingleTaskPlanned 单任务派工]
D --> F[计划排产_二次派工 绑定人员]
D --> G[计划排产_外协分组]
E --> H[MES_OrderPlanned_EditTaskPlanned/DescriptionEdit 修改计划字段]
F --> H
G --> H
H --> I[MES_OrderPlanned_Finish 确认排产]
I --> J[PATCH /ProductionOrders(...) 回写 SAP 生产订单状态]
J --> K[页面刷新任务状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`派工`、`计划排产`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`、`生产订单`、`计划号`、`物料编码`
主要方法线索:`getCurrentTime`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.nature` | `@性质` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `this.station` | `@指派对象` | - |
| 参数 | `this.doneorderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.donecontractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneprocessName` | `@工序名称` | - |
| 参数 | `this.donenature` | `@性质` | - |
| 参数 | `this.doneproductionStatus` | `@排产状态` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `row.taskaid` | `@TaskAID` | - |
| 参数 | `row.二次派工` | `@personnel` | - |
| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `row.指派对象编号` | `@指派对象编号` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `this.editnumber` | `@指派数量` | - |
| 参数 | `row.计划开始时间` | `@计划开始时间` | - |
| 参数 | `row.计划完成时间` | `@计划完成时间` | - |
| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `item.订单行号` | `@订单行号` | - |
| 参数 | `item.拆分内码` | `@订单拆分内码` | - |
| 参数 | `item.指派对象编号` | `@指派对象编号` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 815 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 965 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 1034 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1092 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1130 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 1143 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 1183 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1200 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1217 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1234 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1248 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1257 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1361 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1392 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1507 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1536 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1617 | 12当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1500 行:`patchB1("/ProductionOrders(")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1500 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` |
### 状态流转说明
- `计划排产_生产订单_已排产订单查询``CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]``select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_Finish``@任务列表 NVARCHAR(MAX), ``@派工操作人 NVARCHAR(MAX)``t.[排产状态] = 1, ``t.[任务状态] = 0, ``t.派工特殊说明 = j.派工特殊说明, ``t.计划完成时间 = j.计划完成时间, ``t.派工操作人 = @派工操作人, ``t.最后编辑人 = @派工操作人, `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `计划排产_自制件_日程时间修改``CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]``@计划完成时间 nvarchar(50) = ''``IF @计划完成时间 ''``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``UPDATE [MES_接口_生产计划_生产任务]``计划完成时间 = @EndTime``AND ISNULL(派工状态, 0) = 0``SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message`
### 数据库调用链
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlan/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t``SET`。 实现特征JSON 批量解析。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号``AND 订单行号 = @订单行号``AND 订单拆分内码 = @订单拆分内码``AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @StartTime = CONVERT(datetime, @计划开始时间, 120)``SET @StartTime = NULL``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``SET @EndTime = NULL``UPDATE [MES_接口_生产计划_生产任务]``SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。
## 13. src/views/PlanManagement/SelfMakePlando/index.vue
**页面位置**`src/views/PlanManagement/SelfMakePlando/index.vue`
**所属模块**PlanManagement / SelfMakePlando
**源码行数**1669
### 页面功能
该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。
页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确定”、“查看”、“零件图纸”、“工艺图纸”、“编辑”、“计划排产”、“取 消”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸`、`工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query` 等过程 取数或提交业务动作。
### 页面流程图
自制/机加排产流程:
```mermaid
flowchart LR
A[输入订单/合同/物料/工序/时间条件] --> B[调用 MES_OrderPlanned_Query 查询待排产任务]
B --> C[选择任务行]
C --> D{派工方式}
D --> E[MES_OrderPlanned_SingleTaskPlanned 单任务派工]
D --> F[计划排产_二次派工 绑定人员]
D --> G[计划排产_外协分组]
E --> H[MES_OrderPlanned_EditTaskPlanned/DescriptionEdit 修改计划字段]
F --> H
G --> H
H --> I[MES_OrderPlanned_Finish 确认排产]
I --> J[PATCH /ProductionOrders(...) 回写 SAP 生产订单状态]
J --> K[页面刷新任务状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确定`、`查看`、`零件图纸`、`工艺图纸`、`编辑`、`计划排产`、`取 消`、`确 定`、`关闭`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`序号`
主要方法线索:`getitemdraw`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `item` | `@订单编号` | - |
| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.nature` | `@性质` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `this.station` | `@指派对象` | - |
| 参数 | `this.doneorderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.donecontractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneprocessName` | `@工序名称` | - |
| 参数 | `this.donenature` | `@性质` | - |
| 参数 | `this.doneproductionStatus` | `@排产状态` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `row.taskaid` | `@TaskAID` | - |
| 参数 | `row.二次派工` | `@personnel` | - |
| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `row.指派对象编号` | `@指派对象编号` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `this.editnumber` | `@指派数量` | - |
| 参数 | `row.计划开始时间` | `@计划开始时间` | - |
| 参数 | `row.计划完成时间` | `@计划完成时间` | - |
| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `item.订单行号` | `@订单行号` | - |
| 参数 | `item.拆分内码` | `@订单拆分内码` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- FullCalendar
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 632 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 663 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 680 | 11当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` |
| 710 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 860 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 929 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 987 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 1025 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 1038 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 1078 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1095 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1112 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1129 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1143 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1152 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1278 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1309 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1345 | 12当前通用存储过程写入/业务动作) | `计划排产_外协分组` | 计划排产或派工 | 更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1440 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1469 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1550 | 12当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1433 行:`patchB1("/ProductionOrders(")`
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1433 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` |
### 状态流转说明
- `工艺管理_获取物料原料信息``SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`
- `计划排产_生产订单_已排产订单查询``CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]``select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `计划排产_外协分组``create PROCEDURE [dbo].[计划排产_外协分组]``update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`
- `MES_OrderPlanned_Finish``@任务列表 NVARCHAR(MAX), ``@派工操作人 NVARCHAR(MAX)``t.[排产状态] = 1, ``t.[任务状态] = 0, ``t.派工特殊说明 = j.派工特殊说明, ``t.计划完成时间 = j.计划完成时间, ``t.派工操作人 = @派工操作人, ``t.最后编辑人 = @派工操作人, `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `计划排产_自制件_日程时间修改``CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]``@计划完成时间 nvarchar(50) = ''``IF @计划完成时间 ''``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``UPDATE [MES_接口_生产计划_生产任务]``计划完成时间 = @EndTime``AND ISNULL(派工状态, 0) = 0``SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message`
### 数据库调用链
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_外协分组` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlando/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。
- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `计划排产_外协分组` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@外协分组 NVARCHAR(50)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。
- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t``SET`。 实现特征JSON 批量解析。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号``AND 订单行号 = @订单行号``AND 订单拆分内码 = @订单拆分内码``AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @StartTime = CONVERT(datetime, @计划开始时间, 120)``SET @StartTime = NULL``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``SET @EndTime = NULL``UPDATE [MES_接口_生产计划_生产任务]``SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。
## 14. src/views/PlanManagement/SelfMakePlandone/index.vue
**页面位置**`src/views/PlanManagement/SelfMakePlandone/index.vue`
**所属模块**PlanManagement / SelfMakePlandone
**源码行数**1495
### 页面功能
该页面处理自制件/机加件排产。用户查询生产订单工序任务,筛选订单、合同、物料、工序、计划时间、排产状态和指派对象,完成工位派工、人员二次派工、外协分组、计划说明维护和排产确认。
页面可见的操作/字段包括 “查询”、“确定”、“查看”、“派工”、“编辑”、“取 消”、“确 定”、“全部”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_获取物料原料信息`、`计划排产_生产订单_已排产订单查询`、`MES_登录_工位与名称_查询`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations`、`系统管理_人员管理_所有有效人员查询` 等过程 取数或提交业务动作。
### 页面流程图
自制/机加排产流程:
```mermaid
flowchart LR
A[输入订单/合同/物料/工序/时间条件] --> B[调用 MES_OrderPlanned_Query 查询待排产任务]
B --> C[选择任务行]
C --> D{派工方式}
D --> E[MES_OrderPlanned_SingleTaskPlanned 单任务派工]
D --> F[计划排产_二次派工 绑定人员]
D --> G[计划排产_外协分组]
E --> H[MES_OrderPlanned_EditTaskPlanned/DescriptionEdit 修改计划字段]
F --> H
G --> H
H --> I[MES_OrderPlanned_Finish 确认排产]
I --> J[PATCH /ProductionOrders(...) 回写 SAP 生产订单状态]
J --> K[页面刷新任务状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`确定`、`查看`、`派工`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`item.指南工位号`、`表单`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`
主要方法线索:`getitemdata`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `item` | `@订单编号` | - |
| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.nature` | `@性质` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `this.station` | `@指派对象` | - |
| 参数 | `this.doneorderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.donecontractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneprocessName` | `@工序名称` | - |
| 参数 | `this.donenature` | `@性质` | - |
| 参数 | `this.doneproductionStatus` | `@排产状态` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `row.taskaid` | `@TaskAID` | - |
| 参数 | `row.二次派工` | `@personnel` | - |
| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `row.指派对象编号` | `@指派对象编号` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `this.editnumber` | `@指派数量` | - |
| 参数 | `row.计划开始时间` | `@计划开始时间` | - |
| 参数 | `row.计划完成时间` | `@计划完成时间` | - |
| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `item.订单行号` | `@订单行号` | - |
| 参数 | `item.拆分内码` | `@订单拆分内码` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 600 | 11当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` |
| 630 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_已排产订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 710 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 779 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 837 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 874 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 887 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 927 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 944 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 961 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 978 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 992 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1001 | 12当前通用存储过程写入/业务动作) | `计划排产_二次派工` | 计划排产或派工 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1105 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1136 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1172 | 12当前通用存储过程写入/业务动作) | `计划排产_外协分组` | 计划排产或派工 | 更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1266 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1295 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1376 | 12当前通用存储过程写入/业务动作) | `计划排产_自制件_日程时间修改` | 更新/保存业务数据 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1259 行:`patchB1("/ProductionOrders(")`
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1259 | `patchB1` | `/ProductionOrders(` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `AbsoluteEntry`、`U_MODueDate`、`U_MOStartDate`、`优先级`、`未完成说明`、`派工特殊说明` |
### 状态流转说明
- `工艺管理_获取物料原料信息``SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`
- `计划排产_生产订单_已排产订单查询``CREATE PROCEDURE [dbo].[计划排产_生产订单_已排产订单查询]``select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `计划排产_二次派工``create PROCEDURE [dbo].[计划排产_二次派工]``update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `计划排产_外协分组``create PROCEDURE [dbo].[计划排产_外协分组]``update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`
- `MES_OrderPlanned_Finish``@任务列表 NVARCHAR(MAX), ``@派工操作人 NVARCHAR(MAX)``t.[排产状态] = 1, ``t.[任务状态] = 0, ``t.派工特殊说明 = j.派工特殊说明, ``t.计划完成时间 = j.计划完成时间, ``t.派工操作人 = @派工操作人, ``t.最后编辑人 = @派工操作人, `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `计划排产_自制件_日程时间修改``CREATE PROCEDURE [dbo].[计划排产_自制件_日程时间修改]``@计划完成时间 nvarchar(50) = ''``IF @计划完成时间 ''``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``UPDATE [MES_接口_生产计划_生产任务]``计划完成时间 = @EndTime``AND ISNULL(派工状态, 0) = 0``SELECT '0' AS result, '未找到符合条件的记录或派工状态不为0' AS message`
### 数据库调用链
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_生产订单_已排产订单查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_二次派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_外协分组` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/SelfMakePlandone/index.vue` -> `计划排产_自制件_日程时间修改` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。
- `计划排产_生产订单_已排产订单查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 排产状态 = 1`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `计划排产_二次派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@personnel nvarchar(500)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[MES_接口_生产计划_生产任务] set 二次派工 = @personnel where AID = @TaskAID`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `计划排产_外协分组` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID int,`、`@外协分组 NVARCHAR(50)`。 关键过滤/匹配条件:`update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``update [dbo].[MES_接口_生产计划_生产任务] set 外协分组 = @外协分组 where AID = @TaskAID`。
- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t``SET`。 实现特征JSON 批量解析。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `计划排产_自制件_日程时间修改` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int`、`@订单拆分内码 int`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号``AND 订单行号 = @订单行号``AND 订单拆分内码 = @订单拆分内码``AND ISNULL(派工状态, 0) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @StartTime = CONVERT(datetime, @计划开始时间, 120)``SET @StartTime = NULL``SET @EndTime = CONVERT(datetime, @计划完成时间, 120)``SET @EndTime = NULL``UPDATE [MES_接口_生产计划_生产任务]``SET 计划开始时间 = @StartTime, `。 实现特征:异常捕获。
## 15. src/views/PlanManagement/priorityinstall/index.vue
**页面位置**`src/views/PlanManagement/priorityinstall/index.vue`
**所属模块**PlanManagement / priorityinstall
**源码行数**1127
### 页面功能
该页面用于装配优先级调整。用户查询装配计划任务,修改计划开工/完成时间、派工对象或优先级,用于插单和重点订单排序。
页面可见的操作/字段包括 “查询”、“月”、“周”、“日”、“今天”、“表单”、“生产订单”、“计划号”、“物料编码”、“物料名称”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_EditTaskPlanned` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_OrderPlanned_Queryzp` -> `MES_OrderPlanned_EditTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`月`、`周`、`日`、`今天`、`表单`、`生产订单`、`计划号`、`物料编码`、`物料名称`、`计划数`、`要求完工日期`、`工时`、`工序名称`、`指派对象`、`指派数量`、`计划开始`、`计划完成`
主要方法线索:`handleWindowResize`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.doneorderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.donecontractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.doneproductCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneproductName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.doneprocessName` | `@工序名称` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.doneproductionStatus` | `@排产状态` | - |
| 参数 | `this.station` | `@指派对象` | - |
| 参数 | ``[计划开始时间` | `@editstr` | - |
| 参数 | `row.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `订单行号` | `@订单行号` | - |
| 参数 | `拆分内码` | `@订单拆分内码` | - |
| 参数 | ``[标准工时` | `@editstr` | - |
| 显示列 | `生产订单` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `物料编码` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 显示列 | `物料名称` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 显示列 | `计划数` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `要求完工日期` | - | `要求完工日期` |
| 显示列 | `工时` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `指派对象` | - | `指派对象` |
| 显示列 | `指派数量` | - | `指派数量` |
| 显示列 | `计划开始` | - | `计划开始` |
| 显示列 | `计划完成` | - | `计划完成` |
| 输入字段 | `doneorderNo` | `@订单号` | - |
| 输入字段 | `donecontractNo` | `@合同号` | - |
| 输入字段 | `doneproductCode` | `@产品编码` | - |
| 输入字段 | `doneproductName` | `@产品名称` | - |
| 输入字段 | `doneprocessName` | `@工序名称` | - |
| 输入字段 | `planStartTime` | `@计划开始1` | - |
| 输入字段 | `doneactiveTab` | - | - |
| 输入字段 | `scope.row.计划开始时间` | `@editstr` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 471 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 581 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 732 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 798 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_OrderPlanned_Queryzp``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], ``FROM dbo.YL_质量检验_质检记录`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
### 数据库调用链
- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/PlanManagement/priorityinstall/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
## 16. src/views/ProcessManagement/PartDrawing/index.vue
**页面位置**`src/views/ProcessManagement/PartDrawing/index.vue`
**所属模块**ProcessManagement / PartDrawing
**源码行数**905
### 页面功能
该页面维护零件图纸。用户按物料查询图纸、查看文件、验证名称、删除图纸并保留删除记录。
页面可见的操作/字段包括 “查询”、“零件图”、“选零件上传零件图”、“查看删除记录”、“查看”、“删除”、“取消”、“确定”、“关闭”、“查看信息”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_图纸维护_查询删除记录` -> `工艺管理_图纸维护_零件图查询` -> `工艺管理_图纸维护_物料查询` -> `工艺管理_图纸维护_验证名称` -> `工艺管理_图纸维护_查看图纸` -> `工艺管理_图纸维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`零件图`、`选零件上传零件图`、`查看删除记录`、`查看`、`删除`、`取消`、`确定`、`关闭`、`查看信息`、`关 闭`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`
主要方法线索:`showDeleteRecords`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.itemnum` | `@物料编码` | - |
| 参数 | `query` | `@过滤` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `物料编号` | - | `物料编号, ` |
| 显示列 | `物料名称` | - | `物料描述` |
| 显示列 | `文件名称` | - | `文件名称, ` |
| 显示列 | `导入人` | - | `worker` |
| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` |
| 显示列 | `操作` | - | `操作人, ` |
| 显示列 | `操作人` | - | `操作人, ` |
| 显示列 | `删除时间` | - | `CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, ` |
| 显示列 | `备注` | - | `ISNULL(备注, '''') AS 备注` |
| 显示列 | `物料编码` | - | `物料编码` |
| 显示列 | `现有图纸导入人` | - | `导入人` |
| 输入字段 | `stationNumberValues` | - | - |
| 输入字段 | `selectedMaterials` | - | - |
| 输入字段 | `itemnum` | `@物料编码` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 323 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 355 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
| 366 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 398 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` |
| 442 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 471 | 12当前通用存储过程写入/业务动作) | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 查询、新增 | 表:`物料基础数据_零件图纸` |
| 556 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 838 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
| 851 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_图纸维护_物料查询: SAP.SBO_YL.dbo.UBT_OITM
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_图纸维护_物料查询``SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`
### 数据库调用链
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_查询删除记录` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_零件图查询` -> 视图:`View_图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_物料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_删除图纸` -> 表:`物料基础数据_零件图纸` -> 删除业务数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_零件图查询` -> 视图:`View_图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawing/index.vue` -> `工艺管理_图纸维护_零件图查询` -> 视图:`View_图纸视图` -> 查询/读取数据
### 存储过程处理逻辑明细
- `工艺管理_图纸维护_查询删除记录` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编码 nvarchar(200)`。 主要返回字段线索:`top 50`、`物料编号, `、`文件名称, `、`操作人, `、`CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, `、`ISNULL(备注, '''') AS 备注`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @selectStr = N' SELECT top 50``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'``SET @selectStr = @selectStr + @selectStrWhere`。 排序/分组/分页线索:`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`。
- `工艺管理_图纸维护_零件图查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`、`@导入人 nvarchar(50)`。 主要返回字段线索:`TOP 50 *`。 关键过滤/匹配条件:`IF @导入人 IS NOT NULL AND LTRIM(RTRIM(@导入人)) ! = ''``WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY``ORDER BY uploadTime DESC`。
- `工艺管理_图纸维护_物料查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_验证名称` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_图纸维护_删除图纸` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`物料基础数据_零件图纸`。 写入或更新对象:`物料基础数据_零件图纸`、`物料基础数据_零件图纸删除记录`。 入参/分页参数:`@物料编号 NVARCHAR(100),`、`@文件名称 NVARCHAR(255)`、`@操作人 NVARCHAR(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_零件图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 物料基础数据_零件图纸删除记录 (`。 实现特征:事务控制、异常捕获。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_图纸维护_零件图查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`、`@导入人 nvarchar(50)`。 主要返回字段线索:`TOP 50 *`。 关键过滤/匹配条件:`IF @导入人 IS NOT NULL AND LTRIM(RTRIM(@导入人)) ! = ''``WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY``ORDER BY uploadTime DESC`。
- `工艺管理_图纸维护_零件图查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`、`@导入人 nvarchar(50)`。 主要返回字段线索:`TOP 50 *`。 关键过滤/匹配条件:`IF @导入人 IS NOT NULL AND LTRIM(RTRIM(@导入人)) ! = ''``WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY``ORDER BY uploadTime DESC`。
## 17. src/views/ProcessManagement/PartDrawlook/index.vue
**页面位置**`src/views/ProcessManagement/PartDrawlook/index.vue`
**所属模块**ProcessManagement / PartDrawlook
**源码行数**463
### 页面功能
该页面偏只读查看零件图纸,通常给生产或质检人员按物料快速打开图纸。
页面可见的操作/字段包括 “查询”、“查看”、“删除”、“取消”、“确定”、“关闭”、“item.物料编码”、“序号”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询全部`、`工艺管理_图纸维护_物料查询`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_图纸维护_查询删除记录` -> `工艺管理_图纸维护_零件图查询全部` -> `工艺管理_图纸维护_物料查询` -> `工艺管理_图纸维护_验证名称` -> `工艺管理_图纸维护_查看图纸` -> `工艺管理_图纸维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`查看`、`删除`、`取消`、`确定`、`关闭`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`、`请选择物料`
主要方法线索:`showDeleteRecords`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.itemnum` | `@物料编码` | - |
| 参数 | `query` | `@过滤` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `物料编号` | - | `物料编号, ` |
| 显示列 | `物料名称` | - | `物料描述` |
| 显示列 | `文件名称` | - | `文件名称, ` |
| 显示列 | `导入人` | - | `worker` |
| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` |
| 显示列 | `操作` | - | `操作人, ` |
| 显示列 | `操作人` | - | `操作人, ` |
| 显示列 | `删除时间` | - | `CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, ` |
| 显示列 | `备注` | - | `ISNULL(备注, '''') AS 备注` |
| 输入字段 | `stationNumberValue` | - | - |
| 输入字段 | `uploadValue` | - | - |
| 输入字段 | `itemnum` | `@物料编码` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 174 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 205 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
| 216 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 248 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` |
| 294 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 317 | 12当前通用存储过程写入/业务动作) | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 查询、新增 | 表:`物料基础数据_零件图纸` |
| 386 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 414 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
| 425 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询全部` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_图纸维护_物料查询: SAP.SBO_YL.dbo.UBT_OITM
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_图纸维护_物料查询``SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`
### 数据库调用链
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_查询删除记录` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询全部` -> 视图:`View_图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_物料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_删除图纸` -> 表:`物料基础数据_零件图纸` -> 删除业务数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询全部` -> 视图:`View_图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/PartDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询全部` -> 视图:`View_图纸视图` -> 查询/读取数据
### 存储过程处理逻辑明细
- `工艺管理_图纸维护_查询删除记录` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编码 nvarchar(200)`。 主要返回字段线索:`top 50`、`物料编号, `、`文件名称, `、`操作人, `、`CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, `、`ISNULL(备注, '''') AS 备注`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @selectStr = N' SELECT top 50``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'``SET @selectStr = @selectStr + @selectStrWhere`。 排序/分组/分页线索:`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`。
- `工艺管理_图纸维护_零件图查询全部` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_物料查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_验证名称` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_图纸维护_删除图纸` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`物料基础数据_零件图纸`。 写入或更新对象:`物料基础数据_零件图纸`、`物料基础数据_零件图纸删除记录`。 入参/分页参数:`@物料编号 NVARCHAR(100),`、`@文件名称 NVARCHAR(255)`、`@操作人 NVARCHAR(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_零件图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 物料基础数据_零件图纸删除记录 (`。 实现特征:事务控制、异常捕获。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_图纸维护_零件图查询全部` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_零件图查询全部` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%'`。 关键写入/状态处理语句线索:`set nocount on;`。
## 18. src/views/ProcessManagement/ProcedureManagement/index.vue
**页面位置**`src/views/ProcessManagement/ProcedureManagement/index.vue`
**所属模块**ProcessManagement / ProcedureManagement
**源码行数**268
### 页面功能
该页面维护工序/路线阶段主数据。新增或修改工序时会同步 SAP B1 的 RouteStages保证 MES 工序与 SAP 工艺阶段一致。
页面可见的操作/字段包括 “新增工艺”、“--> 取 消”、“确 定”、“序号”、“工艺名称”、“操作”、“请输入工艺名称”、“title”这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_ProcessManagement_ProcessGet`、`MES_ProcessManagement_ProcessAdd`、`MES_ProcessManagement_ProcessEdit`、`MES_ProcessManagement_Processdel` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_ProcessManagement_ProcessGet` -> `MES_ProcessManagement_ProcessAdd` -> `MES_ProcessManagement_ProcessEdit` -> `MES_ProcessManagement_Processdel` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`新增工艺`、`--> 取 消`、`确 定`、`序号`、`工艺名称`、`操作`、`请输入工艺名称`、`title`
主要方法线索:`getProcess`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工艺名称` | - | `工艺编号 as 工艺编号, 工序名称 as 工艺名称` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `searchName` | - | - |
| 输入字段 | `form1.ProcessClassification` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 112 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 151 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessAdd` | 新增业务数据 | 查询、新增 | 未在 SQL 中解析到明确依赖 |
| 188 | 12当前通用存储过程写入/业务动作) | `MES_ProcessManagement_ProcessEdit` | 更新/保存业务数据 | 更新 | 未在 SQL 中解析到明确依赖 |
| 225 | 12当前通用存储过程写入/业务动作) | `MES_ProcessManagement_Processdel` | 业务存储过程调用 | 未找到过程体 | 未知 |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 155 行:`postB1("/RouteStages")`
- 第 192 行:`getB1("/RouteStages")`
- 第 198 行:`patchB1("/RouteStages(")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 155 | `postB1` | `/RouteStages` | 新增或更新 SAP 工序阶段。失败会导致 MES 工序与 SAP RouteStages 不一致。 | `Code`、`Description`、`CreationDate`、`DateOfUpdate` |
| 192 | `getB1` | `/RouteStages` | 新增或更新 SAP 工序阶段。失败会导致 MES 工序与 SAP RouteStages 不一致。 | `filter`、`Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type` |
| 198 | `patchB1` | `/RouteStages(` | 新增或更新 SAP 工序阶段。失败会导致 MES 工序与 SAP RouteStages 不一致。 | `Description`、`DateOfUpdate`、`confirmButtonText`、`cancelButtonText`、`type`、`top` |
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_ProcessGet` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_ProcessAdd` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据
- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_ProcessEdit` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcedureManagement/index.vue` -> `MES_ProcessManagement_Processdel` -> 过程体未解析 -> 业务存储过程调用
### 存储过程处理逻辑明细
- `MES_ProcessManagement_ProcessGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 入参/分页参数:`@工艺编号 nvarchar(50)`。 主要返回字段线索:`工艺编号 as 工艺编号, 工序名称 as 工艺名称`。 关键过滤/匹配条件:`IF @工艺编号 IS NOT NULL AND @工艺编号 ! = ''``SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] WHERE 工艺编号 IN (SELECT value FROM STRING_SPLIT(@工艺编号, ', '))`。 排序/分组/分页线索:`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] ORDER BY 工艺编号`。
- `MES_ProcessManagement_ProcessAdd` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础表_工序`。 入参/分页参数:`@工艺名称 nvarchar(50)`。 主要返回字段线索:`ISNULL(MAX(工艺编号), 0) +1`。 关键过滤/匹配条件:`select 工艺编号 from 基础表_工序 where 工序名称 = @工艺名称`。 关键写入/状态处理语句线索:`INSERT INTO 基础表_工序 (工艺编号, 工序名称) VALUES((select ISNULL(MAX(工艺编号), 0) +1 from 基础表_工序 ), @工艺名称)`。
- `MES_ProcessManagement_ProcessEdit` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`基础表_工序`。 入参/分页参数:`@工艺名称 nvarchar(50)`、`@工艺编号 int`。 关键过滤/匹配条件:`update 基础表_工序 set 工序名称 = @工艺名称 where 工艺编号 = @工艺编号`。 关键写入/状态处理语句线索:`update 基础表_工序 set 工序名称 = @工艺名称 where 工艺编号 = @工艺编号`。
- `MES_ProcessManagement_Processdel` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
## 19. src/views/ProcessManagement/ProcessDrawing/index.vue
**页面位置**`src/views/ProcessManagement/ProcessDrawing/index.vue`
**所属模块**ProcessManagement / ProcessDrawing
**源码行数**417
### 页面功能
该页面维护工艺图纸。用户按物料/工艺条件查询工艺图,验证名称,查看或删除工艺图纸。
页面可见的操作/字段包括 “查询”、“工艺图”、“选零件上传工艺图”、“选订单上传工艺图”、“查看”、“删除”、“取消”、“确定”、“item.物料编码”、“序号”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_工艺维护_工艺图查询`、`工艺管理_图纸维护_物料查询`、`工艺管理_工艺维护_验证名称`、`工艺管理_工艺维护_查看图纸`、`工艺管理_工艺维护_删除图纸` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_工艺维护_工艺图查询` -> `工艺管理_图纸维护_物料查询` -> `工艺管理_工艺维护_验证名称` -> `工艺管理_工艺维护_查看图纸` -> `工艺管理_工艺维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`工艺图`、`选零件上传工艺图`、`选订单上传工艺图`、`查看`、`删除`、`取消`、`确定`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`请选择物料`、`请选择`
主要方法线索:`queryitem`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `query` | `@过滤` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `物料编号` | - | `num` |
| 显示列 | `物料名称` | - | `t2.物料描述` |
| 显示列 | `文件名称` | - | `THEN name` |
| 显示列 | `导入人` | - | `worker` |
| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `stationNumberValue` | - | - |
| 输入字段 | `uploadValue` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 165 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 176 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 208 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` |
| 250 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 271 | 12当前通用存储过程写入/业务动作) | `工艺管理_工艺维护_删除图纸` | 删除业务数据 | 执行数据库业务逻辑 | 表:`物料基础数据_工艺图纸` |
| 340 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 368 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 379 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_工艺图查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_工艺维护_工艺图查询: SAP.SBO_YL.dbo.UBT_OITM
- 工艺管理_图纸维护_物料查询: SAP.SBO_YL.dbo.UBT_OITM
- 工艺管理_工艺维护_工艺图查询: SAP.SBO_YL.dbo.UBT_OITM
- 工艺管理_工艺维护_工艺图查询: SAP.SBO_YL.dbo.UBT_OITM
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_工艺维护_工艺图查询``SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号``SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码`
- `工艺管理_图纸维护_物料查询``SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`
- `工艺管理_工艺维护_工艺图查询``SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号``SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码`
- `工艺管理_工艺维护_工艺图查询``SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号``SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码`
### 数据库调用链
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_工艺图查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_图纸维护_物料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_删除图纸` -> 表:`物料基础数据_工艺图纸` -> 删除业务数据
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_工艺图查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessDrawing/index.vue` -> `工艺管理_工艺维护_工艺图查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
### 存储过程处理逻辑明细
- `工艺管理_工艺维护_工艺图查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50`、`t1.*, `、`t2.物料描述`。 关键过滤/匹配条件:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_物料查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_工艺维护_验证名称` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_删除图纸` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:执行数据库业务逻辑。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 nvarchar(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_工艺图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_工艺图查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50`、`t1.*, `、`t2.物料描述`。 关键过滤/匹配条件:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_工艺维护_工艺图查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50`、`t1.*, `、`t2.物料描述`。 关键过滤/匹配条件:`SAP.SBO_YL.dbo.UBT_OITM AS t2 ON t1.num = t2.物料编码 where num = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。
## 20. src/views/ProcessManagement/ProcessInquiry/index.vue
**页面位置**`src/views/ProcessManagement/ProcessInquiry/index.vue`
**所属模块**ProcessManagement / ProcessInquiry
**源码行数**802
### 页面功能
该页面用于工艺路线查询。用户按物料、产品、工序等条件查看标准工艺或生产工艺,服务于排产、生产和质检核对。
页面可见的操作/字段包括 “查询”、“打印”、“item.物料编码”、“全部”、“已打印”、“未打印”、“已拣配”、“未拣配”、“机加件”、“装配件”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_ProcessManagement_PartGet`、`工艺管理_工艺查询_查询生产工艺`、`工艺管理_工艺查询_更新打印次数` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_ProcessManagement_PartGet` -> `工艺管理_工艺查询_查询生产工艺` -> `工艺管理_工艺查询_更新打印次数` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`打印`、`item.物料编码`、`全部`、`已打印`、`未打印`、`已拣配`、`未拣配`、`机加件`、`装配件`、`序号`、`生产订单`、`计划号`、`物料名称`、`物料编码`、`加工数量`、`打印次数`、`生产工艺物料名称`
主要方法线索:`handleSelectionChange`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `序号` | - | `序号` |
| 显示列 | `生产订单` | - | `c.[订单编号]` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `物料名称` | - | `零件名称` |
| 显示列 | `物料编码` | - | `[零件图号]` |
| 显示列 | `加工数量` | - | `c.[计划数量]` |
| 显示列 | `打印次数` | - | `周转单打印次数` |
| 输入字段 | `partNameValue3` | - | - |
| 输入字段 | `orderNo` | - | - |
| 输入字段 | `plannum` | - | - |
| 输入字段 | `taskstatus` | - | - |
| 输入字段 | `pickingstatus` | - | - |
| 输入字段 | `orderstatus` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 297 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_PartGet` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 350 | 11当前通用存储过程查询/执行) | `工艺管理_工艺查询_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 646 | 11当前通用存储过程查询/执行) | `工艺管理_工艺查询_更新打印次数` | 查询/读取数据 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- MES_ProcessManagement_PartGet: SAP.SBO_YL.dbo.UBT_OITM
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_ProcessManagement_PartGet``SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`
- `工艺管理_工艺查询_查询生产工艺``, c.计划完成``, c.加急状态`
- `工艺管理_工艺查询_更新打印次数``'成功' AS 状态, ``'错误' AS 状态, `
### 数据库调用链
- `src/views/ProcessManagement/ProcessInquiry/index.vue` -> `MES_ProcessManagement_PartGet` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessInquiry/index.vue` -> `工艺管理_工艺查询_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessInquiry/index.vue` -> `工艺管理_工艺查询_更新打印次数` -> 表:`MES_接口_生产计划` -> 查询/读取数据
### 存储过程处理逻辑明细
- `MES_ProcessManagement_PartGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_工艺查询_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`c.[订单编号]`、`c.[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`、`isnull(工时合计, 0) as 工时合计`。 关键过滤/匹配条件:`FROM [dbo].[View_生产订单_MES] as c inner join [车间生产管理工艺_零件生产工艺_工艺库] as a on a.订单编号 = c.订单编号 and a.工艺顺序 = c.订单行号``where c.[订单编号] = @订单编号`。 排序/分组/分页线索:`ORDER BY TaskAID`。
- `工艺管理_工艺查询_更新打印次数` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE 订单编号 IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划]``SET 周转单打印次数 = ISNULL(周转单打印次数, 0) + 1`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。
## 21. src/views/ProcessManagement/ProcessProduct/index.vue
**页面位置**`src/views/ProcessManagement/ProcessProduct/index.vue`
**所属模块**ProcessManagement / ProcessProduct
**源码行数**1232
### 页面功能
该页面维护产品与工艺/图纸的关系,使产品、物料、工序、图纸等基础数据形成可查询的工艺资料。
页面可见的操作/字段包括 “查询”、“批量生成生产工艺”、“编辑工艺”、“拷贝”、“零件图纸”、“工艺图纸”、“保存为标准工艺”、“下发任务”、“已保存”、“保存”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_获取物料原料信息`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_工艺拷贝`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝`、`计划排产_生产订单_订单查询` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_获取物料原料信息` -> `工艺管理_生产工艺_查询生产工艺` -> `工艺管理_生产工艺_工艺拷贝` -> `工艺管理_生产工艺_生产工艺拷贝` -> `工艺管理_生产工艺_标准工艺拷贝` -> `计划排产_生产订单_订单查询` -> `计划排产_生产订单_订单任务_生产工艺任务下发` -> `计划排产_生产订单_订单任务_单条生产工艺任务下发` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量生成生产工艺`、`编辑工艺`、`拷贝`、`零件图纸`、`工艺图纸`、`保存为标准工艺`、`下发任务`、`已保存`、`保存`、`取消`、`确定`、`关闭`、`全部`、`未下发`、`已下发`、`机加件`、`装配件`
主要方法线索:`getitemdata`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `item` | `@订单编号` | - |
| 参数 | `this.orderNo ` | `@订单号` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.productName` | `@产品名称` | - |
| 参数 | `this.completionTime[0` | `@下达日期1` | - |
| 参数 | `this.completionTime[1` | `@下达日期2` | - |
| 参数 | `this.taskstatus` | `@任务状态` | - |
| 参数 | `this.orderstatus` | `@订单状态` | - |
| 参数 | `this.standardprocess` | `@工艺状态` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `this.pageCurrent` | `@PageCurrent` | - |
| 参数 | `this.pageSize` | `@PageSize` | - |
| 参数 | `'1111', 'int', '1'` | `@PageCount` | - |
| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - |
| 参数 | `this.selectedRow.订单编号` | `@订单编号` | - |
| 参数 | `this.selectedRow.物料编号` | `@物料编号` | - |
| 参数 | `this.selectedRow.计划数量` | `@计划数量` | - |
| 参数 | `row.工艺顺序` | `@工艺顺序` | `g.工艺顺序 AS 订单行号, ` |
| 参数 | `orderids` | `@订单编号` | - |
| 参数 | `orderitems` | `@零件图号` | - |
| 参数 | `ordernums` | `@计划数量` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `合同号` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `生产订单` | - | `[订单编号]` |
| 显示列 | `物料编码` | - | `g.零件图号 AS 物料编码, ` |
| 显示列 | `物料名称` | - | `mp.物料描述 AS 物料名称, ` |
| 显示列 | `属性` | - | `自制件属性` |
| 显示列 | `计划数` | - | `[计划数量]` |
| 显示列 | `下达日期` | - | `下达日期` |
| 显示列 | `计划开始` | - | `计划开始` |
| 显示列 | `计划完成` | - | `计划完成` |
| 显示列 | `加急状态` | - | `加急状态` |
| 显示列 | `标准工艺` | - | `标准工艺` |
| 显示列 | `生产工艺` | - | `生产工艺` |
| 显示列 | `图纸` | - | `图纸` |
| 显示列 | `备注` | - | `备注` |
| 显示列 | `操作` | - | `操作` |
| 显示列 | `工序` | - | `xg.工序名称, ` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 546 | 11当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` |
| 575 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 601 | 12当前通用存储过程写入/业务动作) | `工艺管理_生产工艺_工艺拷贝` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 618 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_生产工艺拷贝` | 业务存储过程调用 | 查询、分页、处理计划/派工 | 表:`MES_接口_生产计划` |
| 624 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_标准工艺拷贝` | 业务存储过程调用 | 查询、分页 | 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` |
| 669 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_订单查询` | 查询/读取数据 | 查询、分页、处理计划/派工 | 表:`MES_接口_生产计划`;视图:`View_生产计划零件图纸视图` |
| 696 | 11当前通用存储过程查询/执行) | `计划排产_生产订单_订单任务_生产工艺任务下发` | 计划排产或派工 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 721 | 12当前通用存储过程写入/业务动作) | `计划排产_生产订单_订单任务_单条生产工艺任务下发` | 计划排产或派工 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 753 | 12当前通用存储过程写入/业务动作) | `工艺管理_零件工序_生产工艺_批量生成生产工艺` | 业务存储过程调用 | 查询、新增、更新、分页、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 765 | 11当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 801 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` |
| 814 | 11当前通用存储过程查询/执行) | `工艺管理_制定标准工艺_拷贝生产工艺` | 业务存储过程调用 | 查询 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 841 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 863 | 12当前通用存储过程写入/业务动作) | `车间生产管理工艺_零件工序_保存为标准工艺` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 883 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 905 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 961 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_修改数据` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 966 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 1015 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_编辑` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 1036 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_编辑插入工序` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 1042 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 1059 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_删除工序` | 删除业务数据 | 查询、更新、删除、处理计划/派工 | 表:`MES_接口_生产计划` |
| 1065 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 1081 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_上移工序` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 1087 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 1103 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_下移工序` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 1109 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 1123 | 11当前通用存储过程查询/执行) | `工艺管理_零件工序_生产工艺_插入工序` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 1129 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 1140 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_启用` | 业务存储过程调用 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_获取物料原料信息``SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`
- `计划排产_生产订单_订单查询``CREATE PROCEDURE [dbo].[计划排产_生产订单_订单查询]``@任务状态 int = 1, ``@订单状态 int = 1, ``@工艺状态 int, ``set @where = ' (单据状态 ''已取消'' OR 单据状态 IS NULL) '``IF @任务状态 = 2``SET @where = @where + ' AND ISNULL(任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));``IF @任务状态 = 1`
- `计划排产_生产订单_订单任务_生产工艺任务下发``CREATE PROCEDURE [dbo].[计划排产_生产订单_订单任务_生产工艺任务下发]``declare @任务状态 int``select @任务状态 = isnull(任务状态, 0) from [dbo].[MES_接口_生产计划] where 订单编号 = @订单编号``if (@任务状态 2 and @自制件属性 = '机加件')``'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, 顺序编号, 工序名称, 物料名称, 订单发货类型, 物料类型, 基本数量, 已发货数量, 订单拆分内码, 阶段标识, 可视订单)``update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号``if (@任务状态 2 and @自制件属性 like '%装配%')``'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, `
- `计划排产_生产订单_订单任务_单条生产工艺任务下发``CREATE PROCEDURE [dbo].[计划排产_生产订单_订单任务_单条生产工艺任务下发]``UPDATE dbo.MES_接口_生产计划_生产任务``INSERT INTO [dbo].[MES_接口_生产计划_生产任务]``update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号`
### 数据库调用链
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_工艺拷贝` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_生产工艺拷贝` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_标准工艺拷贝` -> 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `计划排产_生产订单_订单查询` -> 表:`MES_接口_生产计划`;视图:`View_生产计划零件图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `计划排产_生产订单_订单任务_生产工艺任务下发` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `计划排产_生产订单_订单任务_单条生产工艺任务下发` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_批量生成生产工艺` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `MES_ProcessManagement_ProcessBindGet` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_制定标准工艺_拷贝生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `MES_ProcessManagement_ProcessGet` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `车间生产管理工艺_零件工序_保存为标准工艺` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_修改数据` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_编辑` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_编辑插入工序` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_删除工序` -> 表:`MES_接口_生产计划` -> 删除业务数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_上移工序` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_下移工序` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_零件工序_生产工艺_插入工序` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessProduct/index.vue` -> `工艺管理_生产工艺_启用` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
### 存储过程处理逻辑明细
- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_生产工艺_工艺拷贝` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@零件图号 nvarchar(50)`、`@订单编号 int,`、`@计划数量 int,`、`@工艺类型 int`。 主要返回字段线索:`@工艺数量 = count(*)`。 关键过滤/匹配条件:`select @工艺数量 = count(*) from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @零件图号``select @工艺数量 = count(*) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @零件图号``delete 车间生产管理工艺_零件生产工艺_工艺库 where 订单编号 = @订单编号``where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号``WHERE 零件图号 = @零件图号 and 工艺顺序 = @i and 启用 = 1``where 零件图号 = @物料编号 and 工艺顺序 = @i and 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`set @l = 1``set @新增条数 = @工艺数量``insert into 车间生产管理工艺_零件生产工艺_工艺库(订单编号, 计划数量, 零件图号, 工艺顺序, 启用)values(@订单编号, @计划数量, @物料编号, ISNULL(@最大顺序, 0)+1, 0)``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号``set @l = @l+1``set @i = 1``update 车间生产管理工艺_零件生产工艺_工艺库``set 工艺编号 = @工艺编号, ``set @i = @i+1`。
- `工艺管理_生产工艺_生产工艺拷贝` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [MES_接口_生产计划] where 生产工艺 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY [物料编号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。
- `工艺管理_生产工艺_标准工艺拷贝` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`、`物料数据`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [dbo].[车间生产管理工艺_零件工序_工艺库] a left join [dbo].[物料数据] b on a.零件图号 = b.物料编码 where a.启用 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY a.[零件图号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。
- `计划排产_生产订单_订单查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;视图:`View_生产计划零件图纸视图`。 入参/分页参数:`@订单号 int`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@下达日期1 nvarchar(50)`、`@下达日期2 nvarchar(50)`、`@任务状态 int`、`@订单状态 int`、`@工艺状态 int,`、`@计划号 nvarchar(50)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(4000)``set @where = ' (单据状态 ''已取消'' OR 单据状态 IS NULL) '``SET @where = @where + ' AND [订单编号] = ' + CAST(@订单号 AS VARCHAR(10));``IF @计划号 IS NOT NULL AND @计划号 0``SET @where = @where + ' AND 计划号 = '''+@计划号+''''``SET @where = @where + ' AND [合同号] LIKE ''%' + @合同号 + '%''';``SET @where = @where + ' AND [物料编号] LIKE ''%' + @产品编码 + '%''';``SET @where = @where + ' AND [物料描述] LIKE ''%' + @产品名称 + '%''';``SET @where = @where + ' AND 下达日期 > = ''' + @下达日期1 + '''';``SET @where = @where + ' AND 下达日期 < = ''' + @下达日期2 + '''';`。 关键写入/状态处理语句线索:`set @tbname = '[dbo].[View_生产计划零件图纸视图]'``set @fieldkey = ' 订单编号 '``set @where = ' (单据状态 ''已取消'' OR 单据状态 IS NULL) '``set @fieldshow = ''``set @fieldOrder = '订单编号 DESC'``SET @where = @where + ' AND [订单编号] = ' + CAST(@订单号 AS VARCHAR(10));``SET @where = @where + ' AND 计划号 = '''+@计划号+''''``SET @where = @where + ' AND [合同号] LIKE ''%' + @合同号 + '%''';``SET @where = @where + ' AND [物料编号] LIKE ''%' + @产品编码 + '%''';``SET @where = @where + ' AND [物料描述] LIKE ''%' + @产品名称 + '%''';``SET @where = @where + ' AND 下达日期 > = ''' + @下达日期1 + '''';``SET @where = @where + ' AND 下达日期 < = ''' + @下达日期2 + '''';`。 实现特征:分页。
- `计划排产_生产订单_订单任务_生产工艺任务下发` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@订单编号 nvarchar(max),`、`@物料编号 nvarchar(max),`、`@计划数量 int`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0) from [dbo].[MES_接口_生产计划] where 订单编号 = @订单编号``select @自制件属性 = isnull(自制件属性, 0) from [dbo].[MES_接口_生产计划] where 订单编号 = @订单编号``if (@任务状态 2 and @自制件属性 = '机加件')``where 车间生产管理工艺_零件生产工艺_工艺库.零件图号 = '''+@物料编号+'''and MES_接口_生产计划.订单编号 = '''+@订单编号+''''``update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号``if (@任务状态 2 and @自制件属性 like '%装配%')`。 关键写入/状态处理语句线索:`set @selectStr2 = ``'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, 顺序编号, 工序名称, 物料名称, 订单发货类型, 物料类型, 基本数量, 已发货数量, 订单拆分内码, 阶段标识, 可视订单)``update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号``'insert into [dbo].[MES_接口_生产计划_生产任务] (不装配, 订单编号, 计划数量, 物料编码, 订单行号, `。
- `计划排产_生产订单_订单任务_单条生产工艺任务下发` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@订单编号 NVARCHAR(50),`、`@物料编号 NVARCHAR(50),`、`@计划数量 INT,`、`@工艺顺序 INT`。 主要返回字段线索:`''4'' AS 不装配, `、`g.订单编号, `、`g.计划数量, `、`g.零件图号 AS 物料编码, `、`g.工艺顺序 AS 订单行号, `、`g.工艺编号 AS 顺序编号, `、`xg.工序名称, `、`mp.物料描述 AS 物料名称, `、`''im_Manual'' AS 订单发货类型, `、`''pit_Resource'' AS 物料类型, `。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号``AND 物料编码 = @物料编号``AND 订单行号 > = @工艺顺序;``LEFT JOIN dbo.MES_接口_生产计划 mp ON g.零件图号 = mp.物料编号 AND mp.订单编号 = g.订单编号``WHERE g.零件图号 = ''' + @Safe物料编号 + '''``AND mp.订单编号 = ''' + @Safe订单编号 + '''``AND g.工艺顺序 = ' + @Safe工艺顺序 + ';'``update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE dbo.MES_接口_生产计划_生产任务``SET 订单行号 = 订单行号 + 1``SET @SQL = '``INSERT INTO [dbo].[MES_接口_生产计划_生产任务]``update [dbo].[MES_接口_生产计划] set 任务状态 = 2 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号`。 实现特征:事务控制、异常捕获。
- `工艺管理_零件工序_生产工艺_批量生成生产工艺` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、分页、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@零件图号 NVARCHAR(MAX),`、`@订单编号 NVARCHAR(MAX),`、`@计划数量 NVARCHAR(MAX)`。 主要返回字段线索:`TRIM(value)`。 关键过滤/匹配条件:`IF @零件图号 IS NULL OR @订单编号 IS NULL OR @计划数量 IS NULL``WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, '', '')) ;';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @sql1 = N'``UPDATE [dbo].[MES_接口_生产计划]``SET 生产工艺 = 1``SET @sql2 = N'``INSERT INTO 车间生产管理工艺_零件生产工艺_工艺库`。 排序/分组/分页线索:`SELECT TRIM(value) AS PartID, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn``SELECT TRIM(value) AS OrderID, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn``SELECT TRIM(value) AS Qty, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。
- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = ``set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'``set @selectStr = @selectStr+@selectStrWhere`。
- `MES_ProcessManagement_ProcessBindGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。
- `工艺管理_制定标准工艺_拷贝生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`@最大订单 = max(订单编号)`。 关键过滤/匹配条件:`select @最大订单 = max(订单编号) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 启用 = 1``on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。
- `MES_ProcessManagement_ProcessGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 入参/分页参数:`@工艺编号 nvarchar(50)`。 主要返回字段线索:`工艺编号 as 工艺编号, 工序名称 as 工艺名称`。 关键过滤/匹配条件:`IF @工艺编号 IS NOT NULL AND @工艺编号 ! = ''``SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] WHERE 工艺编号 IN (SELECT value FROM STRING_SPLIT(@工艺编号, ', '))`。 排序/分组/分页线索:`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] ORDER BY 工艺编号`。
- `车间生产管理工艺_零件工序_保存为标准工艺` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(500),`、`@订单编号 int`。 主要返回字段线索:`[零件图号]`、`[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[计划数量]`、`[准备工时]`、`[标准工时]`、`[工时合计]`、`[工卡量具]`。 关键过滤/匹配条件:`delete 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号``from 车间生产管理工艺_零件生产工艺_工艺库 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`insert into 车间生产管理工艺_零件工序_工艺库 ( [零件图号]``update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_零件工序_生产工艺_修改数据` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工艺编号 int`、`@计划数量 int`、`@订单编号 int`。 主要返回字段线索:`top 1 @工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 订单编号 = @订单编号 order by 工艺顺序 desc``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`insert into dbo.车间生产管理工艺_零件生产工艺_工艺库(计划数量, 零件图号, 工艺顺序, 工艺编号, 订单编号)values(@计划数量, @物料编号, @工序顺序+1, @工艺编号, @订单编号)``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 排序/分组/分页线索:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 订单编号 = @订单编号 order by 工艺顺序 desc`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_零件工序_生产工艺_编辑` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@idd int,`、`@工艺要求 nvarchar(500)`、`@准备工时 int`、`@标准工时 int`、`@工时合计 int`、`@工卡量具 nvarchar(500)`、`@指定机床 nvarchar(500)`、`@车间 nvarchar(500)`、`@备注 nvarchar(500)`、`@属性 nvarchar(500)`。 关键过滤/匹配条件:`工时合计 = @工时合计, 工卡量具 = @工卡量具, 指定机床 = @指定机床, 车间 = @车间, 备注 = @备注, 属性 = @属性 where id = @idd`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺要求 = @工艺要求, 准备工时 = @准备工时, 标准工时 = @标准工时, `。
- `工艺管理_零件工序_生产工艺_编辑插入工序` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@idd int,`、`@工艺编号 int,`、`@计划数量 int,`、`@订单编号 int`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺编号 = @工艺编号, 计划数量 = @计划数量 where id = @idd``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺编号 = @工艺编号, 计划数量 = @计划数量 where id = @idd``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_零件工序_生产工艺_删除工序` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、更新、删除、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件生产工艺_工艺库 where id = @idd``where 工艺顺序>@工序顺序 and 零件图号 = @物料编号 and 订单编号 = @订单编号``delete from 车间生产管理工艺_零件生产工艺_工艺库 where id = @idd``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 工艺顺序 = 工艺顺序 - 1``delete from 车间生产管理工艺_零件生产工艺_工艺库 where id = @idd``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_零件工序_生产工艺_上移工序` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd``where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序-1 and 订单编号 = @订单编号``where id = @前idd``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件生产工艺_工艺库``set 工艺顺序 = @工序顺序-1``set 工艺顺序 = @工序顺序``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_零件工序_生产工艺_下移工序` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd``where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序+1 and 订单编号 = @订单编号``where id = @后idd``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件生产工艺_工艺库``set 工艺顺序 = @工序顺序+1``set 工艺顺序 = @工序顺序``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_零件工序_生产工艺_插入工序` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@零件图号 nvarchar(50)`、`@idd int`、`@订单编号 int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from dbo.车间生产管理工艺_零件生产工艺_工艺库 where id = @idd``where 工艺顺序> = @工序顺序 and 零件图号 = @零件图号 and 订单编号 = @订单编号``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件生产工艺_工艺库``set 工艺顺序 = 工艺顺序+1``update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 0 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 0 where 订单编号 = @订单编号`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_生产工艺_启用` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@订单编号 nvarchar(50)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件生产工艺_工艺库 set 启用 = 1 where 订单编号 = @订单编号``update [dbo].[MES_接口_生产计划] set 生产工艺 = 1 where 订单编号 = @订单编号`。
## 22. src/views/ProcessManagement/ProcessesDevelop/index.vue
**页面位置**`src/views/ProcessManagement/ProcessesDevelop/index.vue`
**所属模块**ProcessManagement / ProcessesDevelop
**源码行数**918
### 页面功能
该页面用于工艺开发和生产工艺路线维护。用户围绕物料、工序、顺序、工艺参数、图纸等信息维护标准或生产用工艺路线。
页面可见的操作/字段包括 “查询”、“拷贝”、“图纸”、“已保存”、“保存”、“导出”、“--> 生产工艺 取消”、“确定”、“item.物料编码”、“工序”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_获取物料原料信息`、`设备管理_设备信息_查询`、`工艺管理_生产计划物料查询`、`工艺管理_生产工艺_生产工艺拷贝`、`工艺管理_生产工艺_标准工艺拷贝`、`MES_ProcessManagement_ProcessBindGet` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_获取物料原料信息` -> `设备管理_设备信息_查询` -> `工艺管理_生产计划物料查询` -> `工艺管理_生产工艺_生产工艺拷贝` -> `工艺管理_生产工艺_标准工艺拷贝` -> `MES_ProcessManagement_ProcessBindGet` -> `工艺管理_制定标准工艺_拷贝生产工艺` -> `MES_ProcessManagement_ProcessGet` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`拷贝`、`图纸`、`已保存`、`保存`、`导出`、`--> 生产工艺 取消`、`确定`、`item.物料编码`、`工序`、`序号`、`工序名称`、`准备工时`、`标准工时`、`工时合计`、`工装量具`、`item.name`、`指定机床`
主要方法线索:`getitemdata`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `item` | `@订单编号` | - |
| 参数 | `query` | `@过滤` | - |
| 显示列 | `工序` | - | `*, dbo.基础表_工序.工序名称 as 工艺名称` |
| 显示列 | `序号` | - | `top 1 @工序顺序 = 工艺顺序` |
| 显示列 | `工序名称` | - | `*, dbo.基础表_工序.工序名称 as 工艺名称` |
| 显示列 | `准备工时` | - | `dbo.车间生产管理工艺_零件工序_工艺库.准备工时, ` |
| 显示列 | `标准工时` | - | `dbo.车间生产管理工艺_零件工序_工艺库.标准工时, ` |
| 显示列 | `工时合计` | - | `dbo.车间生产管理工艺_零件工序_工艺库.工时合计, ` |
| 显示列 | `工装量具` | - | `工装量具` |
| 显示列 | `指定机床` | - | `指定机床` |
| 显示列 | `车间` | - | `dbo.车间生产管理工艺_零件工序_工艺库.id, ` |
| 显示列 | `工序说明` | - | `工序说明` |
| 显示列 | `备注` | - | `备注` |
| 显示列 | `操作` | - | `操作` |
| 显示列 | `工序说明` | - | `dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, ` |
| 输入字段 | `partNameValue3` | - | - |
| 输入字段 | `processSearchName` | - | - |
| 输入字段 | `scope.row.准备工时` | - | - |
| 输入字段 | `scope.row.标准工时` | - | - |
| 输入字段 | `scope.row.工时合计` | - | - |
| 输入字段 | `scope.row.工卡量具` | - | - |
| 输入字段 | `scope.row.指定机床` | - | - |
| 输入字段 | `scope.row.车间` | - | - |
| 输入字段 | `scope.row.工艺要求` | - | - |
| 输入字段 | `scope.row.备注` | - | - |
| 输入字段 | `processprodutc` | - | - |
| 输入字段 | `partNameValue2` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 333 | 11当前通用存储过程查询/执行) | `工艺管理_获取物料原料信息` | 业务存储过程调用 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` |
| 352 | 11当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 385 | 11当前通用存储过程查询/执行) | `工艺管理_生产计划物料查询` | 查询/读取数据 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 402 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_生产工艺拷贝` | 业务存储过程调用 | 查询、分页、处理计划/派工 | 表:`MES_接口_生产计划` |
| 409 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_标准工艺拷贝` | 业务存储过程调用 | 查询、分页 | 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` |
| 452 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` |
| 468 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessBindGet` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` |
| 482 | 11当前通用存储过程查询/执行) | `工艺管理_制定标准工艺_拷贝生产工艺` | 业务存储过程调用 | 查询 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 538 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_ProcessGet` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 568 | 12当前通用存储过程写入/业务动作) | `工艺管理_制定标准工艺_拷贝工艺保存` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 587 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 634 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_修改数据_工艺库` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 638 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 687 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_编辑_工艺库` | 更新/保存业务数据 | 更新、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 695 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_编辑插入行` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 700 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 715 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_删除工序_工艺库` | 删除业务数据 | 查询、更新、删除、处理计划/派工 | 表:`MES_接口_生产计划` |
| 720 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 734 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_上移工序_工艺库` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 739 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 754 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_下移工序_工艺库` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 759 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 774 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_插入工序_工艺库` | 业务存储过程调用 | 查询、更新 | 未在 SQL 中解析到明确依赖 |
| 780 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_查询工序信息_工艺库` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 795 | 11当前通用存储过程查询/执行) | `车间生产管理工艺_零件工序_启用` | 业务存储过程调用 | 更新、处理计划/派工 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_获取物料原料信息: SAP.SBO_YL.dbo.UBT_OWOR_material
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_获取物料原料信息``SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`
- `工艺管理_生产计划物料查询``SELECT top 100 * FROM [SAP].[SBO_YL].[dbo].[UBT_OITM] where 物料编码 like '' +'%'+@过滤+'%' +''`
### 数据库调用链
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_获取物料原料信息` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_生产计划物料查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_生产工艺_生产工艺拷贝` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_生产工艺_标准工艺拷贝` -> 表:`车间生产管理工艺_零件工序_工艺库`、`物料数据` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `MES_ProcessManagement_ProcessBindGet` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `MES_ProcessManagement_ProcessBindGet` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_制定标准工艺_拷贝生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `MES_ProcessManagement_ProcessGet` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_制定标准工艺_拷贝工艺保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_修改数据_工艺库` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_编辑_工艺库` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_编辑插入行` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_删除工序_工艺库` -> 表:`MES_接口_生产计划` -> 删除业务数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_上移工序_工艺库` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_下移工序_工艺库` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_插入工序_工艺库` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_查询工序信息_工艺库` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcessesDevelop/index.vue` -> `车间生产管理工艺_零件工序_启用` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
### 存储过程处理逻辑明细
- `工艺管理_获取物料原料信息` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_material`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM SAP.SBO_YL.dbo.UBT_OWOR_material where Docentry = @订单编号`。 实现特征:读取 SAP 数据库对象。
- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = ``set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'``set @selectStr = @selectStr+@selectStrWhere`。
- `工艺管理_生产计划物料查询` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM [SAP].[SBO_YL].[dbo].[UBT_OITM] where 物料编码 like '' +'%'+@过滤+'%' +''`。
- `工艺管理_生产工艺_生产工艺拷贝` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [MES_接口_生产计划] where 生产工艺 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY [物料编号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。
- `工艺管理_生产工艺_标准工艺拷贝` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、分页。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`、`物料数据`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`from [dbo].[车间生产管理工艺_零件工序_工艺库] a left join [dbo].[物料数据] b on a.零件图号 = b.物料编码 where a.启用 = 1) t WHERE rn = 1;`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY a.[零件图号] ORDER BY (SELECT NULL)) AS rn`。 实现特征:分页。
- `MES_ProcessManagement_ProcessBindGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。
- `MES_ProcessManagement_ProcessBindGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on 车间生产管理工艺_零件工序_工艺库.工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 ORDER BY [工艺顺序]`。
- `工艺管理_制定标准工艺_拷贝生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`@最大订单 = max(订单编号)`。 关键过滤/匹配条件:`select @最大订单 = max(订单编号) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @物料编号 and 启用 = 1``on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on [车间生产管理工艺_零件生产工艺_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 and 订单编号 = @最大订单 ORDER BY [工艺顺序]`。
- `MES_ProcessManagement_ProcessGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 入参/分页参数:`@工艺编号 nvarchar(50)`。 主要返回字段线索:`工艺编号 as 工艺编号, 工序名称 as 工艺名称`。 关键过滤/匹配条件:`IF @工艺编号 IS NOT NULL AND @工艺编号 ! = ''``SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] WHERE 工艺编号 IN (SELECT value FROM STRING_SPLIT(@工艺编号, ', '))`。 排序/分组/分页线索:`SELECT 工艺编号 as 工艺编号, 工序名称 as 工艺名称 FROM [基础表_工序] ORDER BY 工艺编号`。
- `工艺管理_制定标准工艺_拷贝工艺保存` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@零件图号 nvarchar(50)`、`@工艺类型 int`。 主要返回字段线索:`@工艺数量 = count(*)`。 关键过滤/匹配条件:`select @工艺数量 = count(*) from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @零件图号``select @工艺数量 = count(*) from 车间生产管理工艺_零件生产工艺_工艺库 where 零件图号 = @零件图号``delete 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号``where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号``WHERE 零件图号 = @零件图号 and 工艺顺序 = @i and 启用 = 1``where 零件图号 = @物料编号 and 工艺顺序 = @i`。 关键写入/状态处理语句线索:`set @l = 1``set @新增条数 = @工艺数量``insert into 车间生产管理工艺_零件工序_工艺库(零件图号, 工艺顺序, 启用)values(@物料编号, ISNULL(@最大顺序, 0)+1, 0)``update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号``set @l = @l+1``set @i = 1``update 车间生产管理工艺_零件工序_工艺库``set 工艺编号 = @工艺编号, ``set @i = @i+1`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `车间生产管理工艺_零件工序_修改数据_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工艺编号 int`。 主要返回字段线索:`top 1 @工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号 order by 工艺顺序 desc``update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`。 关键写入/状态处理语句线索:`insert into dbo.车间生产管理工艺_零件工序_工艺库(零件图号, 工艺顺序, 工艺编号)values(@物料编号, @工序顺序+1, @工艺编号)``update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号`。 排序/分组/分页线索:`select top 1 @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件工序_工艺库 where 零件图号 = @物料编号 order by 工艺顺序 desc`。
- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。
- `车间生产管理工艺_零件工序_编辑_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@idd int,`、`@工艺要求 nvarchar(500)`、`@准备工时 int`、`@标准工时 int`、`@工时合计 int`、`@工卡量具 nvarchar(500)`、`@指定机床 nvarchar(500)`、`@车间 nvarchar(500)`、`@备注 nvarchar(500)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件工序_工艺库 set 工艺要求 = @工艺要求, 准备工时 = @准备工时, 标准工时 = @标准工时, 工时合计 = @工时合计, 工卡量具 = @工卡量具, 指定机床 = @指定机床, 车间 = @车间, 备注 = @备注 where id = @idd`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 工艺要求 = @工艺要求, 准备工时 = @准备工时, 标准工时 = @标准工时, 工时合计 = @工时合计, 工卡量具 = @工卡量具, 指定机床 = @指定机床, 车间 = @车间, 备注 = @备注 where id = @idd`。
- `车间生产管理工艺_零件工序_编辑插入行` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@idd int,`、`@工艺编号 int,`、`@物料编号 nvarchar(50)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 工艺编号 = @工艺编号 where id = @idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。
- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。
- `车间生产管理工艺_零件工序_删除工序_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、更新、删除、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from 车间生产管理工艺_零件工序_工艺库 where id = @idd``where 工艺顺序>@工序顺序 and 零件图号 = @物料编号``delete from 车间生产管理工艺_零件工序_工艺库 where id = @idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 工艺顺序 = 工艺顺序 - 1``delete from 车间生产管理工艺_零件工序_工艺库 where id = @idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。
- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。
- `车间生产管理工艺_零件工序_上移工序_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd``where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序-1``where id = @前idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件工序_工艺库``set 工艺顺序 = @工序顺序-1``set 工艺顺序 = @工序顺序``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。
- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。
- `车间生产管理工艺_零件工序_下移工序_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`where id = @idd``where 零件图号 = @物料编号 and 工艺顺序 = @工序顺序+1``where id = @后idd``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件工序_工艺库``set 工艺顺序 = @工序顺序+1``set 工艺顺序 = @工序顺序``update 车间生产管理工艺_零件工序_工艺库 set 启用 = 0 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 0 where 物料编号 = @物料编号`。
- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。
- `车间生产管理工艺_零件工序_插入工序_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@零件图号 nvarchar(50)`、`@idd int`。 主要返回字段线索:`@工序顺序 = 工艺顺序`。 关键过滤/匹配条件:`select @工序顺序 = 工艺顺序 from dbo.车间生产管理工艺_零件工序_工艺库 where id = @idd``where 工艺顺序> = @工序顺序 and 零件图号 = @零件图号`。 关键写入/状态处理语句线索:`update dbo.车间生产管理工艺_零件工序_工艺库``set 工艺顺序 = 工艺顺序+1`。
- `车间生产管理工艺_零件工序_查询工序信息_工艺库` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`dbo.车间生产管理工艺_零件工序_工艺库.id, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺要求, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺编号, `、`dbo.基础表_工序.工序名称 as 工艺名称, `、`dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序, `、`零件图号, `、`dbo.车间生产管理工艺_零件工序_工艺库.准备工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.标准工时, `、`dbo.车间生产管理工艺_零件工序_工艺库.工时合计, `、`dbo.车间生产管理工艺_零件工序_工艺库.工卡量具, `。 关键过滤/匹配条件:`where 零件图号 = @物料编号`。 排序/分组/分页线索:`order by dbo.车间生产管理工艺_零件工序_工艺库.工艺顺序`。
- `车间生产管理工艺_零件工序_启用` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 关键过滤/匹配条件:`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 1 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。 关键写入/状态处理语句线索:`update 车间生产管理工艺_零件工序_工艺库 set 启用 = 1 where 零件图号 = @物料编号``update [dbo].[MES_接口_生产计划] set 标准工艺 = 1 where 物料编号 = @物料编号`。
## 23. src/views/ProcessManagement/ProcurementDrawlook/index.vue
**页面位置**`src/views/ProcessManagement/ProcurementDrawlook/index.vue`
**所属模块**ProcessManagement / ProcurementDrawlook
**源码行数**463
### 页面功能
该页面提供采购场景的图纸查看。用户按采购物料查询图纸,查看或删除图纸记录,支持采购、外协、来料检验时查阅技术文件。
页面可见的操作/字段包括 “查询”、“查看”、“删除”、“取消”、“确定”、“关闭”、“item.物料编码”、“序号”、“物料编号”、“物料名称”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_图纸维护_查询删除记录`、`工艺管理_图纸维护_零件图查询采购`、`工艺管理_图纸维护_物料查询_采购`、`工艺管理_图纸维护_验证名称`、`工艺管理_图纸维护_查看图纸`、`工艺管理_图纸维护_删除图纸` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工艺管理_图纸维护_查询删除记录` -> `工艺管理_图纸维护_零件图查询采购` -> `工艺管理_图纸维护_物料查询_采购` -> `工艺管理_图纸维护_验证名称` -> `工艺管理_图纸维护_查看图纸` -> `工艺管理_图纸维护_删除图纸` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`查看`、`删除`、`取消`、`确定`、`关闭`、`item.物料编码`、`序号`、`物料编号`、`物料名称`、`文件名称`、`导入人`、`导入时间`、`操作`、`操作人`、`删除时间`、`备注`、`请选择物料`
主要方法线索:`showDeleteRecords`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.itemnum` | `@物料编码` | - |
| 参数 | `query` | `@过滤` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `物料编号` | - | `物料编号, ` |
| 显示列 | `物料名称` | - | `物料描述` |
| 显示列 | `文件名称` | - | `文件名称, ` |
| 显示列 | `导入人` | - | `worker` |
| 显示列 | `导入时间` | - | `WHEN uploadTime IS NOT NULL` |
| 显示列 | `操作` | - | `操作人, ` |
| 显示列 | `操作人` | - | `操作人, ` |
| 显示列 | `删除时间` | - | `CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, ` |
| 显示列 | `备注` | - | `ISNULL(备注, '''') AS 备注` |
| 输入字段 | `stationNumberValue` | - | - |
| 输入字段 | `uploadValue` | - | - |
| 输入字段 | `itemnum` | `@物料编码` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 174 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查询删除记录` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 205 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
| 216 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_物料查询_采购` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 248 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_验证名称` | 业务存储过程调用 | 查询 | 表:`物料数据` |
| 294 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 317 | 12当前通用存储过程写入/业务动作) | `工艺管理_图纸维护_删除图纸` | 删除业务数据 | 查询、新增 | 表:`物料基础数据_零件图纸` |
| 386 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 414 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
| 425 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_零件图查询采购` | 查询/读取数据 | 查询 | 视图:`View_图纸视图` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 工艺管理_图纸维护_物料查询_采购: SAP.SBO_YL.dbo.UBT_OITM
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_图纸维护_物料查询_采购``SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +'' and U_BuyToPrint = 'Y'`
### 数据库调用链
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_查询删除记录` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询采购` -> 视图:`View_图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_物料查询_采购` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_验证名称` -> 表:`物料数据` -> 业务存储过程调用
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_删除图纸` -> 表:`物料基础数据_零件图纸` -> 删除业务数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询采购` -> 视图:`View_图纸视图` -> 查询/读取数据
- `src/views/ProcessManagement/ProcurementDrawlook/index.vue` -> `工艺管理_图纸维护_零件图查询采购` -> 视图:`View_图纸视图` -> 查询/读取数据
### 存储过程处理逻辑明细
- `工艺管理_图纸维护_查询删除记录` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编码 nvarchar(200)`。 主要返回字段线索:`top 50`、`物料编号, `、`文件名称, `、`操作人, `、`CONVERT(NVARCHAR(19), 删除时间, 120) AS 删除时间, `、`ISNULL(备注, '''') AS 备注`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @selectStr = N' SELECT top 50``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @物料编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'``SET @selectStr = @selectStr + @selectStrWhere`。 排序/分组/分页线索:`SET @selectStrWhere = @selectStrWhere + ' ORDER BY 删除时间 DESC'`。
- `工艺管理_图纸维护_零件图查询采购` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%' and U_BuyToPrint = 'Y'``[dbo].[View_图纸视图] WHERE U_BuyToPrint = 'Y'`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_物料查询_采购` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +'' and U_BuyToPrint = 'Y'`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_验证名称` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`物料数据`。 入参/分页参数:`@零件图号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [dbo].[物料数据] where 物料编码 = @零件图号`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_图纸维护_删除图纸` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`物料基础数据_零件图纸`。 写入或更新对象:`物料基础数据_零件图纸`、`物料基础数据_零件图纸删除记录`。 入参/分页参数:`@物料编号 NVARCHAR(100),`、`@文件名称 NVARCHAR(255)`、`@操作人 NVARCHAR(50)`。 关键过滤/匹配条件:`delete [dbo].[物料基础数据_零件图纸] where num = @物料编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 物料基础数据_零件图纸删除记录 (`。 实现特征:事务控制、异常捕获。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_图纸维护_零件图查询采购` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%' and U_BuyToPrint = 'Y'``[dbo].[View_图纸视图] WHERE U_BuyToPrint = 'Y'`。 关键写入/状态处理语句线索:`set nocount on;`。
- `工艺管理_图纸维护_零件图查询采购` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_图纸视图`。 入参/分页参数:`@零件图号_check int`、`@零件图号 nvarchar(50)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`WHERE num LIKE '%' + @零件图号 + '%' and U_BuyToPrint = 'Y'``[dbo].[View_图纸视图] WHERE U_BuyToPrint = 'Y'`。 关键写入/状态处理语句线索:`set nocount on;`。
## 24. src/views/ProcessManagement/ProductionOrder/index.vue
**页面位置**`src/views/ProcessManagement/ProductionOrder/index.vue`
**所属模块**ProcessManagement / ProductionOrder
**源码行数**594
### 页面功能
该页面处理生产订单资料。用户查询 ERP/MES 生产订单,并通过过程把 SAP 生产订单同步成 MES 生产计划和工序任务。
页面可见的操作/字段包括 “查询”、“批量生成任务”、“查看生产工艺”、“查看标准工艺”、“全部”、“未下发”、“已下发”、“机加件”、“装配件”、“序号”,这些是判断页面业务范围的主要线索。
后端主要围绕 `设备管理_设备信息_查询`、`工艺管理_生产工艺_查询生产工艺`、`工艺管理_生产工艺_查询标准工艺`、`工艺管理_工艺任务_订单查询`、`计划排产_生产订单_订单任务` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `设备管理_设备信息_查询` -> `工艺管理_生产工艺_查询生产工艺` -> `工艺管理_生产工艺_查询标准工艺` -> `工艺管理_工艺任务_订单查询` -> `计划排产_生产订单_订单任务` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量生成任务`、`查看生产工艺`、`查看标准工艺`、`全部`、`未下发`、`已下发`、`机加件`、`装配件`、`序号`、`销售订单`、`生产订单`、`物料编码`、`物料名称`、`属性`、`计划数`、`下达日期`、`计划开始`
主要方法线索:`getbasedata`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo ` | `@订单号` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.productName` | `@产品名称` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.orderstatus` | `@订单状态` | - |
| 参数 | `this.taskstatus` | `@任务状态` | - |
| 参数 | `ordernums` | `@订单编号` | `[订单编号]` |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `合同号` |
| 显示列 | `生产订单` | - | `[订单编号]` |
| 显示列 | `物料编码` | - | `物料编号` |
| 显示列 | `物料名称` | - | `物料描述` |
| 显示列 | `属性` | - | `TOP 1 @自制件属性 = ISNULL(自制件属性, '0')` |
| 显示列 | `计划数` | - | `[计划数量]` |
| 显示列 | `下达日期` | - | `下达日期` |
| 显示列 | `计划开始` | - | `计划开始` |
| 显示列 | `计划完成` | - | `计划完成` |
| 显示列 | `加急状态` | - | `加急状态` |
| 显示列 | `标准工艺` | - | `标准工艺` |
| 显示列 | `生产工艺` | - | `生产工艺` |
| 显示列 | `操作` | - | `操作` |
| 显示列 | `序号` | - | `[工艺顺序]` |
| 显示列 | `工序名称` | - | `*, dbo.基础表_工序.工序名称 as 工艺名称` |
| 显示列 | `工序说明` | - | `[工艺要求]` |
| 显示列 | `准备工时` | - | `isnull(准备工时, 0) as 准备工时` |
| 显示列 | `标准工时` | - | `isnull(标准工时, 0) as 标准工时` |
| 显示列 | `工时合计` | - | `工时合计` |
| 显示列 | `工装量具` | - | `工装量具` |
| 显示列 | `指定机床` | - | `指定机床` |
| 显示列 | `车间` | - | `车间` |
| 显示列 | `备注` | - | `备注` |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `contractNo` | `@合同号` | - |
| 输入字段 | `productCode` | `@产品编码` | - |
| 输入字段 | `productName` | `@产品名称` | - |
| 输入字段 | `taskstatus` | `@任务状态` | - |
| 输入字段 | `orderstatus` | `@订单状态` | - |
| 输入字段 | `completionTime` | `@要求完工日期1` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 354 | 11当前通用存储过程查询/执行) | `设备管理_设备信息_查询` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 401 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询生产工艺` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 表:`车间生产管理工艺_零件生产工艺_工艺库` |
| 437 | 11当前通用存储过程查询/执行) | `工艺管理_生产工艺_查询标准工艺` | 查询/读取数据 | 查询 | 表:`车间生产管理工艺_零件工序_工艺库` |
| 460 | 11当前通用存储过程查询/执行) | `工艺管理_工艺任务_订单查询` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划` |
| 498 | 12当前通用存储过程写入/业务动作) | `计划排产_生产订单_订单任务` | 计划排产或派工 | 查询、新增、更新、分页、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工艺管理_工艺任务_订单查询``CREATE PROCEDURE [dbo].[工艺管理_工艺任务_订单查询]``@订单状态 int = 1, ``@任务状态 int = 0``DECLARE @selectStrWhere NVARCHAR(MAX) = ' WHERE p.[生产工艺] = 1 and (单据状态 ''已取消'' OR 单据状态 IS NULL) ';``SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] > = ''' + @要求完工日期1 + '''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] < = ''' + @要求完工日期2 + '''';``IF @任务状态 = 2``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));`
- `计划排产_生产订单_订单任务``CREATE PROCEDURE [dbo].[计划排产_生产订单_订单任务]``INSERT INTO [dbo].[MES_接口_生产计划_生产任务] (``SET 任务状态 = 2``已发货数量, 订单拆分内码, 阶段标识, 可视订单, 计划开始时间, 计划完成时间, 指派对象``ms.计划完成, `
### 数据库调用链
- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `设备管理_设备信息_查询` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `工艺管理_生产工艺_查询生产工艺` -> 表:`车间生产管理工艺_零件生产工艺_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `工艺管理_生产工艺_查询标准工艺` -> 表:`车间生产管理工艺_零件工序_工艺库` -> 查询/读取数据
- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `工艺管理_工艺任务_订单查询` -> 表:`MES_接口_生产计划` -> 查询/读取数据
- `src/views/ProcessManagement/ProductionOrder/index.vue` -> `计划排产_生产订单_订单任务` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
### 存储过程处理逻辑明细
- `设备管理_设备信息_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 入参/分页参数:`@设备名称_check bit`、`@设备名称 nvarchar(50)`、`@设备类型_check bit`、`@设备类型 int`、`@工位_check bit`、`@工位 nvarchar(50)`。 主要返回字段线索:`*, [dbo].[YL_基础表_数据字典].词条名称 as 设备类型名称`。 关键过滤/匹配条件:`set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'`。 关键写入/状态处理语句线索:`set @selectStr = ``set @selectStrWhere = 'where 1 = 1 '``set @selectStrWhere = @selectStrWhere+' and 设备名称 like + ''%'' + @设备名称 + ''%'' '``set @selectStrWhere = @selectStrWhere+' and 基础数据_设备工位点检表.设备类型 = @设备类型'``set @selectStr = @selectStr+@selectStrWhere`。
- `工艺管理_生产工艺_查询生产工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50),`、`@订单编号 int`。 主要返回字段线索:`[id]`、`[零件图号]`、`a.[工艺编号]`、`[工艺顺序]`、`[工艺要求]`、`[是否最后一序]`、`[订单编号]`、`[计划数量]`、`isnull(准备工时, 0) as 准备工时`、`isnull(标准工时, 0) as 标准工时`。 关键过滤/匹配条件:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on a.工艺编号 = b.工艺编号 where 零件图号 = @物料编号 and 订单编号 = @订单编号 ORDER BY [工艺顺序]`。
- `工艺管理_生产工艺_查询标准工艺` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`车间生产管理工艺_零件工序_工艺库`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`*, dbo.基础表_工序.工序名称 as 工艺名称`。 关键过滤/匹配条件:`on [车间生产管理工艺_零件工序_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 ORDER BY [工艺顺序]`。 排序/分组/分页线索:`on [车间生产管理工艺_零件工序_工艺库].工艺编号 = dbo.基础表_工序.工艺编号 where 零件图号 = @物料编号 and 启用 = 1 ORDER BY [工艺顺序]`。
- `工艺管理_工艺任务_订单查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单号 int`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@订单状态 int`、`@任务状态 int`。 主要返回字段线索:`p.*`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(MAX) = ' WHERE p.[生产工艺] = 1 and (单据状态 ''已取消'' OR 单据状态 IS NULL) ';``SET @selectStrWhere = @selectStrWhere + ' AND p.[订单编号] = ' + CAST(@订单号 AS VARCHAR(10));``SET @selectStrWhere = @selectStrWhere + ' AND p.[合同号] LIKE ''%' + @合同号 + '%''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[物料编号] LIKE ''%' + @产品编码 + '%''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[物料描述] LIKE ''%' + @产品名称 + '%''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] > = ''' + @要求完工日期1 + '''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] < = ''' + @要求完工日期2 + '''';``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = 0'``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.自制件属性, '''') LIKE ''%装配%'''`。 关键写入/状态处理语句线索:`SET @selectStr = N'``SET @selectStrWhere = @selectStrWhere + ' AND p.[订单编号] = ' + CAST(@订单号 AS VARCHAR(10));``SET @selectStrWhere = @selectStrWhere + ' AND p.[合同号] LIKE ''%' + @合同号 + '%''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[物料编号] LIKE ''%' + @产品编码 + '%''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[物料描述] LIKE ''%' + @产品名称 + '%''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] > = ''' + @要求完工日期1 + '''';``SET @selectStrWhere = @selectStrWhere + ' AND p.[计划完成] < = ''' + @要求完工日期2 + '''';``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = '+ CAST(@任务状态 AS VARCHAR(10));``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.任务状态, 0) = 0'``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.自制件属性, '''') LIKE ''%装配%'''``SET @selectStrWhere = @selectStrWhere + ' AND ISNULL(p.自制件属性, 0) = ''机加件'''``SET @selectStr = @selectStr + @selectStrWhere;`。
- `计划排产_生产订单_订单任务` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、分页、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号 nvarchar(max)`。 主要返回字段线索:`TOP 1 @自制件属性 = ISNULL(自制件属性, '0')`。 关键过滤/匹配条件:`WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, ', '));``WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, '', ''))``WHERE src.rn = 1;';``WHERE 订单编号 IN (SELECT TRIM(value) FROM STRING_SPLIT(@订单编号, '', ''));';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @selectStr2 = N'``INSERT INTO [dbo].[MES_接口_生产计划_生产任务] (``SET @selectStr1 = N'``UPDATE [dbo].[MES_接口_生产计划]``SET 任务状态 = 2`。 排序/分组/分页线索:`ROW_NUMBER() OVER (``ORDER BY (SELECT NULL)`。 实现特征:分页。
## 25. src/views/ProductionManagement/AbnormalControl/index.vue
**页面位置**`src/views/ProductionManagement/AbnormalControl/index.vue`
**所属模块**ProductionManagement / AbnormalControl
**源码行数**1015
### 页面功能
该页面管理生产异常。用户查询异常记录,推进异常处理、关闭或记录处理结果。
页面可见的操作/字段包括 “处理”、“转办”、“发起新流程”、“查看进度”、“完结”、“查看详情”、“点击上传”、“添加审批人”、“查询”、“取 消”,这些是判断页面业务范围的主要线索。
后端主要围绕 `sp_获取最近处理任务`、`人员管理_人员信息查询`、`sp_获取我的流程`、`sp_获取待处理任务`、`MES_ProductAdmin_Query`、`sp_创建流程_简化版` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `sp_获取最近处理任务` -> `人员管理_人员信息查询` -> `sp_获取我的流程` -> `sp_获取待处理任务` -> `MES_ProductAdmin_Query` -> `sp_创建流程_简化版` -> `sp_处理审批` -> `sp_转办流程` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`处理`、`转办`、`发起新流程`、`查看进度`、`完结`、`查看详情`、`点击上传`、`添加审批人`、`查询`、`取 消`、`提 交`、`确 定`、`确 认 完 结`、`取消`、`确定`、`待我处理`、`紧急`、`高`
主要方法线索:`uploadSuccessPDF`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.$store.state.user.id` | `@审批人ID` | - |
| 参数 | `this.$store.state.user.id` | `@发起人ID` | - |
| 参数 | `null` | `@状态` | `p.状态, ` |
| 参数 | `this.orderNo ` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 参数 | `''` | `@工位` | - |
| 参数 | `this.newProcessForm.title` | `@流程标题` | - |
| 参数 | `this.newProcessForm.description` | `@流程描述` | - |
| 参数 | `this.newProcessForm.priority ` | `@优先级` | - |
| 参数 | `this.$store.state.user.name` | `@发起人姓名` | - |
| 参数 | `approverId` | `@审批人ID` | - |
| 参数 | `approverName` | `@审批人姓名` | - |
| 参数 | `'0'` | `@新流程ID` | - |
| 参数 | `this.tableOrderNum ` | `@已关联计划号` | - |
| 参数 | `this.tableProductName ` | `@零件名称` | - |
| 参数 | `this.tableProductCode ` | `@零件编号` | - |
| 参数 | `this.tableProcessName ` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `task.流程ID` | `@流程ID` | - |
| 参数 | `task.节点ID` | `@节点ID` | - |
| 参数 | `this.$store.state.user.name` | `@审批人姓名` | - |
| 参数 | `this.$refs.approvalForm.model.result` | `@处理结果` | - |
| 参数 | `this.$refs.approvalForm.model.comment` | `@审批意见` | - |
| 参数 | `''` | `@成功` | - |
| 参数 | `this.currentTask.流程ID` | `@流程ID` | - |
| 参数 | `this.currentTask.节点ID` | `@节点ID` | - |
| 参数 | `this.$store.state.user.id` | `@原审批人ID` | - |
| 参数 | `this.$store.state.user.name` | `@原审批人姓名` | - |
| 参数 | `this.transferForm.newApproverId` | `@新审批人ID` | - |
| 参数 | `this.transferForm.newApproverName` | `@新审批人姓名` | - |
| 参数 | `this.transferForm.reason` | `@转办原因` | - |
| 参数 | `this.selectProcess.流程ID` | `@流程ID` | - |
| 参数 | `this.completeForm.result` | `@完成类型` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 559 | 11当前通用存储过程查询/执行) | `sp_获取最近处理任务` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 |
| 567 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 583 | 11当前通用存储过程查询/执行) | `sp_获取我的流程` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 |
| 598 | 11当前通用存储过程查询/执行) | `sp_获取待处理任务` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 624 | 11当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 749 | 11当前通用存储过程查询/执行) | `sp_创建流程_简化版` | 业务存储过程调用 | 查询、新增、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 783 | 12当前通用存储过程写入/业务动作) | `sp_处理审批` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 824 | 12当前通用存储过程写入/业务动作) | `sp_转办流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 852 | 11当前通用存储过程查询/执行) | `sp_完成流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 869 | 11当前通用存储过程查询/执行) | `sp_获取流程详情` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `sp_获取最近处理任务``create PROCEDURE [dbo].[sp_获取最近处理任务]`
- `sp_获取我的流程``@状态 NVARCHAR(20) = NULL``p.状态, ``AND (@状态 IS NULL OR p.状态 = @状态)`
- `sp_获取待处理任务``create PROCEDURE [dbo].[sp_获取待处理任务]``AND pn.状态 = 'processing'``AND p.状态 = 'processing'`
- `MES_ProductAdmin_Query``@排产状态 nvarchar(50) = '全部', ``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]``, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急``, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`
- `sp_创建流程_简化版``状态, `
- `sp_处理审批``SET 状态 = @处理结果, ``SET 状态 = 'rejected', ``SET 状态 = 'processing', ``SET 状态 = 'completed', ``当前节点 = '已完成', `
- `sp_转办流程``AND pn.状态 = 'processing'``AND p.状态 = 'processing'`
- `sp_完成流程``create PROCEDURE [dbo].[sp_完成流程]``@完成类型 NVARCHAR(20), ``@完成原因 NVARCHAR(500), ``AND 状态 IN ('draft', 'processing')``INSERT INTO 流程完成记录表 (``流程ID, 发起人ID, 发起人姓名, 完成类型, 完成原因``VALUES (@流程ID, @发起人ID, @发起人姓名, @完成类型, @完成原因);``SET 状态 = @完成类型, `
- `sp_获取流程详情``p.状态, ``状态, ``WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'``END as 状态描述, `
### 数据库调用链
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取最近处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `人员管理_人员信息查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取我的流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取待处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_创建流程_简化版` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_处理审批` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_转办流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_完成流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/AbnormalControl/index.vue` -> `sp_获取流程详情` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
### 存储过程处理逻辑明细
- `sp_获取最近处理任务` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`ar.记录ID, `、`p.流程ID, `、`p.流程标题 as 流程名称, `、`p.发起人姓名 as 申请人, `、`ar.审批人姓名 as 处理人, `、`ar.处理结果, `、`CASE ar.处理结果`、`WHEN 'approved' THEN '同意'`、`WHEN 'rejected' THEN '拒绝'`、`ELSE ar.处理结果`。 关键过滤/匹配条件:`WHERE ar.审批人ID = @审批人ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY ar.处理时间 DESC;`。
- `人员管理_人员信息查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `sp_获取我的流程` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@发起人ID NVARCHAR(100),`、`@状态 NVARCHAR(20)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.当前节点, `、`p.当前步骤, `、`p.总步骤数, `、`p.创建时间 as 发起时间, `、`p.更新时间`。 关键过滤/匹配条件:`WHERE p.发起人ID = @发起人ID``AND (@状态 IS NULL OR p.状态 = @状态)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.更新时间 DESC;`。
- `sp_获取待处理任务` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.发起人姓名 as 申请人, `、`p.创建时间 as 申请时间, `、`p.已关联计划号, `、`p.零件名称, `、`p.零件编号, `、`p.工序名称, `。 关键过滤/匹配条件:`WHERE pn.审批人ID = @审批人ID``AND pn.状态 = 'processing'``AND p.状态 = 'processing'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`。
- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'``else if(@排产状态 = '已完成')set @selectStrWhere = @selectStrWhere + ' and [排产状态] = 1'``if(@物料类型 = '自制件') set @selectStrWhere = @selectStrWhere + ' and [不装配] ''否'''`。
- `sp_创建流程_简化版` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`。 入参/分页参数:`@流程标题 NVARCHAR(200),`、`@流程描述 NVARCHAR(MAX)`、`@优先级 NVARCHAR(20)`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@新流程ID INT`、`@已关联计划号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@工序名称 NVARCHAR(100)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 流程表 (``SET @新流程ID = SCOPE_IDENTITY();``INSERT INTO 流程节点表 (``SET @结果 = 1;``SET @消息 = '流程创建成功流程ID: ' + CAST(@新流程ID AS NVARCHAR(10));``SET @结果 = 0;``SET @消息 = '错误: ' + ERROR_MESSAGE();`。 实现特征:事务控制、异常捕获。
- `sp_处理审批` 属于 通用业务,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@处理结果 NVARCHAR(20),`、`@审批意见 NVARCHAR(MAX)`、`@成功 BIT`。 主要返回字段线索:`@当前步骤 = 步骤序号`。 关键过滤/匹配条件:`WHERE 节点ID = @节点ID;``WHERE 流程ID = @流程ID;``SELECT @当前步骤 = 步骤序号 FROM 流程节点表 WHERE 节点ID = @节点ID;``WHERE 流程ID = @流程ID AND 步骤序号 = @当前步骤 + 1;``WHERE 节点ID = @下一节点ID;``当前节点 = (SELECT 节点名称 FROM 流程节点表 WHERE 节点ID = @下一节点ID), `。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)``UPDATE 流程节点表``SET 状态 = @处理结果, ``UPDATE 流程表``SET 状态 = 'rejected', ``SET 状态 = 'processing', ``SET 当前步骤 = @当前步骤 + 1, ``SET 状态 = 'completed', ``SET @成功 = 1;``SET @成功 = 0;`。 实现特征:事务控制、异常捕获。
- `sp_转办流程` 属于 通用业务,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程节点表`、`流程转办表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@原审批人ID NVARCHAR(100),`、`@原审批人姓名 NVARCHAR(100),`、`@新审批人ID NVARCHAR(100),`、`@新审批人姓名 NVARCHAR(100),`、`@转办原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID``AND pn.节点ID = @节点ID``AND pn.状态 = 'processing'``AND p.状态 = 'processing'``AND pn.审批人ID = @原审批人ID``WHERE 节点ID = @节点ID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @成功 = 0;``INSERT INTO 流程转办表 (``UPDATE 流程节点表``SET 审批人ID = @新审批人ID, ``INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)``SET @成功 = 1;`。 实现特征:事务控制、异常捕获。
- `sp_完成流程` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`流程完成记录表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@完成类型 NVARCHAR(20),`、`@完成原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE 流程ID = @流程ID``AND 发起人ID = @发起人ID``AND 状态 IN ('draft', 'processing')``WHERE 流程ID = @流程ID;``AND 状态 = 'processing';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @成功 = 0;``INSERT INTO 流程完成记录表 (``UPDATE 流程表``SET 状态 = @完成类型, ``UPDATE 流程节点表``SET 状态 = 'cancelled', ``INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)``SET @成功 = 1;`。 实现特征:事务控制、异常捕获。
- `sp_获取流程详情` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@流程ID INT`。 主要返回字段线索:`@流程信息 = (`、`SELECT`、`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.发起人姓名, `、`p.当前节点, `、`p.当前步骤, `。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID``WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'``WHEN 步骤序号 = (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '进行中'``WHERE 流程ID = @流程ID``WHERE ar.流程ID = @流程ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 步骤序号``ORDER BY ar.处理时间 DESC`。
## 26. src/views/ProductionManagement/AssemblePlanTrack/index.vue
**页面位置**`src/views/ProductionManagement/AssemblePlanTrack/index.vue`
**所属模块**ProductionManagement / AssemblePlanTrack
**源码行数**514
### 页面功能
该页面跟踪装配计划执行,展示装配任务进度、计划完成情况和异常。
页面可见的操作/字段包括 “查询”、“全部”、“已完成”、“未完成”、“序号”、“工序名称”、“计划数量”、“指派对象”、“开始时间”、“结束时间”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_OrderPlanned_Queryzp`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_OrderPlanned_Queryzp` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`全部`、`已完成`、`未完成`、`序号`、`工序名称`、`计划数量`、`指派对象`、`开始时间`、`结束时间`、`完成进度`、`拆分内码`、`销售订单`、`生产订单`、`产品编码`、`产品名称`、`要求完工日`、`当前序`
主要方法线索:`getHeaderClass`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo ` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `'全部'` | `@指派对象` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `计划数量` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `指派对象` | - | `指派对象` |
| 显示列 | `开始时间` | - | `计划开始时间` |
| 显示列 | `结束时间` | - | `计划完成时间` |
| 显示列 | `完成进度` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `拆分内码` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 显示列 | `销售订单` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `生产订单` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `产品编码` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 显示列 | `产品名称` | - | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 显示列 | `要求完工日` | - | `要求完工日` |
| 显示列 | `当前序` | - | `当前序` |
| 显示列 | `排产` | - | `排产` |
| 显示列 | `开工` | - | `top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 显示列 | `终检` | - | `终检` |
| 显示列 | `加急` | - | `加急` |
| 显示列 | `优先级` | - | `优先级` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 347 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Queryzp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 380 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 439 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_OrderPlanned_Queryzp``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], ``FROM dbo.YL_质量检验_质检记录`
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
### 数据库调用链
- `src/views/ProductionManagement/AssemblePlanTrack/index.vue` -> `MES_OrderPlanned_Queryzp` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblePlanTrack/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssemblePlanTrack/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
### 存储过程处理逻辑明细
- `MES_OrderPlanned_Queryzp` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`top 100 [计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] like ''%装配%'''``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
## 27. src/views/ProductionManagement/AssembleStatus/index.vue
**页面位置**`src/views/ProductionManagement/AssembleStatus/index.vue`
**所属模块**ProductionManagement / AssembleStatus
**源码行数**354
### 页面功能
该页面查看装配现场状态,重点展示进行中任务和当前工位状态。
页面可见的操作/字段包括 “查询”、“item.label”、“序号”、“人员名称”、“工位”、“生产订单”、“计划号”、“销售订单”、“物料名称”、“物料编码”这些是判断页面业务范围的主要线索。
后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`MES_登录_工位与名称_查询`、`生产管理_装配状态_获取进行中任务` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `人员管理_人员信息查询_质检部门_查询` -> `MES_登录_工位与名称_查询` -> `生产管理_装配状态_获取进行中任务` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`item.label`、`序号`、`人员名称`、`工位`、`生产订单`、`计划号`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`送检数`、`收检合格数`、`收检不合格数`
主要方法线索:`getCheckerList`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `selectedChecker ? selectedChecker.label : ''` | `@操作人` | `t.操作人 AS UserName, ` |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `人员名称` | - | `t.操作人 AS UserName, ` |
| 显示列 | `工位` | - | `[VisCode] as 工位代码` |
| 显示列 | `生产订单` | - | `订单号` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `销售订单` | - | `合同号` |
| 显示列 | `物料名称` | - | `零件名称` |
| 显示列 | `物料编码` | - | `零件编码` |
| 显示列 | `顺序` | - | `顺序` |
| 显示列 | `工序名称` | - | `t.工序名称, ` |
| 显示列 | `分配数` | - | `分配数` |
| 显示列 | `上序合格数` | - | `上序合格数` |
| 显示列 | `加工状态` | - | `加工状态` |
| 显示列 | `送检数` | - | `完成数量` |
| 显示列 | `收检合格数` | - | `收检合格数` |
| 显示列 | `收检不合格数` | - | `收检不合格数` |
| 显示列 | `入库数量` | - | `入库数量` |
| 显示列 | `发料状态` | - | `发料状态` |
| 显示列 | `拣配状态` | - | `拣配状态` |
| 显示列 | `齐套` | - | `齐套` |
| 显示列 | `开始时间` | - | `t.开始时间 AS StartTime, ` |
| 显示列 | `计划开始` | - | `计划开始` |
| 显示列 | `计划完成` | - | `计划完成` |
| 显示列 | `备注` | - | `派工特殊说明` |
| 输入字段 | `checker` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 267 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 278 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 296 | 11当前通用存储过程查询/执行) | `生产管理_装配状态_获取进行中任务` | 业务存储过程调用 | 查询、处理质检数据、处理计划/派工 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `生产管理_装配状态_获取进行中任务``CREATE PROCEDURE [dbo].[生产管理_装配状态_获取进行中任务]``mes.工序名称 AS 任务工序名称, ``mes.任务状态, ``mes.完成数量, ``mes.计划完成时间 AS 计划完成, ``when isnull(mes.发料状态, 0) = 1 then '发料齐套'``when isnull(mes.发料状态, 0) = 2 then '发料缺件'``end as [发料状态], `
### 数据库调用链
- `src/views/ProductionManagement/AssembleStatus/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleStatus/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleStatus/index.vue` -> `生产管理_装配状态_获取进行中任务` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 业务存储过程调用
### 存储过程处理逻辑明细
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `生产管理_装配状态_获取进行中任务` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE 质检类型 = '收检'``WHERE``AND t.结束时间 IS NULL``and t.工位名称 like '%装配%'``and t.操作数值 is not null``AND (@操作人 = '' OR t.操作人 = @操作人)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY TaskAID``ORDER BY t.操作人, t.开始时间 DESC;`。 实现特征:异常捕获。
## 28. src/views/ProductionManagement/AssembleTaskManage/index.vue
**页面位置**`src/views/ProductionManagement/AssembleTaskManage/index.vue`
**所属模块**ProductionManagement / AssembleTaskManage
**源码行数**1041
### 页面功能
该页面管理装配任务。用户查询装配生产任务、查看工时汇总,进行派工、任务说明维护和外协/生产通知。
页面可见的操作/字段包括 “查询”、“批量排产”、“排产完成”、“确认修改”、“拆分子任务”、“确定”、“编辑”、“取 消”、“确 定”、“全部”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`MES_OrderPlanned_Finish`、`MES_OrderPlanned_ChildTask_Add`、`MES_OrderPlanned_ChildTask_Get`、`MES_OrderPlanned_Query`、`Prog_MES_LoadStations` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_OrderPlanned_Finish` -> `MES_OrderPlanned_ChildTask_Add` -> `MES_OrderPlanned_ChildTask_Get` -> `MES_OrderPlanned_Query` -> `Prog_MES_LoadStations` -> `MES_OrderPlanned_EditTaskPlanned` -> `MES_OrderPlanned_SingleTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`批量排产`、`排产完成`、`确认修改`、`拆分子任务`、`确定`、`编辑`、`取 消`、`确 定`、`全部`、`已完成`、`未完成`、`表单`、`序号`、`销售订单`、`生产订单`、`订单行号`、`拆分内码`
主要方法线索:`getDoing`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `this.$refs.formData.model.TaskAID` | `@TaskAID` | - |
| 参数 | `this.$refs.formData.model.装配任务概述` | `@任务描述` | - |
| 参数 | `this.$refs.formData.model.指派对象` | `@指派对象` | - |
| 参数 | `this.$refs.formData.model.指派对象编号` | `@指派对象编号` | - |
| 参数 | `this.$refs.formData.model.指派数量` | `@指派数量` | - |
| 参数 | `this.$refs.formData.model.计划开始时间` | `@计划开始时间` | - |
| 参数 | `this.$refs.formData.model.计划完成时间` | `@计划结束时间` | - |
| 参数 | `this.$refs.formData.model.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `0` | `@TaskAID` | - |
| 参数 | `this.orderNo ` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `'装配件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.productName` | `@产品名称` | `[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''` |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.nature` | `@性质` | - |
| 参数 | `this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `row.指派对象编号` | `@指派对象编号` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `this.editnumber` | `@指派数量` | - |
| 参数 | `row.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `row.计划开始时间` | `@计划开始时间` | - |
| 参数 | `row.计划完成时间` | `@计划完成时间` | - |
| 参数 | `row.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `item.订单号` | `@订单号` | `[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, ` |
| 参数 | `item.订单行号` | `@订单行号` | - |
| 参数 | `item.拆分内码` | `@订单拆分内码` | - |
| 参数 | `item.指派对象编号` | `@指派对象编号` | - |
| 参数 | `item.指派对象` | `@指派对象` | - |
| 参数 | `item.指派数量` | `@指派数量` | - |
| 参数 | `item.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `item.计划开始时间` | `@计划开始时间` | - |
| 参数 | `item.计划完成时间` | `@计划完成时间` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 500 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 528 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_Finish` | 确认/关闭/完成业务动作 | 查询、更新、解析 JSON 批量数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 568 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_ChildTask_Add` | 新增业务数据 | 查询、新增、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 583 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_ChildTask_Get` | 查询/读取数据 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 634 | 11当前通用存储过程查询/执行) | `MES_OrderPlanned_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` |
| 649 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 675 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 692 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 709 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 726 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 780 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 810 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 882 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 963 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_OrderPlanned_Finish``@任务列表 NVARCHAR(MAX), ``@派工操作人 NVARCHAR(MAX)``t.[排产状态] = 1, ``t.[任务状态] = 0, ``t.派工特殊说明 = j.派工特殊说明, ``t.计划完成时间 = j.计划完成时间, ``t.派工操作人 = @派工操作人, ``t.最后编辑人 = @派工操作人, `
- `MES_OrderPlanned_ChildTask_Add``@任务描述 NVARCHAR(500) = NULL, ``INSERT INTO [dbo].[MES_接口_生产计划_生产任务_子任务]``[任务描述], ``@任务描述, `
- `MES_OrderPlanned_ChildTask_Get``[任务描述], ``[计划结束时间] as 计划完成时间, ``from [MES_接口_生产计划_生产任务_子任务]`
- `MES_OrderPlanned_Query``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``[计划完成] as 要求完工日期, [工序名称], 完成数量, v.计划号, 收料数量, 外协分组, v.任务状态, v.备注, ``case when [加急状态] = 1 then ''加急'' else '''' end as 加急状态, 性质, isnull(总工时, 0) as 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, TRIM(''.'' FROM TRIM(''0'' FROM CAST([指派数量] AS VARCHAR(30)))) AS 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, ``[派工状态], [外协通知], [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], [二次派工], isnull(g.标准工时, 0) as 标准工时, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
### 数据库调用链
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_Finish` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 确认/关闭/完成业务动作
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_ChildTask_Add` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 新增业务数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_ChildTask_Get` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_Query` -> 表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssembleTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_Finish` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 确认/关闭/完成业务动作。 数据库处理摘要:查询、更新、解析 JSON 批量数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@任务列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(MAX)`。 主要返回字段线索:`TaskAID = JSON_VALUE(value, '$.taskaid'), `、`指派对象 = JSON_VALUE(value, '$."指派对象"'), `、`指派数量 = JSON_VALUE(value, '$."指派数量"'), `、`指派对象编号 = JSON_VALUE(value, '$."指派对象编号"'), `、`派工特殊说明 = JSON_VALUE(value, '$."派工特殊说明"'), `、`计划开始时间 = JSON_VALUE(value, '$."计划开始时间"'), `、`计划完成时间 = JSON_VALUE(value, '$."计划完成时间"'), `、`最晚开始时间 = JSON_VALUE(value, '$."最晚开始时间"')`。 关键写入/状态处理语句线索:`UPDATE t``SET`。 实现特征JSON 批量解析。
- `MES_OrderPlanned_ChildTask_Add` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID BIGINT,`、`@任务描述 NVARCHAR(500)`、`@指派对象 NVARCHAR(50)`、`@指派对象编号 NVARCHAR(50)`、`@指派数量 INT`、`@计划开始时间 DATETIME`、`@计划结束时间 DATETIME`、`@最晚开始时间 DATETIME`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[MES_接口_生产计划_生产任务_子任务]`。 实现特征:事务控制、异常捕获。
- `MES_OrderPlanned_ChildTask_Get` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID BIGINT`。 主要返回字段线索:`[AID], `、`[TaskAID], `、`[任务描述], `、`[指派对象], `、`[指派对象编号], `、`[指派数量], `、`[计划开始时间], `、`[计划结束时间] as 计划完成时间, `、`[最晚开始时间]`。
- `MES_OrderPlanned_Query` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`车间生产管理工艺_零件生产工艺_工艺库`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`。 主要返回字段线索:`[计划数量订单], isnull(开工时间, 0) as 开工时间, isnull(进度, 0) as 进度, [TaskAID], [合同号], v.[订单编号] as 订单号, `、`[订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, TRIM(''.''`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and [自制件属性] = ''机加件'' and isnull(v.任务状态, 0) < 4'``WHERE 质检类型 = ''终检''``AND v.[订单行号] = g.工艺顺序'``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and v.[订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@计划开始1 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] > = '''+@计划开始1+''''``if(@计划开始2 '')set @selectStrWhere = @selectStrWhere + ' and [计划开始时间] < = '''+@计划开始2+''''``if(@计划完成1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] > = '''+@计划完成1+''''``if(@计划完成2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成时间] < = '''+@计划完成2+''''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
## 29. src/views/ProductionManagement/AssembleTasksSum/index.vue
**页面位置**`src/views/ProductionManagement/AssembleTasksSum/index.vue`
**所属模块**ProductionManagement / AssembleTasksSum
**源码行数**532
### 页面功能
该页面汇总装配任务,按订单、工位、人员或状态统计装配执行情况。
页面可见的操作/字段包括 “查询”、“编辑”、“取 消”、“确 定”、“item.指南工位号”、“表单”、“序号”、“销售订单”、“生产订单”、“零件编码”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit`、`MES_OrderPlanned_EditTaskPlanned` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_ProductTask_WorkTimeSum` -> `MES_ProductAdmin_Query` -> `Prog_MES_LoadStations` -> `MES_OrderPlanned_DescriptionEdit` -> `MES_OrderPlanned_EditTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`编辑`、`取 消`、`确 定`、`item.指南工位号`、`表单`、`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`总工时`、`占用情况`、`计划开始时间`、`计划完成时间`、`最晚开始时间`
主要方法线索:`getDoing`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `this.orderNo ` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `'装配件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 参数 | `this.Doing.toString()` | `@工位` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `taskInfo.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `taskInfo.订单行号` | `@订单行号` | - |
| 参数 | `taskInfo.拆分内码` | `@订单拆分内码` | - |
| 参数 | `startTime` | `@计划开始时间` | - |
| 参数 | `endTime` | `@计划完成时间` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `生产订单` | - | `生产订单` |
| 显示列 | `零件编码` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `产品名称` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `计划数` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `工序名称` | - | `TaskAID, 工序名称, sum(工时) as 总工时` |
| 显示列 | `总工时` | - | `TaskAID, 工序名称, sum(工时) as 总工时` |
| 显示列 | `占用情况` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `计划开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 显示列 | `计划完成时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 显示列 | `最晚开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 显示列 | `要求完工日期` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `收料` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 254 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 274 | 11当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 318 | 11当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 336 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 373 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 453 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_ProductTask_WorkTimeSum``select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`
- `MES_ProductAdmin_Query``@排产状态 nvarchar(50) = '全部', ``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]``, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急``, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
### 数据库调用链
- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssembleTasksSum/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。
- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'``else if(@排产状态 = '已完成')set @selectStrWhere = @selectStrWhere + ' and [排产状态] = 1'``if(@物料类型 = '自制件') set @selectStrWhere = @selectStrWhere + ' and [不装配] ''否'''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
## 30. src/views/ProductionManagement/AssemblyCenter/index.vue
**页面位置**`src/views/ProductionManagement/AssemblyCenter/index.vue`
**所属模块**ProductionManagement / AssemblyCenter
**源码行数**4838
### 页面功能
该页面是装配生产执行主界面。装配人员按工位查询装配任务,处理开工、结束/报工、送检、缺料查询、收检记录、图纸查看和退库等动作,并会读取 SAP 生产订单信息辅助判断。
页面可见的操作/字段包括 “查询 --> 缺料”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“取 消”、“确 定”、“新增异常工时”、“编辑”、“取消”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表`、`异常工时_新增操作记录` 等过程 取数或提交业务动作。
### 页面流程图
装配中心执行流程:
```mermaid
flowchart LR
A[选择工位/人员] --> B[MES_ProductCenter_GetTask_zp 查询装配任务]
B --> C[查看缺料/图纸/工序]
C --> D[MES_人员工时记录_开始 或生产任务开始]
D --> E[执行装配]
E --> F[MES_ProductTask_SendInspection 送检/报工]
F --> G[收检记录/质检数据]
G --> H[读取 SAP ProductionOrders 辅助判断]
H --> I[刷新装配任务]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询 --> 缺料`、`上一个 下一个`、`删除当前记录 关闭`、`上一个 下一个 保存当前记录 删除当前记录 关闭`、`确定 关闭`、`取 消`、`确 定`、`新增异常工时`、`编辑`、`取消`、`关闭`、`确定`、`全部`、`待执行`、`可执行`、`已开工`、`已完成`、`item.指南工位号`
主要方法线索:`handletaskChange`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `userName` | `@用户ID` | - |
| 参数 | `orderId` | `@订单编号` | `订单编号, ` |
| 参数 | `this.TaskAID ` | `@TaskAID` | - |
| 参数 | `this.orderNo2 ` | `@订单号` | `[订单编号] as 订单号, ` |
| 参数 | `this.productCode2` | `@零件编号` | - |
| 参数 | `this.productionStatus2 ` | `@生产状态` | - |
| 参数 | `this.Doing` | `@工位名称` | - |
| 参数 | `this.$store.state.user.id` | `@用户ID` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `this.salenum` | `@销售订单` | - |
| 参数 | `""` | `@计划开工_Start` | - |
| 参数 | `""` | `@计划开工_End` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `row.零件编码` | `@ItemCode` | - |
| 参数 | `row.订单号` | `@订单号` | `[订单编号] as 订单号, ` |
| 参数 | `taskAID` | `@TaskAID` | - |
| 参数 | `userId` | `@用户ID` | - |
| 参数 | `userName` | `@用户名` | - |
| 参数 | `userName` | `@操作人` | - |
| 参数 | `this.workendData.备注` | `@备注` | - |
| 参数 | `this.workendData.工序说明` | `@工序说明` | - |
| 参数 | `this.workendData.异常说明` | `@异常说明` | - |
| 参数 | `0` | `@本次检数` | `@检验数 = ISNULL(本次检数, 0)` |
| 参数 | `isOvertime` | `@是否加班` | - |
| 参数 | `ordinaryPersons` | `@加班人员` | - |
| 参数 | `specialPersons` | `@特殊加班人员` | - |
| 参数 | `isRestDay` | `@是否休息日` | - |
| 参数 | `isLegalRestDay` | `@是否法定休息日` | - |
| 参数 | `shiftStandardHours` | `@班次标准工时` | - |
| 参数 | `row.TaskAID` | `@TaskAID` | - |
| 参数 | `this.$store.state.user.name` | `@optor` | - |
| 参数 | `this.assistNumber` | `@recievCount` | - |
| 参数 | `this.receiveCheckData.TaskAID` | `@TaskAID` | - |
| 参数 | `6` | `@检测类型编号` | - |
| 参数 | `"收检"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.内部合同号` | `@内部合同号` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- TM/OpenAPI 接口(`src/api/tm.js`
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 2196 | 11当前通用存储过程查询/执行) | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 查询 | 表:`MES_资源主数据`、`工位人员绑定表` |
| 2277 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 2290 | 11当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务2` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` |
| 2324 | 11当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` |
| 2398 | 11当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 2444 | 11当前通用存储过程查询/执行) | `异常工时_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
| 2477 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 2521 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 2575 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 2714 | 11当前通用存储过程查询/执行) | `MES_ProductCenter_GetTask_zp` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 2818 | 11当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 2850 | 11当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` |
| 2883 | 12当前通用存储过程写入/业务动作) | `MES_人员工时记录_开始` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` |
| 3204 | 12当前通用存储过程写入/业务动作) | `MES_人员工时记录_结束` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` |
| 3276 | 12当前通用存储过程写入/业务动作) | `MES_ProductTask_SendInspection` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` |
| 3323 | 11当前通用存储过程查询/执行) | `加工中心_收检_读取收检记录` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 3412 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_ReceiveCheck` | 质量检验处理 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` |
| 3450 | 11当前通用存储过程查询/执行) | `加工中心_异常工时_获取操作记录列表` | 报工或工时处理 | 查询、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 3504 | 11当前通用存储过程查询/执行) | `加工中心_修改工时_保存修改记录` | 更新/保存业务数据 | 更新、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
| 3539 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_生产发料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` |
| 3593 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 3627 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 3668 | 12当前通用存储过程写入/业务动作) | `生产管理_加工中心_退库` | 业务存储过程调用 | 查询、新增、处理质检数据 | 表:`质量检验_质检任务_SAP` |
| 3914 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 4144 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` |
| 4232 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` |
| 4284 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 4327 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` |
| 4529 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 3561 行:`getB1("/ProductionOrders")`
- 第 3730 行:`posttm("/stocktask/task/issueordertask")`
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty
- 生产管理_加工中心_生产发料查询: SAP.SBO_YL.dbo.UBT_OWOR_OIGE
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 3561 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`数据`、`lines`、`请求失败` |
| 3730 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
### 状态流转说明
- `生产管理_获取人员绑定``AND b.绑定状态 = 1;`
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `MES_人员工时记录_获取进行中任务2``CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务2]``pt.工序名称 AS 任务工序名称, ``pt.任务状态, ``pt.完成数量, ``pt.计划完成时间 AS 计划完成, ``FROM [dbo].[YL_加工中心_操作记录表] t``LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID``t.操作类别 = '开始加工'`
- `MES_人员工时记录_获取进行中任务``CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务]``pt.工序名称 AS 任务工序名称, ``pt.任务状态, ``pt.完成数量, ``pt.计划完成时间 AS 计划完成, ``FROM [dbo].[YL_加工中心_操作记录表] t``LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID``AND t.操作类别 = '开始加工'`
- `异常工时_新增操作记录``INSERT INTO [dbo].[YL_加工中心_操作记录表] (``操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, `
- `MES_ProductCenter_GetTask_zp``@生产状态 int = -1, ``DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '``派工特殊说明, ``case when isnull([加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], ``[二次派工], ``[计划完成时间] as 计划完成, ``isnull([完成数量], 0) as 完成数量, ``when isnull(发料状态, 0) = 1 then ''发料齐套''`
- `MES_ProductTask_WorkTimeSum``select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`
- `生产管理_装配中心_缺料查询``select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`
- `MES_人员工时记录_开始``declare @任务状态 int = -1``FROM[dbo].[MES_接口_生产计划_生产任务]``SELECT 1 FROM YL_加工中心_操作记录表``AND 操作类别 = '开始加工'``select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID``if(@任务状态 = 1)``UPDATE MES_接口_生产计划_生产任务``任务状态 = '2', `
- `MES_人员工时记录_结束``FROM [dbo].[MES_接口_生产计划_生产任务]``UPDATE [dbo].[MES_接口_生产计划_生产任务]``FROM YL_加工中心_操作记录表``AND 操作类别 = '开始加工'``UPDATE YL_加工中心_操作记录表``操作描述 = '用户 ' + @用户名 + ' 结束加工,' +``INSERT INTO [dbo].[YL_加工中心_报工记录]``INSERT INTO [dbo].[YL_加工中心_操作记录表] (`
- `MES_ProductTask_SendInspection``declare @任务状态 int``declare @完成数量 int``Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, ``select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID``if(@完成数量 = @分配数量)``set 任务状态 = 4, ``INSERT INTO [dbo].[YL_加工中心_操作记录表]`
- `加工中心_收检_读取收检记录``CREATE PROCEDURE [dbo].[加工中心_收检_读取收检记录]``declare @完成数量 int``select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'``select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``FROM [dbo].[YL_质量检验_质检记录] qc``select isnull(@已检验数量, 0), isnull(@完成数量, 0), isnull(@上序合格数, 0), @订单行号`
- `MES_QulityInspection_ReceiveCheck``@质检类型 NVARCHAR(50), ``FROM [dbo].[MES_接口_生产计划_生产任务]``FROM [YL_MESDB].[dbo].[YL_质量检验_质检记录] qc``0 AS 清零任务数``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``[质检类型], ``@质检类型, ``INNER JOIN [dbo].[MES_接口_生产计划_生产任务] task ON qc.TaskAID = task.AID`
- `加工中心_异常工时_获取操作记录列表``CREATE PROCEDURE [dbo].[加工中心_异常工时_获取操作记录列表]``o.实际工时 as 加工工时, ``o.已报工, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `加工中心_修改工时_保存修改记录``CREATE PROCEDURE [dbo].[加工中心_修改工时_保存修改记录]``update [dbo].[YL_加工中心_操作记录表]`
- `生产管理_加工中心_生产发料查询``CREATE PROCEDURE [dbo].[生产管理_加工中心_生产发料查询]``select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`
- `生产管理_加工中心_退库``CREATE PROCEDURE [dbo].[生产管理_加工中心_退库]``select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'``insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_QulityInspection_CheckItemData_Save``@质检类型 nvarchar(100) = '', ``FROM [dbo].[YL_质量检验_质检记录]``AND 质检类型 = @质检类型``INSERT INTO [dbo].[YL_质量检验_质检记录](``TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, ``@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, ``UPDATE [dbo].[YL_质量检验_质检记录]``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_QulityInspection_CheckItemData_Save``@质检类型 nvarchar(100) = '', ``FROM [dbo].[YL_质量检验_质检记录]``AND 质检类型 = @质检类型``INSERT INTO [dbo].[YL_质量检验_质检记录](``TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, ``@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, ``UPDATE [dbo].[YL_质量检验_质检记录]``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
### 数据库调用链
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_获取人员绑定` -> 表:`MES_资源主数据`、`工位人员绑定表` -> 基础权限/人员数据处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_获取进行中任务2` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_获取进行中任务` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `异常工时_新增操作记录` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 新增业务数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_ProductCenter_GetTask_zp` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_开始` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_人员工时记录_结束` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_ProductTask_SendInspection` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加工中心_收检_读取收检记录` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_ReceiveCheck` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 质量检验处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加工中心_异常工时_获取操作记录列表` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `加工中心_修改工时_保存修改记录` -> 表:`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_加工中心_生产发料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `生产管理_加工中心_退库` -> 表:`质量检验_质检任务_SAP` -> 业务存储过程调用
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据
- `src/views/ProductionManagement/AssemblyCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `生产管理_获取人员绑定` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:表:`MES_资源主数据`、`工位人员绑定表`。 入参/分页参数:`@操作人ID NVARCHAR(50)`。 主要返回字段线索:`m.[name] AS 工位名称`。 关键过滤/匹配条件:`WHERE``AND b.绑定状态 = 1;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `MES_人员工时记录_获取进行中任务2` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE``AND t.结束时间 IS NULL``and t.工位名称 like '%装配%'``and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。
- `MES_人员工时记录_获取进行中任务` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE t.操作人 = @用户ID``AND t.操作类别 = '开始加工'``AND t.结束时间 IS NULL``and t.工位名称 like '%装配%'``and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。
- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。
- `异常工时_新增操作记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID nvarchar(2000)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);``INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `MES_ProductCenter_GetTask_zp` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(50)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`。 主要返回字段线索:`TaskAID, `、`[订单编号] as 订单号, `、`合同号, `、`自制件属性, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号] as 零件编码, `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '``WHERE next_task.[订单编号] = main.[订单编号]``AND next_task.[订单行号] = main.[订单行号] + 1``AND next_task.[排产状态] = 1``WHERE b.订单编号 = main.[订单编号]``AND b.订单行号 = main.[订单行号] - 1``AND a.检测类型编号 = 6``WHERE EXISTS (``WHERE b.订单编号 = main.订单编号``AND b.订单行号 = main.订单行号`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND [指派对象] ''外协'' AND [指派对象] LIKE ''%装配%'''``SET @whereStr = @whereStr + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @whereStr = @whereStr + ' AND [计划号] = '''+@计划号+''''``SET @whereStr = @whereStr + ' AND [合同号] LIKE ''%' + @销售订单 + '%'''``SET @whereStr = @whereStr + ' AND [TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)``SET @whereStr = @whereStr + ' AND [物料编号] LIKE ''%' + @零件编号 + '%'''``SET @whereStr = @whereStr + ' AND [计划开始时间] > = ''' + @计划开工_Start + ''''``SET @whereStr = @whereStr + ' AND [计划开始时间] < = ''' + @计划开工_End + ''''``SET @whereStr = @whereStr +``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) IN (0, 1, 2) '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 0 '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 1 '`。 排序/分组/分页线索:`ORDER BY next_task.[订单行号]) AS 下序名称, ``SET @selStr = @selStr + @whereStr + ' ORDER BY [计划开始时间], [订单编号], [阶段标识]'`。
- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。
- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。
- `MES_人员工时记录_开始` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE TaskAID = @TaskAID``AND 操作人 = @用户名``AND 操作类别 = '开始加工'``AND 结束时间 IS NULL``select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`UPDATE MES_接口_生产计划_生产任务``SET``INSERT INTO YL_加工中心_操作记录表 (`。 实现特征:异常捕获。
- `MES_人员工时记录_结束` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50),`、`@备注 NVARCHAR(200)`、`@工序说明 NVARCHAR(200)`、`@异常说明 NVARCHAR(200)`、`@本次检数 NVARCHAR(200)`、`@是否加班 INT`、`@加班人员 NVARCHAR(500)`、`@特殊加班人员 NVARCHAR(500)`、`@是否休息日 INT`、`@是否法定休息日 INT`、`@班次标准工时 NVARCHAR`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1), `、`@检验数 = ISNULL(本次检数, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE TaskAID = @TaskAID``AND 操作人 = @用户名``AND 操作类别 = '开始加工'``AND 结束时间 IS NULL``WHERE 班次名称 = '白班'``IF @是否休息日 = 1 OR @是否法定休息日 = 1``WHERE AID = @开始记录ID``IF @是否法定休息日 = 1 AND @是否加班 = 0``ELSE IF @是否休息日 = 1 AND @是否加班 = 0`。 关键写入/状态处理语句线索:`UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 本次检数 = ISNULL(@检验数, 0) + ISNULL(@本次检数, 0)``SET @白班结束时间 = '16:30:00'``SET @白班结束时间_完整 = CAST(CAST(@结束时间 AS DATE) AS DATETIME) + CAST(@白班结束时间 AS DATETIME)``SET @加班时长秒 = @总工时``SET @加班开始时间 = @开始时间``SET @工作时间 = 0``SET @工作时间 = @总工时``SET @报工开始时间 = @开始时间``SET @报工结束时间 = @结束时间``SET @加班时长秒 = 0``SET @加班开始时间 = NULL`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`。 实现特征:异常捕获、临时表 `#TempOvertimePersons`。
- `MES_ProductTask_SendInspection` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 主要返回字段线索:`@分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象`。 关键过滤/匹配条件:`where AID = @TaskAID``select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID``select @dicItemID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别``from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, ``set 任务状态 = 4, ``INSERT INTO [dbo].[YL_加工中心_操作记录表]``INSERT INTO [dbo].[YL_加工中心_报工记录]`。
- `加工中心_收检_读取收检记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'``select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``WHERE vt.[订单编号] = @订单编号``AND vt.[订单行号] = @订单行号-1``AND qc.检测类型编号 = '6'`。
- `MES_QulityInspection_ReceiveCheck` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@计划生产数 INT,`、`@检测说明 NVARCHAR(MAX)`。 主要返回字段线索:`@分配数量 = ISNULL(指派数量, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE qc.TaskAID = @TaskAID``WHERE task.订单编号 = @计划号``AND task.订单行号 = @当前订单行号``AND qc.质检类型 = '收检'``WHERE 订单编号 = @计划号``AND 订单行号 = @当前订单行号 + 1``AND ISNULL(订单拆分内码, 1) = 1``IF @下一道工序AID IS NOT NULL and @合格数 > 0``WHERE AID = @下一道工序AID and isnull(任务状态, 0) < 1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 任务状态 = 4``SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。
- `加工中心_异常工时_获取操作记录列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`o.AID, `、`o.操作类别编号, `、`o.操作类别, `、`o.阶段标识, `、`o.工序名称, `、`o.工位编号, `、`o.工位名称, `、`o.操作人 as 指派对象, `、`o.合同号, `、`o.订单编号 as 订单号, `。 关键过滤/匹配条件:`WHERE c.AID IS NULL and o.操作人 = @操作人 and o.操作类别编号 in ('8', '9')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加工中心_修改工时_保存修改记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@工时 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[YL_加工中心_操作记录表]``set 最后编辑时间 = GETDATE(), 最后编辑人 = @最后编辑人, 实际工时 = @工时, 开始时间 = @开始时间, 结束时间 = @结束时间`。
- `生产管理_加工中心_生产发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE`。 入参/分页参数:`@生产订单号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `生产管理_加工中心_退库` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@生产订单号 bigint,`、`@编码 nvarchar(500),`、`@名称 nvarchar(500),`、`@数量 float,`、`@单位 nvarchar(50),`、`@批次信息 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`@行号 = max(isnull(行号, 0))`。 关键过滤/匹配条件:`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`。 关键写入/状态处理语句线索:`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID``AND 零件编码 = @零件编码``AND 工序名称 = @工序名称``AND 质检类型 = @质检类型``AND 检测人 = @检测人``AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);``WHERE QT_AID = @ExistingQT_AID;``WHERE QT_AID = @ExistingQT_AID``AND 零件编号 = @零件编码``AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录](``SET @QT_AID = SCOPE_IDENTITY();``SET @ExistingQT_AID = @QT_AID;``SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;``SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;``SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;``UPDATE [dbo].[YL_质量检验_质检记录]``SET``SET @QT_AID = @ExistingQT_AID;``SET @PartResult = 0;``INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。
- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。
- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID``AND 零件编码 = @零件编码``AND 工序名称 = @工序名称``AND 质检类型 = @质检类型``AND 检测人 = @检测人``AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);``WHERE QT_AID = @ExistingQT_AID;``WHERE QT_AID = @ExistingQT_AID``AND 零件编号 = @零件编码``AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录](``SET @QT_AID = SCOPE_IDENTITY();``SET @ExistingQT_AID = @QT_AID;``SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;``SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;``SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;``UPDATE [dbo].[YL_质量检验_质检记录]``SET``SET @QT_AID = @ExistingQT_AID;``SET @PartResult = 0;``INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。
## 31. src/views/ProductionManagement/DeviceStatus/index.vue
**页面位置**`src/views/ProductionManagement/DeviceStatus/index.vue`
**所属模块**ProductionManagement / DeviceStatus
**源码行数**352
### 页面功能
该页面查看设备/工位生产状态,通常用于判断设备是否在加工、待机、报警或空闲。
页面可见的操作/字段包括 “查询”、“item.name”、“序号”、“工位”、“生产订单”、“计划号”、“销售订单”、“物料名称”、“物料编码”、“顺序”这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`设备管理_设备状态_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `设备管理_设备状态_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`item.name`、`序号`、`工位`、`生产订单`、`计划号`、`销售订单`、`物料名称`、`物料编码`、`顺序`、`工序名称`、`分配数`、`上序合格数`、`加工状态`、`收料状态`、`下序名称`、`优先`、`完成数`
主要方法线索:`getbasedata`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.equipmentType` | `@设备名称` | - |
| 参数 | `this.dataname` | `@参数名称` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工位` | - | `[VisCode] as 工位代码` |
| 显示列 | `生产订单` | - | `订单号` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `销售订单` | - | `合同号, ` |
| 显示列 | `物料名称` | - | `零件名称` |
| 显示列 | `物料编码` | - | `零件编码` |
| 显示列 | `顺序` | - | `顺序` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `分配数` | - | `分配数` |
| 显示列 | `上序合格数` | - | `上序合格数` |
| 显示列 | `加工状态` | - | `加工状态` |
| 显示列 | `收料状态` | - | `收料状态` |
| 显示列 | `下序名称` | - | `下序名称` |
| 显示列 | `优先` | - | `优先` |
| 显示列 | `完成数` | - | `完成数量` |
| 显示列 | `收检合格数` | - | `收检合格数` |
| 显示列 | `收检不合格数` | - | `收检不合格数` |
| 显示列 | `人员名称` | - | `人员名称` |
| 显示列 | `加急数量` | - | `加急总数, ` |
| 显示列 | `任务状态` | - | `任务状态` |
| 显示列 | `开工时间` | - | `[开工时间], ` |
| 显示列 | `计划开始` | - | `计划开始` |
| 显示列 | `计划完成` | - | `计划完成` |
| 显示列 | `备注` | - | `派工特殊说明, ` |
| 显示列 | `收料数` | - | `收料` |
| 输入字段 | `equipmentType` | `@设备名称` | - |
| 输入字段 | `dataname` | `@参数名称` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 276 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 293 | 11当前通用存储过程查询/执行) | `设备管理_设备状态_查询` | 查询/读取数据 | 查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_资源主数据`、`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`、`View_设备工位人员` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `设备管理_设备状态_查询``CREATE PROCEDURE [dbo].[设备管理_设备状态_查询]``DECLARE @where NVARCHAR(4000) = N' WHERE 1 = 1 and isnull(加工状态, 0) in (2, 4) ';``派工特殊说明, ``[加急状态], ``[二次派工], ``[计划完成时间], ``[完成数量], ``发料状态, `
### 数据库调用链
- `src/views/ProductionManagement/DeviceStatus/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/DeviceStatus/index.vue` -> `设备管理_设备状态_查询` -> 表:`MES_资源主数据`、`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`、`View_设备工位人员` -> 查询/读取数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `设备管理_设备状态_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_资源主数据`、`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`、`View_设备工位人员`。 入参/分页参数:`@设备名称 nvarchar(50)`。 主要返回字段线索:`main.TaskAID, `、`[订单编号], `、`合同号, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号], `、`[物料描述], `。 关键过滤/匹配条件:`DECLARE @where NVARCHAR(4000) = N' WHERE 1 = 1 and isnull(加工状态, 0) in (2, 4) ';``IF @时间值 > = @夜班开始阈值 OR @时间值 < @白班开始阈值``SET @班次条件 = N' AND d2.班次名称 = N''夜班''';``SET @班次条件 = N' AND d2.班次名称 = N''白班''';``WHERE b.订单编号 = main.[订单编号]``AND b.订单行号 = main.[订单行号] - 1``AND a.检测类型编号 = 6``WHERE d2.工位名称 = main.指派对象 ' + @班次条件 + N'``WHERE 质检类型 = ''收检''``' + @where + N'`。 关键写入/状态处理语句线索:`SET @班次条件 = N' AND d2.班次名称 = N''夜班''';``SET @班次条件 = N' AND d2.班次名称 = N''白班''';``SET @selectStr = N'`。 排序/分组/分页线索:`ROW_NUMBER() OVER (PARTITION BY [指派对象] ORDER BY ISNULL([开工时间], ''1900-01-01'') DESC) AS rn, ``ROW_NUMBER() OVER (PARTITION BY``ORDER BY ISNULL([开工时间], ''1900-01-01'') DESC) AS duplicate_rn``GROUP BY TaskAID``ORDER BY [指派对象];'`。 实现特征:分页。
## 32. src/views/ProductionManagement/MachiningCenter/index.vue
**页面位置**`src/views/ProductionManagement/MachiningCenter/index.vue`
**所属模块**ProductionManagement / MachiningCenter
**源码行数**6909
### 页面功能
该页面是机加生产执行主界面。操作员按工位查看可执行任务和进行中任务,完成收料、开始加工、暂停/恢复、报工、辅助工序、首检/巡检/序检、生产发料查询、退库、图纸查看等动作,并写入加工中心操作记录和报工记录。
页面可见的操作/字段包括 “取 消”、“确 定”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“关闭”、“新增异常工时”、“编辑”、“取消”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_加工中心_获取设备人员`、`生产管理_加工中心_获取班次信息`、`加急订单_加急明细查询`、`生产管理_获取人员绑定`、`工时校验_获取订单工序`、`工时校验_获取订单列表` 等过程 取数或提交业务动作。
### 页面流程图
机加中心执行流程:
```mermaid
flowchart LR
A[选择工位/人员/任务条件] --> B[MES_ProductCenter_GetTask 查询可执行任务]
B --> C[选择任务]
C --> D[收料 MES_ProductTask_MaterialRecieved]
D --> E[开始加工 MES_ProductTask_WorkingStart]
E --> F{生产过程}
F --> G[暂停/恢复 MES_ProductTask_Rest]
F --> H[首检/巡检/序检]
F --> I[报工 MES_ProductTask_ProdReport]
I --> J[写入操作记录/报工记录]
J --> K[必要时读取 SAP ProductionOrders]
K --> L[刷新任务和进行中状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`取 消`、`确 定`、`上一个 下一个`、`删除当前记录 关闭`、`上一个 下一个 保存当前记录 删除当前记录 关闭`、`确定 关闭`、`关闭`、`新增异常工时`、`编辑`、`取消`、`处理`、`转办`、`发起新流程`、`查看进度`、`完结`、`查看详情`、`点击上传`、`添加审批人`
主要方法线索:`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.selectedRow.指派对象` | `@指派对象` | - |
| 参数 | `shiftName` | `@班次` | - |
| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `orderId` | `@订单编号` | - |
| 参数 | `this.$store.state.user.name` | `@操作人` | - |
| 参数 | `taskAID` | `@TaskAID` | - |
| 参数 | `row.TaskAID` | `@TaskAID` | - |
| 参数 | `this.$store.state.user.name` | `@optor` | - |
| 参数 | `this.TaskAID ` | `@TaskAID` | - |
| 参数 | `this.orderNo2 ` | `@订单号` | `[订单编号] as 订单号, ` |
| 参数 | `this.productCode2` | `@零件编号` | - |
| 参数 | `this.productionStatus2` | `@生产状态` | - |
| 参数 | `this.Doing` | `@工位名称` | - |
| 参数 | `this.$store.state.user.id` | `@用户ID` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `this.salenum` | `@销售订单` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `this.assistNumber` | `@partCount` | - |
| 参数 | `row.分配数` | `@指派数量` | - |
| 参数 | `this.selectedOperators` | `@selectedOperators` | - |
| 参数 | `ordinaryPersons` | `@加班人员` | - |
| 参数 | `specialPersons` | `@特殊加班人员` | - |
| 参数 | `isOvertime` | `@是否加班` | - |
| 参数 | `isRestDay` | `@是否休息日` | - |
| 参数 | `isLegalRestDay` | `@是否法定休息日` | - |
| 参数 | `selectedShiftName` | `@用户选择班次` | - |
| 参数 | `shiftStandardHours` | `@班次标准工时` | - |
| 参数 | `this.receiveNum` | `@recievCount` | - |
| 参数 | `row.指派对象` | `@指派对象` | - |
| 参数 | `row.收料` | `@收料` | - |
| 参数 | `row.分配数` | `@分配数` | - |
| 参数 | `this.workStartNum` | `@辅助数` | - |
| 参数 | `前序不合格总数` | `@前序不合格总数` | - |
| 参数 | `BindRpt_ALLtaskids` | `@BindRpt_ALLtaskids` | - |
| 参数 | `this.currentTime` | `@rptDate` | - |
| 参数 | `this.shift` | `@rptShift` | - |
| 参数 | `this.proReportNum` | `@partCount` | - |
| 参数 | `this.rptDesc` | `@rptDesc` | - |
| 参数 | `this.currentShift.班次名称` | `@班次` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- TM/OpenAPI 接口(`src/api/tm.js`
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 3212 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_获取设备人员` | 基础权限/人员数据处理 | 查询 | 视图:`View_设备工位人员` |
| 3348 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_获取班次信息` | 业务存储过程调用 | 查询 | 表:`班次表` |
| 3366 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 3373 | 11当前通用存储过程查询/执行) | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 查询 | 表:`MES_资源主数据`、`工位人员绑定表` |
| 3384 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 3400 | 11当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 3445 | 11当前通用存储过程查询/执行) | `异常工时_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
| 3501 | 11当前通用存储过程查询/执行) | `MES_操作记录_获取暂停状态` | 业务存储过程调用 | 查询 | 表:`YL_加工中心_操作记录表` |
| 3571 | 11当前通用存储过程查询/执行) | `MES_操作记录_获取任务暂停状态` | 业务存储过程调用 | 查询 | 表:`YL_加工中心_操作记录表` |
| 3626 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 3679 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 3691 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 3706 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 3744 | 12当前通用存储过程写入/业务动作) | `MES_ProductTask_HelpStart` | 业务存储过程调用 | 查询、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`;视图:`View_生产订单_MES` |
| 3773 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 3794 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 3857 | 11当前通用存储过程查询/执行) | `MES_ProductCenter_GetTask` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 3959 | 11当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 4054 | 11当前通用存储过程查询/执行) | `MES_ProductTask_HelpEnd` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`;视图:`View_生产订单_MES` |
| 4088 | 12当前通用存储过程写入/业务动作) | `MES_ProductTask_MaterialRecieved` | 业务存储过程调用 | 查询、更新、处理计划/派工 | 表:`MES_接口_生产计划` |
| 4148 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_设备是否正在加工` | 设备/工位/资源数据处理 | 查询、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 4180 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 4205 | 12当前通用存储过程写入/业务动作) | `MES_ProductTask_WorkingStart` | 业务存储过程调用 | 查询、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 4239 | 11当前通用存储过程查询/执行) | `MES_ProductCenter_GetOrderTasks` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 4258 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_班次信息` | 业务存储过程调用 | 查询 | 视图:`View_设备工位人员` |
| 4269 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_开始时间` | 业务存储过程调用 | 查询 | 表:`YL_加工中心_操作记录表` |
| 4460 | 11当前通用存储过程查询/执行) | `MES_ProductTask_ProdReport` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` |
| 4828 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 5058 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` |
| 5146 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` |
| 5198 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 5241 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` |
| 5443 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` |
| 5566 | 11当前通用存储过程查询/执行) | `加工中心_收检_读取收检记录` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 5658 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_ReceiveCheck` | 质量检验处理 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` |
| 5800 | 11当前通用存储过程查询/执行) | `MES_QualityInspection_CheckRecord_Query` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`基础表_工序` |
| 5835 | 11当前通用存储过程查询/执行) | `MES_QualityInspection_GetInspectionParts` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件` |
| 5870 | 11当前通用存储过程查询/执行) | `MES_QualityInspection_GetInspectionDetails` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测数据` |
| 5906 | 11当前通用存储过程查询/执行) | `加工中心_异常工时_获取操作记录列表` | 报工或工时处理 | 查询、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 5957 | 11当前通用存储过程查询/执行) | `加工中心_修改工时_保存修改记录` | 更新/保存业务数据 | 更新、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
| 6026 | 11当前通用存储过程查询/执行) | `sp_获取最近处理任务` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 |
| 6034 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 6050 | 11当前通用存储过程查询/执行) | `sp_获取我的流程` | 业务存储过程调用 | 查询 | 未在 SQL 中解析到明确依赖 |
| 6065 | 11当前通用存储过程查询/执行) | `sp_获取待处理任务` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 6091 | 11当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 6216 | 11当前通用存储过程查询/执行) | `sp_创建流程_简化版` | 业务存储过程调用 | 查询、新增、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 6250 | 12当前通用存储过程写入/业务动作) | `sp_处理审批` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 6291 | 12当前通用存储过程写入/业务动作) | `sp_转办流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 6319 | 11当前通用存储过程查询/执行) | `sp_完成流程` | 业务存储过程调用 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 6336 | 11当前通用存储过程查询/执行) | `sp_获取流程详情` | 业务存储过程调用 | 查询、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 6394 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_生产发料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` |
| 6443 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 6478 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 6503 | 12当前通用存储过程写入/业务动作) | `生产管理_加工中心_退库` | 业务存储过程调用 | 查询、新增、处理质检数据 | 表:`质量检验_质检任务_SAP` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 5751 行:`posttm("/stocktask/task/receiptordertask")`
- 第 6409 行:`getB1("/ProductionOrders")`
- 第 6560 行:`posttm("/stocktask/task/issueordertask")`
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
- 生产管理_加工中心_生产发料查询: SAP.SBO_YL.dbo.UBT_OWOR_OIGE
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 5751 | `posttm` | `/stocktask/task/receiptordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `label` |
| 6409 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`数据`、`lines`、`请求失败` |
| 6560 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
### 状态流转说明
- `生产管理_加工中心_获取设备人员``create PROCEDURE [dbo].[生产管理_加工中心_获取设备人员]`
- `生产管理_加工中心_获取班次信息``create PROCEDURE [dbo].[生产管理_加工中心_获取班次信息]`
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `生产管理_获取人员绑定``AND b.绑定状态 = 1;`
- `异常工时_新增操作记录``INSERT INTO [dbo].[YL_加工中心_操作记录表] (``操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, `
- `MES_操作记录_获取暂停状态``CREATE PROCEDURE [dbo].[MES_操作记录_获取暂停状态]``FROM [YL_加工中心_操作记录表] p`
- `MES_操作记录_获取任务暂停状态``CREATE PROCEDURE [dbo].[MES_操作记录_获取任务暂停状态]``FROM [YL_加工中心_操作记录表] p`
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `MES_ProductTask_HelpStart``declare @任务状态 int = -1``select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID``if(@任务状态 = 1)``Update MES_接口_生产计划_生产任务 set 可执行 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID``if(@任务状态 = 2)`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_ProductCenter_GetTask``@生产状态 int = -1, ``DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '``派工特殊说明, ``case when isnull([加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], ``[二次派工], ``[计划完成时间] as 计划完成, ``isnull([完成数量], 0) as 完成数量, ``when isnull(发料状态, 0) = 1 then ''发料齐套''`
- `MES_ProductTask_WorkTimeSum``select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`
- `MES_ProductTask_HelpEnd``declare @完成数量_New int = -1``declare @任务状态 int = -1``Select @完成数量_New = isnull(完成数量, 0) + @partCount, ``select @任务状态 = isnull(任务状态, 0) from View_生产订单_MES where TaskAID = @TaskAID``FROM [YL_加工中心_操作记录表]``AND ISNULL([已报工], 0) = 0``if(@指派数量 > = @完成数量_New)``Update MES_接口_生产计划_生产任务`
- `MES_ProductTask_MaterialRecieved``declare @任务状态 int``select @任务状态 = 任务状态 from MES_接口_生产计划_生产任务 where AID = @TaskAID``if(@任务状态 < = 1 )``Update MES_接口_生产计划_生产任务``set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, ``if(@任务状态 > 1 )`
- `生产管理_加工中心_设备是否正在加工``CREATE PROCEDURE [dbo].[生产管理_加工中心_设备是否正在加工]``select * from [dbo].[MES_接口_生产计划_生产任务] where 指派对象 = @指派对象 AND 加工状态 in ( 2, 4 )`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_ProductTask_WorkingStart``declare @任务状态 int = -1``declare @词条名称 nvarchar(50) = '开始加工'``select @任务状态 = isnull(任务状态, 0), @开工 = isnull(开工, 0) from View_生产订单_MES where TaskAID = @TaskAID``if(@任务状态 = 1)``Update MES_接口_生产计划_生产任务 set 任务状态 = 2, 可执行 = 1, 开工 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID``if(@任务状态 = 2)``FROM [dbo].[YL_质量检验_质检记录] qc``Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @合格数, 操作时间 = @操作时间 where AID = @TaskAID`
- `MES_ProductCenter_GetOrderTasks``, [计划完成时间]``, isnull([完成数量], 0) as [完成数量]``when isnull(任务状态, 0) = 2 then '已开工'``else '''' end as [任务状态]``FROM [dbo].[YL_质量检验_质检记录] qc`
- `生产管理_加工中心_班次信息``create PROCEDURE [dbo].[生产管理_加工中心_班次信息]`
- `生产管理_加工中心_开始时间``create PROCEDURE [dbo].[生产管理_加工中心_开始时间]``from [YL_加工中心_操作记录表]`
- `MES_ProductTask_ProdReport``declare @完成数量_New int = -1``@完成数量_New = isnull(完成数量, 0) + @partCount, ``FROM [YL_加工中心_操作记录表]``AND 操作类别 = '开始加工'``AND ISNULL([已报工], 0) = 0``IF (@完成数量_New + @最新不合格数 < = @指派数量)``IF (@完成数量_New + @最新不合格数 < @指派数量)``UPDATE MES_接口_生产计划_生产任务`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_QulityInspection_CheckItemData_Save``@质检类型 nvarchar(100) = '', ``FROM [dbo].[YL_质量检验_质检记录]``AND 质检类型 = @质检类型``INSERT INTO [dbo].[YL_质量检验_质检记录](``TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, ``@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, ``UPDATE [dbo].[YL_质量检验_质检记录]``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_QulityInspection_CheckItemData_Save``@质检类型 nvarchar(100) = '', ``FROM [dbo].[YL_质量检验_质检记录]``AND 质检类型 = @质检类型``INSERT INTO [dbo].[YL_质量检验_质检记录](``TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, ``@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, ``UPDATE [dbo].[YL_质量检验_质检记录]``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
- `加工中心_收检_读取收检记录``CREATE PROCEDURE [dbo].[加工中心_收检_读取收检记录]``declare @完成数量 int``select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'``select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``FROM [dbo].[YL_质量检验_质检记录] qc``select isnull(@已检验数量, 0), isnull(@完成数量, 0), isnull(@上序合格数, 0), @订单行号`
- `MES_QulityInspection_ReceiveCheck``@质检类型 NVARCHAR(50), ``FROM [dbo].[MES_接口_生产计划_生产任务]``FROM [YL_MESDB].[dbo].[YL_质量检验_质检记录] qc``0 AS 清零任务数``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``[质检类型], ``@质检类型, ``INNER JOIN [dbo].[MES_接口_生产计划_生产任务] task ON qc.TaskAID = task.AID`
- `MES_QualityInspection_CheckRecord_Query``a.[质检类型], ``FROM [dbo].[YL_质量检验_质检记录] a``WHERE 质检类型 ''来料检验''`
- `MES_QualityInspection_GetInspectionParts``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
- `MES_QualityInspection_GetInspectionDetails``FROM [dbo].[YL_质量检验_质检记录_检测数据]`
- `加工中心_异常工时_获取操作记录列表``CREATE PROCEDURE [dbo].[加工中心_异常工时_获取操作记录列表]``o.实际工时 as 加工工时, ``o.已报工, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `加工中心_修改工时_保存修改记录``CREATE PROCEDURE [dbo].[加工中心_修改工时_保存修改记录]``update [dbo].[YL_加工中心_操作记录表]`
- `sp_获取最近处理任务``create PROCEDURE [dbo].[sp_获取最近处理任务]`
- `sp_获取我的流程``@状态 NVARCHAR(20) = NULL``p.状态, ``AND (@状态 IS NULL OR p.状态 = @状态)`
- `sp_获取待处理任务``create PROCEDURE [dbo].[sp_获取待处理任务]``AND pn.状态 = 'processing'``AND p.状态 = 'processing'`
- `MES_ProductAdmin_Query``@排产状态 nvarchar(50) = '全部', ``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]``, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急``, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`
- `sp_创建流程_简化版``状态, `
- `sp_处理审批``SET 状态 = @处理结果, ``SET 状态 = 'rejected', ``SET 状态 = 'processing', ``SET 状态 = 'completed', ``当前节点 = '已完成', `
- `sp_转办流程``AND pn.状态 = 'processing'``AND p.状态 = 'processing'`
- `sp_完成流程``create PROCEDURE [dbo].[sp_完成流程]``@完成类型 NVARCHAR(20), ``@完成原因 NVARCHAR(500), ``AND 状态 IN ('draft', 'processing')``INSERT INTO 流程完成记录表 (``流程ID, 发起人ID, 发起人姓名, 完成类型, 完成原因``VALUES (@流程ID, @发起人ID, @发起人姓名, @完成类型, @完成原因);``SET 状态 = @完成类型, `
- `sp_获取流程详情``p.状态, ``状态, ``WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'``END as 状态描述, `
- `生产管理_加工中心_生产发料查询``CREATE PROCEDURE [dbo].[生产管理_加工中心_生产发料查询]``select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`
- `生产管理_加工中心_退库``CREATE PROCEDURE [dbo].[生产管理_加工中心_退库]``select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'``insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`
### 数据库调用链
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_获取设备人员` -> 视图:`View_设备工位人员` -> 基础权限/人员数据处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_获取班次信息` -> 表:`班次表` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_获取人员绑定` -> 表:`MES_资源主数据`、`工位人员绑定表` -> 基础权限/人员数据处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `异常工时_新增操作记录` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 新增业务数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_操作记录_获取暂停状态` -> 表:`YL_加工中心_操作记录表` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_操作记录_获取任务暂停状态` -> 表:`YL_加工中心_操作记录表` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_HelpStart` -> 表:`MES_接口_生产计划`;视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductCenter_GetTask` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_HelpEnd` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`;视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_MaterialRecieved` -> 表:`MES_接口_生产计划` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_设备是否正在加工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 设备/工位/资源数据处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_WorkingStart` -> 表:`MES_接口_生产计划`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductCenter_GetOrderTasks` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_班次信息` -> 视图:`View_设备工位人员` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_开始时间` -> 表:`YL_加工中心_操作记录表` -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductTask_ProdReport` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加工中心_收检_读取收检记录` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QulityInspection_ReceiveCheck` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 质量检验处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QualityInspection_CheckRecord_Query` -> 表:`YL_质量检验_质检记录`、`基础表_工序` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QualityInspection_GetInspectionParts` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_QualityInspection_GetInspectionDetails` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测数据` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加工中心_异常工时_获取操作记录列表` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `加工中心_修改工时_保存修改记录` -> 表:`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取最近处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `人员管理_人员信息查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取我的流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取待处理任务` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_创建流程_简化版` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_处理审批` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_转办流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_完成流程` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `sp_获取流程详情` -> 未在 SQL 中解析到明确依赖 -> 业务存储过程调用
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_生产发料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProductionManagement/MachiningCenter/index.vue` -> `生产管理_加工中心_退库` -> 表:`质量检验_质检任务_SAP` -> 业务存储过程调用
### 存储过程处理逻辑明细
- `生产管理_加工中心_获取设备人员` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:视图:`View_设备工位人员`。 入参/分页参数:`@指派对象 nvarchar(50),`、`@班次 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SELECT * FROM [YL_MESDB].[dbo].[View_设备工位人员] where 工位名称 = @指派对象 and 班次名称 = @班次`。
- `生产管理_加工中心_获取班次信息` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`班次表`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `生产管理_获取人员绑定` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:表:`MES_资源主数据`、`工位人员绑定表`。 入参/分页参数:`@操作人ID NVARCHAR(50)`。 主要返回字段线索:`m.[name] AS 工位名称`。 关键过滤/匹配条件:`WHERE``AND b.绑定状态 = 1;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。
- `异常工时_新增操作记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID nvarchar(2000)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);``INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。
- `MES_操作记录_获取暂停状态` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 NVARCHAR(50)`。 主要返回字段线索:`p.TaskAID, `、`p.关联操作类型 AS PreviousState, `、`p.操作人 AS Operator, `、`p.开始时间 AS PauseTime`。 关键过滤/匹配条件:`WHERE p.操作类别 = '暂停'``AND (p.结束时间 IS NULL OR p.结束时间 = '')``AND p.关联操作类型 IS NOT NULL``WHERE 1 = 0;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.开始时间 DESC`。 实现特征:异常捕获。
- `MES_操作记录_获取任务暂停状态` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID INT`。 主要返回字段线索:`TOP 1`、`p.TaskAID, `、`p.关联操作类型 AS PreviousState, `、`p.操作人 AS Operator, `、`p.开始时间 AS PauseTime`。 关键过滤/匹配条件:`WHERE p.操作类别 = '暂停'``AND p.TaskAID = @TaskAID``AND (p.结束时间 IS NULL OR p.结束时间 = '')``AND p.关联操作类型 IS NOT NULL``WHERE 1 = 0;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.开始时间 DESC`。 实现特征:异常捕获。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `MES_ProductTask_HelpStart` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@optor nvarchar(50)`。 主要返回字段线索:`@词条ID = 词条编号`。 关键过滤/匹配条件:`select @词条ID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别``select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID``Update MES_接口_生产计划_生产任务 set 可执行 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务 set 可执行 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_ProductCenter_GetTask` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(50)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`。 主要返回字段线索:`TaskAID, `、`[订单编号] as 订单号, `、`合同号, `、`加急总数, `、`派工特殊说明, `、`[订单拆分内码], `、`[订单行号], `、`[开工时间], `、`[物料编号] as 零件编码, `、`[物料描述] as 零件名称, `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE 排产状态 = 1 '``WHERE next_task.[订单编号] = main.[订单编号]``AND next_task.[订单行号] = main.[订单行号] + 1``AND next_task.[排产状态] = 1``WHERE b.订单编号 = main.[订单编号]``AND b.订单行号 = main.[订单行号] - 1``AND a.检测类型编号 = 6``WHERE EXISTS (``WHERE b.订单编号 = main.订单编号``AND b.订单行号 = main.订单行号`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND [指派对象] ''外协'' AND [指派对象] NOT LIKE ''%装配%'''``SET @whereStr = @whereStr + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @whereStr = @whereStr + ' AND [计划号] = '''+@计划号+''''``SET @whereStr = @whereStr + ' AND [合同号] LIKE ''%' + @销售订单 + '%'''``SET @whereStr = @whereStr + ' AND [TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)``SET @whereStr = @whereStr + ' AND [物料编号] LIKE ''%' + @零件编号 + '%'''``SET @whereStr = @whereStr + ' AND [计划开始时间] > = ''' + @计划开工_Start + ''''``SET @whereStr = @whereStr + ' AND [计划开始时间] < = ''' + @计划开工_End + ''''``SET @whereStr = @whereStr +``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) IN (0, 1, 2) '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 0 '``SET @whereStr = @whereStr + ' AND ISNULL(任务状态, 0) = 1 '`。 排序/分组/分页线索:`ORDER BY next_task.[订单行号]) AS 下序名称, ``SET @selStr = @selStr + @whereStr + ' ORDER BY [计划开始时间], [订单编号], [阶段标识]'`。
- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。
- `MES_ProductTask_HelpEnd` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@partCount int,`、`@optor nvarchar(50),`、`@指派数量 decimal(16,2)`、`@selectedOperators NVARCHAR(50)`、`@加班人员 nvarchar(500)`、`@特殊加班人员 nvarchar(500)`、`@是否加班 bit`、`@是否休息日 bit`、`@是否法定休息日 bit`、`@用户选择班次 nvarchar(50)`、`@班次标准工时 int`。 主要返回字段线索:`@词条ID = 词条编号`。 关键过滤/匹配条件:`select @词条ID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别``FROM View_生产订单_MES where TaskAID = @TaskAID``select @任务状态 = isnull(任务状态, 0) from View_生产订单_MES where TaskAID = @TaskAID``WHERE TaskAID = @TaskAID``AND 操作类别 = '辅助开始'``AND 开始时间 IS NOT NULL``AND ISNULL([已报工], 0) = 0``IF @开始总分钟 > = 465 AND @开始总分钟 < 990``WHERE 班次名称 = @当前班次``IF (@是否休息日 = 1 OR @是否法定休息日 = 1)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @报工开始时间 = DATEADD(HOUR, -1, @操作时间)``SET @打卡开始秒 = DATEDIFF(SECOND, '00:00:00', CAST(@报工开始时间 AS time))``SET @打卡结束秒 = DATEDIFF(SECOND, '00:00:00', CAST(@操作时间 AS time))``SET @总时长秒 = @打卡结束秒 - @打卡开始秒``SET @当前班次 = ISNULL(@用户选择班次, '')``SET @当前班次 = '白班'``SET @当前班次 = '夜班'``SET @加班时长秒 = @总时长秒``SET @加班开始时间 = @报工开始时间``SET @班次结束时间_完整 = CAST(@基准日期 AS DATETIME) + CAST(@班次结束时间 AS datetime)``SET @加班时长秒 = DATEDIFF(SECOND, @班次结束时间_完整, @操作时间)`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`。 实现特征:临时表 `#TempPersons`。
- `MES_ProductTask_MaterialRecieved` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 主要返回字段线索:`@任务状态 = 任务状态`。 关键过滤/匹配条件:`select @任务状态 = 任务状态 from MES_接口_生产计划_生产任务 where AID = @TaskAID``where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, ``set 收料 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `。
- `生产管理_加工中心_设备是否正在加工` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 设备/工位/资源数据处理。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@指派对象 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[MES_接口_生产计划_生产任务] where 指派对象 = @指派对象 AND 加工状态 in ( 2, 4 )`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_ProductTask_WorkingStart` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@optor nvarchar(50),`、`@收料 int,`、`@分配数 int`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0), @开工 = isnull(开工, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0), @开工 = isnull(开工, 0) from View_生产订单_MES where TaskAID = @TaskAID``select @词条ID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别``Update MES_接口_生产计划_生产任务 set 任务状态 = 2, 可执行 = 1, 开工 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID``select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单行号] = @订单行号-1``and vt.订单编号 = @订单编号``AND qc.检测类型编号 = '6'``if(@收料@合格数 and @订单行号>1)``Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @合格数, 操作时间 = @操作时间 where AID = @TaskAID``if(@收料@合格数 and @订单行号 = 1)`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务 set 任务状态 = 2, 可执行 = 1, 开工 = 1, 加工状态 = @词条ID, 开工时间 = @操作时间, 操作时间 = @操作时间 where AID = @TaskAID``Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @合格数, 操作时间 = @操作时间 where AID = @TaskAID``Update MES_接口_生产计划_生产任务 set 收料 = 1, 收料数量 = @分配数, 操作时间 = @操作时间 where AID = @TaskAID`。
- `MES_ProductCenter_GetOrderTasks` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] < vo.[订单行号]``AND qc.检测类型编号 = '6'``AND vt.[订单行号] = vo.[订单行号]-1``where [订单编号] = @订单编号`。 排序/分组/分页线索:`order by [订单行号]`。
- `生产管理_加工中心_班次信息` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:视图:`View_设备工位人员`。 主要返回字段线索:`*`。
- `生产管理_加工中心_开始时间` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID nvarchar(50)`。 主要返回字段线索:`top(1)`、`开始时间`。 关键过滤/匹配条件:`where TaskAID = @TaskAID`。 排序/分组/分页线索:`order by 结束时间 desc`。
- `MES_ProductTask_ProdReport` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID bigint,`、`@BindRpt_ALLtaskids nvarchar(500),`、`@rptDate nvarchar(50),`、`@rptShift nvarchar(50),`、`@partCount int,`、`@rptDesc nvarchar(50),`、`@optor nvarchar(50),`、`@前序不合格总数 nvarchar(500),`、`@加班人员 nvarchar(500)`、`@特殊加班人员 nvarchar(500)`、`@是否加班 nvarchar(10)`、`@是否休息日 nvarchar(10)`、`@是否法定休息日 nvarchar(10)`、`@用户选择班次 nvarchar(50)`、`@班次标准工时 int`。 主要返回字段线索:`@词条ID = 词条编号`。 关键过滤/匹配条件:`WHEN @是否加班 = '1' OR @是否加班 = 'true' OR @是否加班 = 'True' OR @是否加班 = 'TRUE' THEN 1``WHEN @是否休息日 = '1' OR @是否休息日 = 'true' OR @是否休息日 = 'True' OR @是否休息日 = 'TRUE' THEN 1``WHEN @是否法定休息日 = '1' OR @是否法定休息日 = 'true' OR @是否法定休息日 = 'True' OR @是否法定休息日 = 'TRUE' THEN 1``where 词条名称 = @词条名称 and 数据类别 = @数据类别``where TaskAID = @TaskAID``WHERE TaskAID = @TaskAID``AND 操作类别 = '开始加工'``AND 开始时间 IS NOT NULL``AND ISNULL([已报工], 0) = 0``AND 操作类别 IN ('加班', '休息日加班', '法定休息日加班', '休息日工作', '法定休息日工作')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @打卡开始秒 = DATEDIFF(SECOND, '00:00:00', CAST(@报工开始时间 AS time))``SET @打卡结束秒 = DATEDIFF(SECOND, '00:00:00', CAST(@rptDate AS time))``SET @打卡结束秒 = @打卡结束秒 + 24 * 3600``SET @总时长秒 = @打卡结束秒 - @打卡开始秒``SET @中点秒 = @打卡开始秒 + (@总时长秒 / 2)``SET @最小班次标准工时 = @班次标准工时``SET @位置 = CHARINDEX(', ', @人员列表)``SET @当前人员 = LTRIM(RTRIM(SUBSTRING(@人员列表, 1, @位置 - 1)))``SET @人员列表 = SUBSTRING(@人员列表, @位置 + 1, LEN(@人员列表))``SET @当前人员 = LTRIM(RTRIM(@人员列表))``SET @人员列表 = ''`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC``FETCH NEXT FROM 班次游标 INTO @当前处理班次, @是否操作人班次``FETCH NEXT FROM task_cursor INTO @CurrentTaskAID, @CurrentDefectCount``FETCH NEXT FROM task_cursor2 INTO @CurrentTaskAID`。 实现特征:临时表 `#TempPersons`、`#班次处理`、`#TaskData`、`#TaskIDs`、`#DefectCounts`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID``AND 零件编码 = @零件编码``AND 工序名称 = @工序名称``AND 质检类型 = @质检类型``AND 检测人 = @检测人``AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);``WHERE QT_AID = @ExistingQT_AID;``WHERE QT_AID = @ExistingQT_AID``AND 零件编号 = @零件编码``AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录](``SET @QT_AID = SCOPE_IDENTITY();``SET @ExistingQT_AID = @QT_AID;``SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;``SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;``SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;``UPDATE [dbo].[YL_质量检验_质检记录]``SET``SET @QT_AID = @ExistingQT_AID;``SET @PartResult = 0;``INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。
- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。
- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID``AND 零件编码 = @零件编码``AND 工序名称 = @工序名称``AND 质检类型 = @质检类型``AND 检测人 = @检测人``AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);``WHERE QT_AID = @ExistingQT_AID;``WHERE QT_AID = @ExistingQT_AID``AND 零件编号 = @零件编码``AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录](``SET @QT_AID = SCOPE_IDENTITY();``SET @ExistingQT_AID = @QT_AID;``SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;``SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;``SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;``UPDATE [dbo].[YL_质量检验_质检记录]``SET``SET @QT_AID = @ExistingQT_AID;``SET @PartResult = 0;``INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。
- `加工中心_收检_读取收检记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'``select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``WHERE vt.[订单编号] = @订单编号``AND vt.[订单行号] = @订单行号-1``AND qc.检测类型编号 = '6'`。
- `MES_QulityInspection_ReceiveCheck` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@计划生产数 INT,`、`@检测说明 NVARCHAR(MAX)`。 主要返回字段线索:`@分配数量 = ISNULL(指派数量, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE qc.TaskAID = @TaskAID``WHERE task.订单编号 = @计划号``AND task.订单行号 = @当前订单行号``AND qc.质检类型 = '收检'``WHERE 订单编号 = @计划号``AND 订单行号 = @当前订单行号 + 1``AND ISNULL(订单拆分内码, 1) = 1``IF @下一道工序AID IS NOT NULL and @合格数 > 0``WHERE AID = @下一道工序AID and isnull(任务状态, 0) < 1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 任务状态 = 4``SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。
- `MES_QualityInspection_CheckRecord_Query` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`基础表_工序`。 入参/分页参数:`@计划号 NVARCHAR(100)`、`@零件编码 NVARCHAR(200)`、`@工艺编号 NVARCHAR(50)`、`@检测类型编号 INT`、`@检验结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@检测时间开始 DATETIME`、`@检测时间结束 DATETIME`。 主要返回字段线索:`top 100`、`a.[QT_AID], `、`a.[TaskAID], `、`a.[检测类型编号], `、`a.[质检类型], `、`a.[零件名称], `、`a.[内部合同号], `、`a.[零件编码], `、`a.[计划号], `、`a.[工序名称], `。 关键过滤/匹配条件:`WHEN a.[不合格数] = 0 AND a.[合格数] > 0 THEN ''合格''``WHERE 质检类型 ''来料检验''``SET @SQL = @SQL + ' AND a.[计划号] = ''' + @计划号 + ''''``SET @SQL = @SQL + ' AND a.[零件编码] LIKE ''%' + @零件编码 + '%'''``IF @检测类型编号 IS NOT NULL AND @检测类型编号 > 0``SET @SQL = @SQL + ' AND a.[检测类型编号] = ' + CAST(@检测类型编号 AS NVARCHAR(10))``SET @SQL = @SQL + ' AND EXISTS (``WHERE b2.[工艺编号] = ''' + @工艺编号 + '''``AND b2.[工序名称] = a.[工序名称]``SET @SQL = @SQL + ' AND a.[不合格数] = 0 AND a.[合格数] > 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @SQL = @SQL + ' AND a.[计划号] = ''' + @计划号 + ''''``SET @SQL = @SQL + ' AND a.[零件编码] LIKE ''%' + @零件编码 + '%'''``SET @SQL = @SQL + ' AND a.[检测类型编号] = ' + CAST(@检测类型编号 AS NVARCHAR(10))``SET @SQL = @SQL + ' AND EXISTS (``SET @SQL = @SQL + ' AND a.[不合格数] = 0 AND a.[合格数] > 0'``SET @SQL = @SQL + ' AND a.[不合格数] > 0'``SET @SQL = @SQL + ' AND a.[检测人] LIKE ''%' + @检测人 + '%'''``SET @SQL = @SQL + ' ORDER BY a.[检测时间] DESC'``SET @检测时间开始 = DATEADD(YEAR, -1, GETDATE())``SET @检测时间结束 = GETDATE()`。 排序/分组/分页线索:`SET @SQL = @SQL + ' ORDER BY a.[检测时间] DESC'`。
- `MES_QualityInspection_GetInspectionParts` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`。 入参/分页参数:`@QT_AID BIGINT`。 主要返回字段线索:`LJ_AID, `、`QT_AID, `、`当前检测零件编号, `、`检测结果, `、`检测时间, `、`检测人, `、`零件编号, `、`CASE`、`WHEN 检测结果 = 1 THEN '合格'`、`WHEN 检测结果 = 0 THEN '不合格'`。 关键过滤/匹配条件:`WHERE QT_AID = @QT_AID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 当前检测零件编号;`。
- `MES_QualityInspection_GetInspectionDetails` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@LJ_AID BIGINT`。 主要返回字段线索:`AID, `、`LJ_AID, `、`物料编号, `、`当前检测零件编号, `、`阶段标识, `、`工序名称, `、`计划号, `、`检测项目, `、`理论值, `、`上限值, `。 关键过滤/匹配条件:`WHERE LJ_AID = @LJ_AID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY AID;`。
- `加工中心_异常工时_获取操作记录列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`o.AID, `、`o.操作类别编号, `、`o.操作类别, `、`o.阶段标识, `、`o.工序名称, `、`o.工位编号, `、`o.工位名称, `、`o.操作人 as 指派对象, `、`o.合同号, `、`o.订单编号 as 订单号, `。 关键过滤/匹配条件:`WHERE c.AID IS NULL and o.操作人 = @操作人 and o.操作类别编号 in ('8', '9')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加工中心_修改工时_保存修改记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@工时 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[YL_加工中心_操作记录表]``set 最后编辑时间 = GETDATE(), 最后编辑人 = @最后编辑人, 实际工时 = @工时, 开始时间 = @开始时间, 结束时间 = @结束时间`。
- `sp_获取最近处理任务` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`ar.记录ID, `、`p.流程ID, `、`p.流程标题 as 流程名称, `、`p.发起人姓名 as 申请人, `、`ar.审批人姓名 as 处理人, `、`ar.处理结果, `、`CASE ar.处理结果`、`WHEN 'approved' THEN '同意'`、`WHEN 'rejected' THEN '拒绝'`、`ELSE ar.处理结果`。 关键过滤/匹配条件:`WHERE ar.审批人ID = @审批人ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY ar.处理时间 DESC;`。
- `人员管理_人员信息查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `sp_获取我的流程` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@发起人ID NVARCHAR(100),`、`@状态 NVARCHAR(20)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.当前节点, `、`p.当前步骤, `、`p.总步骤数, `、`p.创建时间 as 发起时间, `、`p.更新时间`。 关键过滤/匹配条件:`WHERE p.发起人ID = @发起人ID``AND (@状态 IS NULL OR p.状态 = @状态)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.更新时间 DESC;`。
- `sp_获取待处理任务` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@审批人ID NVARCHAR(100)`。 主要返回字段线索:`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.发起人姓名 as 申请人, `、`p.创建时间 as 申请时间, `、`p.已关联计划号, `、`p.零件名称, `、`p.零件编号, `、`p.工序名称, `。 关键过滤/匹配条件:`WHERE pn.审批人ID = @审批人ID``AND pn.状态 = 'processing'``AND p.状态 = 'processing'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY`。
- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'``else if(@排产状态 = '已完成')set @selectStrWhere = @selectStrWhere + ' and [排产状态] = 1'``if(@物料类型 = '自制件') set @selectStrWhere = @selectStrWhere + ' and [不装配] ''否'''`。
- `sp_创建流程_简化版` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`。 入参/分页参数:`@流程标题 NVARCHAR(200),`、`@流程描述 NVARCHAR(MAX)`、`@优先级 NVARCHAR(20)`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@新流程ID INT`、`@已关联计划号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@工序名称 NVARCHAR(100)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 流程表 (``SET @新流程ID = SCOPE_IDENTITY();``INSERT INTO 流程节点表 (``SET @结果 = 1;``SET @消息 = '流程创建成功流程ID: ' + CAST(@新流程ID AS NVARCHAR(10));``SET @结果 = 0;``SET @消息 = '错误: ' + ERROR_MESSAGE();`。 实现特征:事务控制、异常捕获。
- `sp_处理审批` 属于 通用业务,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@审批人ID NVARCHAR(100),`、`@审批人姓名 NVARCHAR(100),`、`@处理结果 NVARCHAR(20),`、`@审批意见 NVARCHAR(MAX)`、`@成功 BIT`。 主要返回字段线索:`@当前步骤 = 步骤序号`。 关键过滤/匹配条件:`WHERE 节点ID = @节点ID;``WHERE 流程ID = @流程ID;``SELECT @当前步骤 = 步骤序号 FROM 流程节点表 WHERE 节点ID = @节点ID;``WHERE 流程ID = @流程ID AND 步骤序号 = @当前步骤 + 1;``WHERE 节点ID = @下一节点ID;``当前节点 = (SELECT 节点名称 FROM 流程节点表 WHERE 节点ID = @下一节点ID), `。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)``UPDATE 流程节点表``SET 状态 = @处理结果, ``UPDATE 流程表``SET 状态 = 'rejected', ``SET 状态 = 'processing', ``SET 当前步骤 = @当前步骤 + 1, ``SET 状态 = 'completed', ``SET @成功 = 1;``SET @成功 = 0;`。 实现特征:事务控制、异常捕获。
- `sp_转办流程` 属于 通用业务,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程节点表`、`流程转办表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@节点ID INT,`、`@原审批人ID NVARCHAR(100),`、`@原审批人姓名 NVARCHAR(100),`、`@新审批人ID NVARCHAR(100),`、`@新审批人姓名 NVARCHAR(100),`、`@转办原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID``AND pn.节点ID = @节点ID``AND pn.状态 = 'processing'``AND p.状态 = 'processing'``AND pn.审批人ID = @原审批人ID``WHERE 节点ID = @节点ID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @成功 = 0;``INSERT INTO 流程转办表 (``UPDATE 流程节点表``SET 审批人ID = @新审批人ID, ``INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)``SET @成功 = 1;`。 实现特征:事务控制、异常捕获。
- `sp_完成流程` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`流程表`、`流程节点表`、`流程完成记录表`、`审批记录表`。 入参/分页参数:`@流程ID INT,`、`@发起人ID NVARCHAR(100),`、`@发起人姓名 NVARCHAR(100),`、`@完成类型 NVARCHAR(20),`、`@完成原因 NVARCHAR(500),`、`@成功 BIT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`WHERE 流程ID = @流程ID``AND 发起人ID = @发起人ID``AND 状态 IN ('draft', 'processing')``WHERE 流程ID = @流程ID;``AND 状态 = 'processing';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @成功 = 0;``INSERT INTO 流程完成记录表 (``UPDATE 流程表``SET 状态 = @完成类型, ``UPDATE 流程节点表``SET 状态 = 'cancelled', ``INSERT INTO 审批记录表 (流程ID, 节点ID, 审批人ID, 审批人姓名, 处理结果, 审批意见)``SET @成功 = 1;`。 实现特征:事务控制、异常捕获。
- `sp_获取流程详情` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@流程ID INT`。 主要返回字段线索:`@流程信息 = (`、`SELECT`、`p.流程ID, `、`p.流程标题, `、`p.流程描述, `、`p.优先级, `、`p.状态, `、`p.发起人姓名, `、`p.当前节点, `、`p.当前步骤, `。 关键过滤/匹配条件:`WHERE p.流程ID = @流程ID``WHEN 步骤序号 < (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '已完成'``WHEN 步骤序号 = (SELECT 当前步骤 FROM 流程表 WHERE 流程ID = @流程ID) THEN '进行中'``WHERE 流程ID = @流程ID``WHERE ar.流程ID = @流程ID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 步骤序号``ORDER BY ar.处理时间 DESC`。
- `生产管理_加工中心_生产发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE`。 入参/分页参数:`@生产订单号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `生产管理_加工中心_退库` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@生产订单号 bigint,`、`@编码 nvarchar(500),`、`@名称 nvarchar(500),`、`@数量 float,`、`@单位 nvarchar(50),`、`@批次信息 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`@行号 = max(isnull(行号, 0))`。 关键过滤/匹配条件:`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`。 关键写入/状态处理语句线索:`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`。
## 33. src/views/ProductionManagement/OutsourceMange/index.vue
**页面位置**`src/views/ProductionManagement/OutsourceMange/index.vue`
**所属模块**ProductionManagement / OutsourceMange
**源码行数**1509
### 页面功能
该页面管理外协任务。用户查询可外协工序,按供应商/订单/工序分组,执行外协派工并同步 SAP 采购请求或相关单据,维护外协发料、收料、质检记录、打印次数和备注。
页面可见的操作/字段包括 “查询 派工并同步SAP”、“打印”、“发料”、“收货”、“编辑”、“历史记录”、“查看图纸”、“工艺图纸”、“取 消”、“确 定”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸`、`工艺管理_工艺维护_查看图纸` 等过程 取数或提交业务动作。
### 页面流程图
外协业务流程:
```mermaid
flowchart LR
A[输入订单/合同/供应商/工序条件] --> B[查询外协任务或外协报表]
B --> C[选择外协工序/供应商]
C --> D[计划排产_派工 或外协分组]
D --> E[POST SAP 采购/外协相关请求]
E --> F[外协发料查询/保存]
F --> G[外协收料/质检记录]
G --> H[更新打印次数/备注/报表状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询 派工并同步SAP`、`打印`、`发料`、`收货`、`编辑`、`历史记录`、`查看图纸`、`工艺图纸`、`取 消`、`确 定`、`关 闭`、`关闭`、`item.label`、`序号`、`生产订单`、`计划号`、`工序名称`、`物料名称`
主要方法线索:`print`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `minTaskAID` | `@minTaskAID` | - |
| 参数 | `maxTaskAID` | `@TaskAID` | `TaskAID` |
| 参数 | `this.textcontent` | `@外协备注` | - |
| 参数 | `this.textweight` | `@单重` | - |
| 参数 | `this.textsum` | `@打印数量` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.itemName` | `@产品名称` | - |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.workstate` | `@派工状态` | - |
| 参数 | `this.orderstate` | `@订单状态` | - |
| 参数 | `this.dostate` | `@执行状态` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `maxTaskAID` | `@maxTaskAID` | - |
| 参数 | `this.$store.state.user.name` | `@optor` | - |
| 参数 | `this.receiveNum` | `@recievCount` | - |
| 参数 | `row.单重` | `@单重` | - |
| 参数 | `row.外协备注` | `@备注` | - |
| 参数 | `this.doNum` | `@recievCount` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `生产订单` | - | `订单号` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `物料名称` | - | `产品名称` |
| 显示列 | `同步状态` | - | `同步状态` |
| 显示列 | `上序合格数` | - | `上序合格数` |
| 显示列 | `指派数量` | - | `v.[指派数量], ` |
| 显示列 | `打印数量` | - | `打印数量` |
| 显示列 | `发料数量` | - | `v.[收料数量], ` |
| 显示列 | `收货数量` | - | `v.[完成数量], ` |
| 显示列 | `备注` | - | `外协备注` |
| 显示列 | `单重` | - | `单重` |
| 显示列 | `物料编码` | - | `产品编码` |
| 显示列 | `打印次数` | - | `外协打印次数` |
| 显示列 | `计划开始时间` | - | `计划开始时间` |
| 显示列 | `计划完成时间` | - | `计划完成时间` |
| 显示列 | `操作` | - | `操作描述, ` |
| 显示列 | `备注` | - | `操作描述, ` |
| 显示列 | `时间` | - | `最后编辑时间, ` |
| 显示列 | `数量` | - | `操作数值, ` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 641 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协历史查询` | 查询/读取数据 | 查询、处理外协业务 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
| 956 | 12当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1011 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_更新打印次数` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1033 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_更新备注` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1065 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 1084 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 1111 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_查询外协全部` | 查询/读取数据 | 查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单全部包括已关闭` |
| 1347 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 1374 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 1416 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料保存` | 更新/保存业务数据 | 查询、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` |
| 1451 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协收料保存` | 更新/保存业务数据 | 更新、处理报工/工时、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 966 行:`postB1("/PurchaseRequests")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 966 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` |
### 状态流转说明
- `生产管理_外协管理_外协历史查询``FROM [dbo].[YL_加工中心_操作记录表]`
- `计划排产_派工``CREATE PROCEDURE [dbo].[计划排产_派工]``@派工操作人 NVARCHAR(50)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``[派工状态] = 1``, [派工时间] = getdate()``, [派工操作人] = @派工操作人``'成功' AS 状态, `
- `生产管理_外协管理_更新打印次数``UPDATE [dbo].[MES_接口_生产计划_生产任务]``'成功' AS 状态, ``'错误' AS 状态, `
- `生产管理_外协管理_更新备注``UPDATE [dbo].[MES_接口_生产计划_生产任务]``'成功' AS 状态, ``'错误' AS 状态, `
- `生产管理_外协管理_查询外协全部``@派工状态 int = 1, ``@订单状态 int = 0, ``@发料状态 int = 2``完成数量 nvarchar(50), ``计划完成 datetime, ``加急状态 nvarchar(50), ``排产状态 nvarchar(20), ``计划完成时间 datetime, `
- `生产管理_外协管理_外协发料查询``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `生产管理_外协管理_外协发料查询``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `生产管理_外协管理_外协发料保存``declare @任务状态 int``select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID``if(@任务状态 < = 1 )``Update MES_接口_生产计划_生产任务``set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, ``if(@任务状态 > 1 )`
- `生产管理_外协管理_外协收料保存``declare @任务状态 int``Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, `
### 数据库调用链
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协历史查询` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_更新打印次数` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_更新备注` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_查询外协全部` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单全部包括已关闭` -> 查询/读取数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协发料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProductionManagement/OutsourceMange/index.vue` -> `生产管理_外协管理_外协收料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `生产管理_外协管理_外协历史查询` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`操作描述, `、`最后编辑时间, `、`操作数值, `、`TaskAID`。 关键过滤/匹配条件:`WHERE [TaskAID] = @TaskAID and 操作类别 = '收料'`。
- `计划排产_派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET`。 实现特征:事务控制、临时表 `#TempOrders`。
- `生产管理_外协管理_更新打印次数` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 外协打印次数 = ISNULL(外协打印次数, 0) + 1`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。
- `生产管理_外协管理_更新备注` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@外协备注 NVARCHAR(MAX)`、`@单重 NVARCHAR(50)`、`@打印数量 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 外协备注 = @外协备注, 单重 = @单重, 打印数量 = @打印数量`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `生产管理_外协管理_查询外协全部` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单全部包括已关闭`。 入参/分页参数:`@订单号 int`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@派工状态 int`、`@订单状态 int`、`@计划号 nvarchar(50)`、`@发料状态 int`。 主要返回字段线索:`v.[订单编号], `、`v.[订单行号], `、`v.[物料编号], `、`v.[物料描述], `、`v.[完成数量], `、`v.[指派数量], `、`v.[外协分组], `、`v.[不合格数量], `、`v.[收料数量], `、`v.[合同号], `。 关键过滤/匹配条件:`WHERE v.[物料类型] = 'pit_Resource'``AND v.[指派对象] = '外协'``AND (@订单号 = 0 OR v.[订单编号] = @订单号)``AND (@计划号 = '' OR v.[计划号] LIKE '%' + @计划号 + '%')``AND (@产品编码 = '' OR v.[物料编号] LIKE '%' + @产品编码 + '%')``AND (@产品名称 = '' OR v.[物料描述] LIKE '%' + @产品名称 + '%')``AND (@工序名称 = '' OR v.[工序名称] LIKE '%' + @工序名称 + '%')``WHERE prev.订单编号 = bd.订单编号``AND prev.订单行号 = bd.订单行号 - 1``AND ISNULL(prev.外协分组, '') = ISNULL(bd.外协分组, '')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #BaseData (`。 排序/分组/分页线索:`ORDER BY ga.订单行号``GROUP BY 订单编号, 外协分组, 组ID``ORDER BY bd.订单编号, bd.订单行号`。 实现特征:临时表 `#BaseData`。
- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = @上序订单行号 - 1``AND qc.检测类型编号 = '6'``WHERE qc.TaskAID = @minTaskAID``WHERE [TaskAID] = @maxTaskAID`。
- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = @上序订单行号 - 1``AND qc.检测类型编号 = '6'``WHERE qc.TaskAID = @minTaskAID``WHERE [TaskAID] = @maxTaskAID`。
- `生产管理_外协管理_外协发料保存` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50),`、`@单重 nvarchar(50)`、`@备注 nvarchar(50)`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID``where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, ``set 收料 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `。
- `生产管理_外协管理_外协收料保存` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, `。
## 34. src/views/ProductionManagement/OutsourceSheet/index.vue
**页面位置**`src/views/ProductionManagement/OutsourceSheet/index.vue`
**所属模块**ProductionManagement / OutsourceSheet
**源码行数**496
### 页面功能
该页面输出外协报表。用户按订单、合同、产品、计划号、供应商、状态分页查询外协报表,也可导出,用于外协进度、发料、收料、质检、开票等跟踪。
页面可见的操作/字段包括 “查询”、“Excel导出”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“收料小于发料”、“供应商”、“订单号”这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_外协报表_导出`、`生产管理_外协报表_查询` 取数或提交业务动作。
### 页面流程图
外协业务流程:
```mermaid
flowchart LR
A[输入订单/合同/供应商/工序条件] --> B[查询外协任务或外协报表]
B --> C[选择外协工序/供应商]
C --> D[计划排产_派工 或外协分组]
D --> E[POST SAP 采购/外协相关请求]
E --> F[外协发料查询/保存]
F --> G[外协收料/质检记录]
G --> H[更新打印次数/备注/报表状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`Excel导出`、`全部`、`收检`、`终检`、`来料检验`、`退库检验`、`收料小于发料`、`供应商`、`订单号`、`计划号`、`合同号`、`零件编码`、`零件名称`、`工序名称`、`材质`、`数量`、`单价`
主要方法线索:`tableRowClassName`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo` | `@订单号` | `订单号, ` |
| 参数 | `this.productCode` | `@产品编码` | `MAX(产品编码) AS 产品编码, ` |
| 参数 | `this.productName` | `@产品名称` | `MAX(产品名称) AS 产品名称, ` |
| 参数 | `this.supplierName` | `@供应商` | `MAX(供应商名称) AS 供应商名称, ` |
| 参数 | `this.statusFilter ? 1 : 0` | `@状态过滤` | - |
| 参数 | `orderId` | `@订单编号` | - |
| 显示列 | `供应商` | - | `MAX(供应商名称) AS 供应商名称, ` |
| 显示列 | `订单号` | - | `订单号, ` |
| 显示列 | `计划号` | - | `MAX(计划号) AS 计划号, ` |
| 显示列 | `合同号` | - | `MAX(合同号) AS 合同号, ` |
| 显示列 | `零件编码` | - | `MAX(产品编码) AS 产品编码, ` |
| 显示列 | `零件名称` | - | `MAX(产品名称) AS 产品名称, ` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `材质` | - | `材质` |
| 显示列 | `数量` | - | `MAX(指派数量) AS 指派数量, ` |
| 显示列 | `单价` | - | `MAX(含税单价) AS 含税单价, ` |
| 显示列 | `金额` | - | `MAX(含税行总计) AS 含税行总计, ` |
| 显示列 | `发料日期` | - | `开始时间` |
| 显示列 | `要求到货日期` | - | `计划完成时间` |
| 显示列 | `外协预计到货` | - | `外协预计到货` |
| 显示列 | `收货日期` | - | `外协结束时间` |
| 显示列 | `收货数量` | - | `收料数量` |
| 显示列 | `合格数量` | - | `收检合格数` |
| 显示列 | `报废数量` | - | `收检不合格数` |
| 显示列 | `开票状态` | - | `开票数量` |
| 显示列 | `发料数量` | - | `发料数量合计` |
| 显示列 | `收料数量` | - | `收料数量_报工` |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `contractNo` | - | - |
| 输入字段 | `productCode` | `@产品编码` | - |
| 输入字段 | `productName` | `@产品名称` | - |
| 输入字段 | `QualityStatus` | - | - |
| 输入字段 | `supplierName` | `@供应商` | - |
| 输入字段 | `statusFilter` | `@状态过滤` | - |
| 输入字段 | `activeTab` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 176 | 2001导出/报表类过程) | `生产管理_外协报表_导出` | 外协业务处理 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 未在 SQL 中解析到明确依赖 |
| 252 | 11当前通用存储过程查询/执行) | `生产管理_外协报表_查询` | 查询/读取数据 | 查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `生产管理_外协报表_导出``@状态过滤 int = 0``MAX(完成数量) AS 完成数量, ``MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, ``(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)``CASE WHEN 开票数量 > 0 THEN '是' ELSE '否' END AS 开票状态, ``执行状态, ``CASE WHEN 执行状态 = 1 THEN '可执行' ELSE '不可执行' END AS 执行状态文本, ``完成数量, `
- `生产管理_外协报表_查询``@状态过滤 int = 0, ``MIN(计划完成时间) AS 计划完成时间, ``MAX(完成数量) AS 完成数量, ``MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, ``(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)``计划完成时间, ``执行状态, ``CASE WHEN 执行状态 = 1 THEN '可执行' ELSE '不可执行' END AS 执行状态文本, `
### 数据库调用链
- `src/views/ProductionManagement/OutsourceSheet/index.vue` -> `生产管理_外协报表_导出` -> 未在 SQL 中解析到明确依赖 -> 外协业务处理
- `src/views/ProductionManagement/OutsourceSheet/index.vue` -> `生产管理_外协报表_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
### 存储过程处理逻辑明细
- `生产管理_外协报表_导出` 属于 外协协同,前端以 type=2001导出/报表类过程)调用,页面用途是 外协业务处理。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@订单号 int`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@供应商 nvarchar(100)`、`@状态过滤 int`。 主要返回字段线索:`订单号, `、`拆分内码, `、`MAX(计划号) AS 计划号, `、`MAX(合同号) AS 合同号, `、`MAX(产品编码) AS 产品编码, `、`MAX(产品名称) AS 产品名称, `、`MAX(供应商名称) AS 供应商名称, `、`MAX(指派数量) AS 指派数量, `、`MAX(含税单价) AS 含税单价, `、`MAX(含税行总计) AS 含税行总计, `。 关键过滤/匹配条件:`MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, ``WHERE d2.订单号 = d.订单号 AND d2.拆分内码 = d.拆分内码``WHERE 1 = 1``AND (@订单号 = 0 OR d.订单号 = @订单号)``AND (@产品编码 = '' OR d.产品编码 LIKE '%' + @产品编码 + '%')``AND (@产品名称 = '' OR d.产品名称 LIKE '%' + @产品名称 + '%')``(@供应商 = '' OR MAX(CASE WHEN 供应商名称 LIKE '%' + @供应商 + '%' THEN 1 ELSE 0 END) = 1)``AND``(@状态过滤 = 0 OR MAX(CASE WHEN ISNULL(收料数量_报工, 0) < ISNULL(发料数量合计, 0) THEN 1 ELSE 0 END) = 1)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON`。 排序/分组/分页线索:`ORDER BY d2.订单行号``GROUP BY 订单号, 拆分内码``HAVING``ORDER BY 订单号`。 实现特征:临时表 `#MergedResult`。
- `生产管理_外协报表_查询` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、分页、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@订单号 int`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@计划号 nvarchar(50)`、`@供应商 nvarchar(100)`、`@状态过滤 int`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 主要返回字段线索:`订单号, `、`拆分内码, `、`MAX(计划号) AS 计划号, `、`MAX(合同号) AS 合同号, `、`MAX(产品编码) AS 产品编码, `、`MAX(产品名称) AS 产品名称, `、`MAX(供应商名称) AS 供应商名称, `、`MAX(指派数量) AS 指派数量, `、`MAX(含税单价) AS 含税单价, `、`MAX(含税行总计) AS 含税行总计, `。 关键过滤/匹配条件:`MAX(CASE WHEN 订单行号 = 1 OR ISNULL(收检合格数, 0) > 0 THEN 1 ELSE 0 END) AS 执行状态, ``WHERE d2.订单号 = d.订单号 AND d2.拆分内码 = d.拆分内码``WHERE 1 = 1``and isnull(供应商名称, '') ''``AND (@订单号 = 0 OR d.订单号 = @订单号)``AND (@计划号 = '' OR d.计划号 = @计划号)``AND (@合同号 = '' OR d.合同号 LIKE '%' + @合同号 + '%')``AND (@产品编码 = '' OR d.产品编码 LIKE '%' + @产品编码 + '%')``AND (@产品名称 = '' OR d.产品名称 LIKE '%' + @产品名称 + '%')``AND (@供应商 = '' OR d.供应商名称 LIKE '%' + @供应商 + '%')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON``SET @PageCount = 0``SET @PageCount = CEILING(CAST(@ItemCount AS FLOAT) / @PageSize)`。 排序/分组/分页线索:`ORDER BY d2.订单行号``ROW_NUMBER() OVER (ORDER BY 订单号) AS RowNum``GROUP BY 订单号, 拆分内码, 供应商名称``HAVING``ORDER BY 订单号, 供应商名称`。 实现特征:分页、临时表 `#MergedResult`。
## 35. src/views/ProductionManagement/PersonnelBinding/index.vue
**页面位置**`src/views/ProductionManagement/PersonnelBinding/index.vue`
**所属模块**ProductionManagement / PersonnelBinding
**源码行数**235
### 页面功能
该页面维护工位与人员绑定关系。用于限制或提示哪些人员可在指定工位报工、开工或执行任务。
页面可见的操作/字段包括 “查询”、“绑定人员”、“确 定”、“取 消”、“序号”、“工位名称”、“工位号”、“操作”、“请输入工位名称”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`系统管理_人员管理_所有有效人员查询`、`系统管理_工位管理_工位绑定人员查询`、`系统管理_工位管理_工位绑定人员保存` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `系统管理_人员管理_所有有效人员查询` -> `系统管理_工位管理_工位绑定人员查询` -> `系统管理_工位管理_工位绑定人员保存` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`绑定人员`、`确 定`、`取 消`、`序号`、`工位名称`、`工位号`、`操作`、`请输入工位名称`
主要方法线索:`searchData`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工位名称` | - | `[Name] as 工位名称` |
| 显示列 | `工位号` | - | `[VisCode] as 工位号` |
| 显示列 | `绑定人员` | - | `绑定人员` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `searchWorkstationName` | - | - |
| 输入字段 | `selectedPersonnel` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 108 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 122 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 143 | 11当前通用存储过程查询/执行) | `系统管理_工位管理_工位绑定人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 183 | 11当前通用存储过程查询/执行) | `系统管理_工位管理_工位绑定人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 204 | 11当前通用存储过程查询/执行) | `系统管理_工位管理_工位绑定人员保存` | 更新/保存业务数据 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `系统管理_工位管理_工位绑定人员查询``AND wb.绑定状态 = 1`
- `系统管理_工位管理_工位绑定人员查询``AND wb.绑定状态 = 1`
- `系统管理_工位管理_工位绑定人员保存``SET 绑定状态 = 0``WHERE 工位号 = @工位号 AND 绑定状态 = 1;``INSERT INTO 工位人员绑定表 (工位号, 人员编号, 绑定时间, 绑定人, 绑定状态)`
### 数据库调用链
- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_工位管理_工位绑定人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_工位管理_工位绑定人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/PersonnelBinding/index.vue` -> `系统管理_工位管理_工位绑定人员保存` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `系统管理_工位管理_工位绑定人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 入参/分页参数:`@工位号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`wb.绑定时间`。 关键过滤/匹配条件:`WHERE wb.工位号 = @工位号``AND wb.绑定状态 = 1``AND p.Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name;`。
- `系统管理_工位管理_工位绑定人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 入参/分页参数:`@工位号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`wb.绑定时间`。 关键过滤/匹配条件:`WHERE wb.工位号 = @工位号``AND wb.绑定状态 = 1``AND p.Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name;`。
- `系统管理_工位管理_工位绑定人员保存` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`工位人员绑定表`。 入参/分页参数:`@工位号 NVARCHAR(50),`、`@人员编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`CAST(value AS INT)`。 关键过滤/匹配条件:`WHERE 工位号 = @工位号 AND 绑定状态 = 1;``IF @人员编号列表 IS NOT NULL AND LEN(LTRIM(RTRIM(@人员编号列表))) > 0``WHERE LTRIM(RTRIM(value)) ! = '';`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE 工位人员绑定表``SET 绑定状态 = 0``INSERT INTO #临时人员表 (人员编号)``INSERT INTO 工位人员绑定表 (工位号, 人员编号, 绑定时间, 绑定人, 绑定状态)`。 实现特征:事务控制、异常捕获、临时表 `#临时人员表`。
## 36. src/views/ProductionManagement/PickingTask/index.vue
**页面位置**`src/views/ProductionManagement/PickingTask/index.vue`
**所属模块**ProductionManagement / PickingTask
**源码行数**438
### 页面功能
该页面处理拣配任务。用户查询生产订单相关拣配/领料任务,并可能联动 SAP 生产订单或库存出入库状态。
页面可见的操作/字段包括 “查询”、“转至 完成 --> 生产订单 加急数量 物料编号 关闭”、“装配”、“机加”、“全部”、“一楼”、“二楼”、“仓库”、“已完成”、“未完成”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_拣配任务_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `生产管理_拣配任务_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`转至 完成 --> 生产订单 加急数量 物料编号 关闭`、`装配`、`机加`、`全部`、`一楼`、`二楼`、`仓库`、`已完成`、`未完成`、`序号`、`项目`、`计划号`、`生产订单号`、`物料名称`、`产成品物料编号`、`计划生产数`、`加急数量`
主要方法线索:`tableRowClassName`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.零件编码` | `@物料编号` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.positionstate` | `@位置` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `项目` | - | `项目` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `生产订单号` | - | `生产订单号` |
| 显示列 | `物料名称` | - | `物料名称` |
| 显示列 | `产成品物料编号` | - | `产成品物料编号` |
| 显示列 | `计划生产数` | - | `计划生产数` |
| 显示列 | `加急数量` | - | `加急数量` |
| 显示列 | `计划数量` | - | `计划数量` |
| 显示列 | `拣配日期` | - | `拣配日期` |
| 显示列 | `预计齐套时间` | - | `预计齐套时间` |
| 显示列 | `检验操作人` | - | `检测人` |
| 显示列 | `检验时间` | - | `检测时间` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `contractNo` | `@合同号` | - |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `partNo` | `@零件编号` | - |
| 输入字段 | `attribute` | - | - |
| 输入字段 | `positionstate` | `@位置` | - |
| 输入字段 | `finishstate` | - | - |
| 输入字段 | `item.订单编号` | - | - |
| 输入字段 | `item.加急数量` | - | - |
| 输入字段 | `item.物料编号` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 326 | 11当前通用存储过程查询/执行) | `生产管理_拣配任务_查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 生产管理_拣配任务_查询: SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `生产管理_拣配任务_查询``CREATE PROCEDURE [dbo].[生产管理_拣配任务_查询]``SET @selectStr = N' select top 50 * from SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE '`
### 数据库调用链
- `src/views/ProductionManagement/PickingTask/index.vue` -> `生产管理_拣配任务_查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE` -> 查询/读取数据
### 存储过程处理逻辑明细
- `生产管理_拣配任务_查询` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@位置 NVARCHAR(100)`。 主要返回字段线索:`top 50 *`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE 1 = 1 '``SET @selectStrWhere = @selectStrWhere + ' AND 项目 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND 生产订单号 = '+@订单号+''``SET @selectStrWhere = @selectStrWhere + ' AND 产成品物料编号 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''一楼拣配'''``SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼拣配'''``SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼主子机加'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @selectStrWhere = @selectStrWhere + ' AND 项目 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND 生产订单号 = '+@订单号+''``SET @selectStrWhere = @selectStrWhere + ' AND 产成品物料编号 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''一楼拣配'''``SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼拣配'''``SET @selectStrWhere = @selectStrWhere + ' AND 位置 = ''二楼主子机加'''``SET @selectStr = N' select top 50 * from SAP.SBO_YL.dbo.UBT_MES_TASK_MERGE '``set @selectStr = @selectStr + @selectStrWhere`。 实现特征:读取 SAP 数据库对象。
## 37. src/views/ProductionManagement/ProductionPlanTrack/index.vue
**页面位置**`src/views/ProductionManagement/ProductionPlanTrack/index.vue`
**所属模块**ProductionManagement / ProductionPlanTrack
**源码行数**682
### 页面功能
该页面跟踪生产计划执行。用户查看计划任务的开工、完工、进度、延期或异常情况,用于计划员追踪订单。
页面可见的操作/字段包括 “查询”、“关闭”、“全部”、“机加”、“装配”、“是”、“否”、“加急”、“正常”、“序号”,这些是判断页面业务范围的主要线索。
后端主要围绕 `加急订单_加急明细查询`、`生产管理_生产计划跟踪`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `加急订单_加急明细查询` -> `生产管理_生产计划跟踪` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`关闭`、`全部`、`机加`、`装配`、`是`、`否`、`加急`、`正常`、`序号`、`工序名称`、`计划数量`、`指派对象`、`外协`、`计划开始时间`、`计划结束时间`、`实际开始时间`、`实际结束时间`
主要方法线索:`Urgent`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.产品编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `this.orderNo ` | `@订单号` | - |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.productName` | `@产品名称` | - |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `this.selfStatus` | `@自制件属性` | `自制件属性, ` |
| 参数 | `'全部'` | `@指派对象` | - |
| 参数 | `this.plannum` | `@计划号` | `v.计划号, ` |
| 参数 | `this.urgentStatus` | `@加急状态` | - |
| 参数 | `this.outsourceStatus === '是' ? 1 : 0` | `@是否外协` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | - |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `计划数量` | - | `计划数量` |
| 显示列 | `指派对象` | - | `指派对象` |
| 显示列 | `外协` | - | `外协` |
| 显示列 | `计划开始时间` | - | `计划开始时间` |
| 显示列 | `计划结束时间` | - | `计划完成时间` |
| 显示列 | `实际开始时间` | - | `开始时间` |
| 显示列 | `实际结束时间` | - | `实际结束时间` |
| 显示列 | `完成进度` | - | `进度` |
| 显示列 | `完成数量` | - | `完成数量` |
| 显示列 | `外协发料数量` | - | `收料数量` |
| 显示列 | `合格数` | - | `收检合格数` |
| 显示列 | `不良数` | - | `收检不合格数` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 259 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 487 | 11当前通用存储过程查询/执行) | `生产管理_生产计划跟踪` | 计划排产或派工 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`、`View_生产订单全部包括已关闭` |
| 521 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 580 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `生产管理_生产计划跟踪``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``@加急状态 nvarchar(50) = ''``拣配状态, ``when isnull(任务状态, 0) = 4 then ''已完成''``when isnull(任务状态, 0) = 2 then ''已开工''``when isnull(任务状态, 0) = 0 then ''待执行''`
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
### 数据库调用链
- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `生产管理_生产计划跟踪` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`、`View_生产订单全部包括已关闭` -> 计划排产或派工
- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/ProductionPlanTrack/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
### 存储过程处理逻辑明细
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `生产管理_生产计划跟踪` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`、`View_生产订单全部包括已关闭`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@自制件属性 nvarchar(50)`、`@计划号 nvarchar(50)`、`@加急状态 nvarchar(50)`。 主要返回字段线索:`top 200`、`v.计划号, `、`加急总数, `、`拣配状态, `、`自制件属性, `、`入库数量, `、`case`、`when isnull(任务状态, 0) = 4 then ''已完成''`、`when isnull(任务状态, 0) = 2 then ''已开工''`、`when isnull(任务状态, 0) = 0 then ''待执行''`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' '``WHERE d2.订单编号 = v.订单编号 order by d2.订单行号``WHERE 质检类型 = ''终检''``WHERE 质检类型 = ''收检''``SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''``SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''`。 关键写入/状态处理语句线索:`SET @selectStr = N'``SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''``SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] > = ''' + @要求完工日期1 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] < = ''' + @要求完工日期2 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] > = ''' + @计划开始1 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] < = ''' + @计划开始2 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] > = ''' + @计划完成1 + ''''`。 排序/分组/分页线索:`WHERE d2.订单编号 = v.订单编号 order by d2.订单行号``GROUP BY TaskAID``SET @selectStrWhere = @selectStrWhere + ' ORDER BY [计划完成] ASC, [订单编号] ASC'`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
## 38. src/views/ProductionManagement/ProductionTaskManage/index.vue
**页面位置**`src/views/ProductionManagement/ProductionTaskManage/index.vue`
**所属模块**ProductionManagement / ProductionTaskManage
**源码行数**735
### 页面功能
该页面管理生产任务。用户按工位、订单、工序查询任务,查看工时汇总,执行派工、修改计划字段、维护任务说明和通知状态。
页面可见的操作/字段包括 “查询”、“表单”、“日程”、“派工调整”、“外协通知”、“已发起”、“编辑”、“取 消”、“确 定”、“item.指南工位号”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`MES_OrderPlanned_SingleTaskPlanned`、`MES_ProductTask_WorkTimeSum`、`MES_ProductAdmin_Query`、`Prog_MES_LoadStations`、`Prog_MES_SingleTaskPlanned` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_OrderPlanned_SingleTaskPlanned` -> `MES_ProductTask_WorkTimeSum` -> `MES_ProductAdmin_Query` -> `Prog_MES_LoadStations` -> `Prog_MES_SingleTaskPlanned` -> `MES_OrderPlanned_DescriptionEdit` -> `MES_ProductTask_Notice` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`表单`、`日程`、`派工调整`、`外协通知`、`已发起`、`编辑`、`取 消`、`确 定`、`item.指南工位号`、`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`性质`
主要方法线索:`getDoing`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.订单号` | `@订单号` | - |
| 参数 | `row.订单行号` | `@订单行号` | - |
| 参数 | `row.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.$refs.formData.model.指派对象编号` | `@指派对象编号` | - |
| 参数 | `this.$refs.formData.model.指派对象` | `@指派对象` | - |
| 参数 | `this.$refs.formData.model.指派数量` | `@指派数量` | - |
| 参数 | `this.$refs.formData.model.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$refs.formData.model.计划开始时间` | `@计划开始时间` | - |
| 参数 | `this.$refs.formData.model.计划完成时间` | `@计划完成时间` | - |
| 参数 | `this.$refs.formData.model.最晚开始时间` | `@最晚开始时间` | - |
| 参数 | `this.$store.state.user.name` | `@派工操作人` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `this.orderNo ` | `@订单号` | - |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 参数 | `this.Doing.toString()` | `@工位` | - |
| 参数 | `this.selectedRow.订单号` | `@订单号` | - |
| 参数 | `this.selectedRow.订单行号` | `@订单行号` | - |
| 参数 | `this.selectedRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.taskForm.指派对象编号` | `@指派对象编号` | - |
| 参数 | `this.taskForm.指派对象` | `@指派对象` | - |
| 参数 | `this.taskForm.指派数量` | `@指派数量` | - |
| 参数 | `this.taskForm.派工特殊说明 ` | `@派工特殊说明` | - |
| 参数 | `this.taskForm.计划开始时间 ` | `@计划开始时间` | - |
| 参数 | `this.taskForm.计划完成时间 ` | `@计划完成时间` | - |
| 参数 | `this.taskForm.最晚开始时间 ` | `@最晚开始时间` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | - |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 366 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 406 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_SingleTaskPlanned` | 计划排产或派工 | 查询、新增、更新、删除、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 427 | 11当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 459 | 11当前通用存储过程查询/执行) | `MES_ProductAdmin_Query` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 476 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 519 | 12当前通用存储过程写入/业务动作) | `Prog_MES_SingleTaskPlanned` | 计划排产或派工 | 未找到过程体 | 未知 |
| 554 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 575 | 12当前通用存储过程写入/业务动作) | `MES_ProductTask_Notice` | 业务存储过程调用 | 更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 656 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_OrderPlanned_SingleTaskPlanned``@派工特殊说明 nvarchar(500) = '', ``@计划完成时间 nvarchar(50) = '', ``@派工操作人 nvarchar(50) = ''``select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``INSERT INTO [MES_接口_生产计划_生产任务]`
- `MES_ProductTask_WorkTimeSum``select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`
- `MES_ProductAdmin_Query``@排产状态 nvarchar(50) = '全部', ``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]``, [优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], '''' as 合同交货期, [计划完成] as 预计齐套时间, ''齐'' as 是否齐套, '''' as 齐套检测, ''是'' as 齐套锁料, [计划开始] as 备料日期, 0 as 加急``, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], TaskAID``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `MES_ProductTask_Notice``UPDATE [MES_接口_生产计划_生产任务] set [外协通知] = @外协通知 where [AID] = @TaskAID`
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
### 数据库调用链
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_OrderPlanned_SingleTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_ProductAdmin_Query` -> 视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `Prog_MES_SingleTaskPlanned` -> 过程体未解析 -> 计划排产或派工
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_ProductTask_Notice` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 业务存储过程调用
- `src/views/ProductionManagement/ProductionTaskManage/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_OrderPlanned_SingleTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、删除、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`、`@指派对象编号 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@指派数量 int`、`@派工特殊说明 nvarchar(500)`、`@计划开始时间 nvarchar(50)`、`@计划完成时间 nvarchar(50)`、`@最晚开始时间 nvarchar(50)`、`@派工操作人 nvarchar(50)`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``if(select count(1) from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0)>0``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``select @拆分内码_New = max([订单拆分内码])+1 from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号``FROM [MES_接口_生产计划_生产任务] WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码``select @未指派数量_剩余 = 计划数量+@指派数量_Free from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``WHERE [订单编号] = @订单号 AND [订单行号] = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`set @指派数量_Free = @计划数量-@指派数量``Update [MES_接口_生产计划_生产任务] set [计划数量] = [计划数量]+@指派数量_Free WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and isnull(派工状态, 0) = 0``INSERT INTO [MES_接口_生产计划_生产任务]``set @ErrMsg = '指派数量大于剩余未分配数量,派工失败'``delete from [MES_接口_生产计划_生产任务] where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``update [MES_接口_生产计划_生产任务] set [计划数量] = @未指派数量_剩余 where 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码@订单拆分内码 and isnull(派工状态, 0) = 0``if(@最晚开始时间 = '') set @最晚开始时间 = NULL``if(@计划开始时间 = '') set @计划开始时间 = NULL``if(@计划完成时间 = '') set @计划完成时间 = NULL``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET [指派对象编号] = @指派对象编号`。
- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。
- `MES_ProductAdmin_Query` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'''``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'``else if(@排产状态 = '已完成')set @selectStrWhere = @selectStrWhere + ' and [排产状态] = 1'``if(@物料类型 = '自制件') set @selectStrWhere = @selectStrWhere + ' and [不装配] ''否'''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `Prog_MES_SingleTaskPlanned` 属于 通用业务,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `MES_ProductTask_Notice` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID BIGINT,`、`@外协通知 int`。 关键过滤/匹配条件:`UPDATE [MES_接口_生产计划_生产任务] set [外协通知] = @外协通知 where [AID] = @TaskAID`。 关键写入/状态处理语句线索:`UPDATE [MES_接口_生产计划_生产任务] set [外协通知] = @外协通知 where [AID] = @TaskAID`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
## 39. src/views/ProductionManagement/ProductionTasksSum/index.vue
**页面位置**`src/views/ProductionManagement/ProductionTasksSum/index.vue`
**所属模块**ProductionManagement / ProductionTasksSum
**源码行数**533
### 页面功能
该页面做生产任务汇总。用户按订单、工序、工位、时间等维度查询生产任务和工时汇总,并可编辑计划说明或派工信息。
页面可见的操作/字段包括 “查询”、“编辑”、“取 消”、“确 定”、“item.指南工位号”、“表单”、“序号”、“销售订单”、“生产订单”、“零件编码”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`MES_ProductTask_WorkTimeSum`、`生产管理_生产任务汇总`、`Prog_MES_LoadStations`、`MES_OrderPlanned_DescriptionEdit`、`MES_OrderPlanned_EditTaskPlanned` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `MES_ProductTask_WorkTimeSum` -> `生产管理_生产任务汇总` -> `Prog_MES_LoadStations` -> `MES_OrderPlanned_DescriptionEdit` -> `MES_OrderPlanned_EditTaskPlanned` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`编辑`、`取 消`、`确 定`、`item.指南工位号`、`表单`、`序号`、`销售订单`、`生产订单`、`零件编码`、`产品名称`、`计划数`、`工序名称`、`总工时`、`占用情况`、`计划开始时间`、`计划完成时间`、`最晚开始时间`
主要方法线索:`getDoing`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `this.orderNo ` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productCode` | `@产品编码` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.productName` | `@产品名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.processName` | `@工序名称` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.nature` | `@性质` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 参数 | `this.Doing.toString()` | `@工位` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - |
| 参数 | `editstr` | `@editstr` | - |
| 参数 | `taskInfo.订单号` | `@订单号` | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 参数 | `taskInfo.订单行号` | `@订单行号` | - |
| 参数 | `taskInfo.拆分内码` | `@订单拆分内码` | - |
| 参数 | `startTime` | `@计划开始时间` | - |
| 参数 | `endTime` | `@计划完成时间` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `生产订单` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `零件编码` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `产品名称` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `计划数` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `工序名称` | - | `TaskAID, 工序名称, sum(工时) as 总工时` |
| 显示列 | `总工时` | - | `TaskAID, 工序名称, sum(工时) as 总工时` |
| 显示列 | `占用情况` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `计划开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 显示列 | `计划完成时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 显示列 | `最晚开始时间` | - | `[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]` |
| 显示列 | `要求完工日期` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
| 显示列 | `收料` | - | `top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- FullCalendar
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 254 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 274 | 11当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 318 | 11当前通用存储过程查询/执行) | `生产管理_生产任务汇总` | 业务存储过程调用 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 336 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 373 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 453 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_EditTaskPlanned` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_ProductTask_WorkTimeSum``select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`
- `生产管理_生产任务汇总``CREATE PROCEDURE [dbo].[生产管理_生产任务汇总]``@排产状态 nvarchar(50) = '全部', ``declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and 加工状态 in (2, 4) '``SELECT top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]``, [排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]``, [优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], ``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''`
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
- `MES_OrderPlanned_EditTaskPlanned``declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '`
### 数据库调用链
- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `生产管理_生产任务汇总` -> 视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/ProductionTasksSum/index.vue` -> `MES_OrderPlanned_EditTaskPlanned` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。
- `生产管理_生产任务汇总` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@性质 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@工位 nvarchar(500)`。 主要返回字段线索:`top 100 isnull([不合格数量], 0) as 不合格数量, [收料数量], [合同号], [订单编号] as 订单号, [订单行号], [订单拆分内码] as 拆分内码, [物料编号] as 产品编码, [物料描述] as 产品名称, [计划数量], [计划完成] as 要求完工日期, [工序名称], [加急状态], 性质, 总工时, [占用情况]`、`[排产状态], [工序计划数量], 指派对象编号, 指派对象, 指派数量, 计划开始时间, 计划完成时间, 最晚开始时间, [派工状态], [外协通知]`、`[优先级], [未完成说明], [派工特殊说明], [最后编辑人], [最后编辑时间], `、`isnull([可执行], 0) as 可执行, isnull([收料], 0) as [收料], isnull([开工], 0) as [开工], isnull([首检], 0) as [首检], isnull([巡检], 0) as [巡检], `、`isnull([进度], 0) as [进度], isnull([序检], 0) as [序检], isnull([测试], 0) as [测试], isnull([入库], 0) as [入库], TaskAID`。 关键过滤/匹配条件:`declare @selectStrWhere nvarchar(4000) = ' where [物料类型] = ''pit_Resource'' and 加工状态 in (2, 4) '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'`。 关键写入/状态处理语句线索:`set @selectStr = '``if(@订单号>0)set @selectStrWhere = @selectStrWhere + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@合同号'')set @selectStrWhere = @selectStrWhere + ' and [合同号] like ''%'+@合同号+'%'''``if(@产品编码'')set @selectStrWhere = @selectStrWhere + ' and [物料编号] like ''%'+@产品编码+'%'''``if(@产品名称'')set @selectStrWhere = @selectStrWhere + ' and [物料描述] like ''%'+@产品名称+'%'''``if(@工序名称'')set @selectStrWhere = @selectStrWhere + ' and [工序名称] = '''+@工序名称+''''``if(@性质'')set @selectStrWhere = @selectStrWhere + ' and [性质] = '''+@性质+''''``if(@要求完工日期1 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] > = '''+@要求完工日期1+''''``if(@要求完工日期2 '')set @selectStrWhere = @selectStrWhere + ' and [计划完成] < = '''+@要求完工日期2+''''``if(@排产状态 = '未完成')set @selectStrWhere = @selectStrWhere + ' and isnull([排产状态], 0) = 0'``else if(@排产状态 = '已完成')set @selectStrWhere = @selectStrWhere + ' and [排产状态] = 1'``if(@物料类型 = '自制件') set @selectStrWhere = @selectStrWhere + ' and [不装配] ''否'''`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `MES_OrderPlanned_EditTaskPlanned` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@editstr nvarchar(50),`、`@订单号 int`、`@订单行号 int`、`@订单拆分内码 int`。 关键过滤/匹配条件:`declare @whereStr nvarchar(max) = ' where 1 = 1 '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)`。 关键写入/状态处理语句线索:`declare @updateStr nvarchar(max) = 'update [MES_接口_生产计划_生产任务] set '``if(@订单号>0)set @whereStr = @whereStr + ' and [订单编号] = '+Convert(VARCHAR(10), @订单号)``if(@订单行号>0)set @whereStr = @whereStr + ' and [订单行号] = '+Convert(VARCHAR(10), @订单行号)``if(@订单拆分内码>0)set @whereStr = @whereStr + ' and [订单拆分内码] = '+Convert(VARCHAR(10), @订单拆分内码)``if(@editstr'')set @updateStr = @updateStr + @editstr``set @selStr = @updateStr+@whereStr`。
## 40. src/views/ProductionManagement/SaleOutsourceMange/index.vue
**页面位置**`src/views/ProductionManagement/SaleOutsourceMange/index.vue`
**所属模块**ProductionManagement / SaleOutsourceMange
**源码行数**1630
### 页面功能
该页面管理外协任务。用户查询可外协工序,按供应商/订单/工序分组,执行外协派工并同步 SAP 采购请求或相关单据,维护外协发料、收料、质检记录、打印次数和备注。
页面可见的操作/字段包括 “查询 派工并同步SAP”、“打印”、“发料”、“收货”、“更新”、“编辑”、“历史记录”、“查看图纸”、“工艺图纸”、“收发记录”这些是判断页面业务范围的主要线索。
后端主要围绕 `计划排产_重置派工状态`、`生产管理_外协管理_外协历史查询`、`计划排产_派工`、`生产管理_外协管理_更新打印次数`、`生产管理_外协管理_更新备注`、`工艺管理_图纸维护_查看图纸` 等过程 取数或提交业务动作。
### 页面流程图
外协业务流程:
```mermaid
flowchart LR
A[输入订单/合同/供应商/工序条件] --> B[查询外协任务或外协报表]
B --> C[选择外协工序/供应商]
C --> D[计划排产_派工 或外协分组]
D --> E[POST SAP 采购/外协相关请求]
E --> F[外协发料查询/保存]
F --> G[外协收料/质检记录]
G --> H[更新打印次数/备注/报表状态]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询 派工并同步SAP`、`打印`、`发料`、`收货`、`更新`、`编辑`、`历史记录`、`查看图纸`、`工艺图纸`、`收发记录`、`质检记录`、`取 消`、`确 定`、`关 闭`、`关闭`、`item.label`、`序号`、`生产订单`
主要方法线索:`updatedata`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.TaskAID` | `@TaskAID` | - |
| 参数 | `minTaskAID` | `@minTaskAID` | - |
| 参数 | `maxTaskAID` | `@TaskAID` | - |
| 参数 | `this.textcontent` | `@外协备注` | - |
| 参数 | `this.textweight` | `@单重` | - |
| 参数 | `this.textsum` | `@打印数量` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.itemName` | `@产品名称` | - |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.workstate` | `@派工状态` | - |
| 参数 | `this.issuingstate` | `@发料状态` | - |
| 参数 | `this.orderstate` | `@订单状态` | - |
| 参数 | `this.dostate` | `@执行状态` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `maxTaskAID` | `@maxTaskAID` | - |
| 参数 | `this.$store.state.user.name` | `@optor` | - |
| 参数 | `this.receiveNum` | `@recievCount` | - |
| 参数 | `row.单重` | `@单重` | - |
| 参数 | `row.外协备注` | `@备注` | - |
| 参数 | `this.doNum` | `@recievCount` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `生产订单` | - | `订单号` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `物料名称` | - | `产品名称` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `物料编码` | - | `产品编码` |
| 显示列 | `计划开始时间` | - | `计划开始时间` |
| 显示列 | `计划完成时间` | - | `计划完成时间` |
| 显示列 | `同步状态` | - | `同步状态` |
| 显示列 | `上序合格数` | - | `上序合格数` |
| 显示列 | `指派数量` | - | `v.[指派数量], ` |
| 显示列 | `打印数量` | - | `打印数量` |
| 显示列 | `发料数量` | - | `v.[收料数量], ` |
| 显示列 | `收货数量` | - | `v.[完成数量], ` |
| 显示列 | `单重` | - | `单重` |
| 显示列 | `打印次数` | - | `外协打印次数` |
| 显示列 | `备注` | - | `外协备注` |
| 显示列 | `操作` | - | `操作描述, ` |
| 显示列 | `类型` | - | `操作类别` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 684 | 11当前通用存储过程查询/执行) | `计划排产_重置派工状态` | 计划排产或派工 | 更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 715 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协历史查询` | 查询/读取数据 | 查询、处理外协业务 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
| 1030 | 12当前通用存储过程写入/业务动作) | `计划排产_派工` | 计划排产或派工 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1086 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_更新打印次数` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1108 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_更新备注` | 更新/保存业务数据 | 查询、新增、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 1140 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 1159 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 1187 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_查询外协` | 查询/读取数据 | 查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 1419 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 1443 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_查询外协历史记录` | 查询/读取数据 | 查询、处理报工/工时、处理外协业务 | 表:`YL_加工中心_操作记录表` |
| 1468 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_查询质检记录` | 查询/读取数据 | 查询、处理质检数据、处理外协业务 | 表:`YL_质量检验_质检记录` |
| 1495 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 1537 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协发料保存` | 更新/保存业务数据 | 查询、更新、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` |
| 1572 | 11当前通用存储过程查询/执行) | `生产管理_外协管理_外协收料保存` | 更新/保存业务数据 | 更新、处理报工/工时、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1041 行:`postB1("/PurchaseRequests")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1041 | `postB1` | `/PurchaseRequests` | 调用外部接口,失败会影响对应外部系统同步。 | `ReqType`、`Requester`、`PriceMode`、`RequesterBranch`、`RequesterDepartment`、`DocDate`、`DocDueDate`、`TaxDate`、`RequriedDate`、`Comments`、`DocumentLines`、`ItemCode` |
### 状态流转说明
- `计划排产_重置派工状态``CREATE PROCEDURE [dbo].[计划排产_重置派工状态]``UPDATE [dbo].[MES_接口_生产计划_生产任务]``[派工状态] = 0, ``[派工时间] = GETDATE(), `
- `生产管理_外协管理_外协历史查询``FROM [dbo].[YL_加工中心_操作记录表]`
- `计划排产_派工``CREATE PROCEDURE [dbo].[计划排产_派工]``@派工操作人 NVARCHAR(50)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``[派工状态] = 1``, [派工时间] = getdate()``, [派工操作人] = @派工操作人``'成功' AS 状态, `
- `生产管理_外协管理_更新打印次数``UPDATE [dbo].[MES_接口_生产计划_生产任务]``'成功' AS 状态, ``'错误' AS 状态, `
- `生产管理_外协管理_更新备注``UPDATE [dbo].[MES_接口_生产计划_生产任务]``'成功' AS 状态, ``'错误' AS 状态, `
- `生产管理_外协管理_查询外协``@派工状态 int = 1, ``@订单状态 int = 0, ``@发料状态 int = 2``完成数量 nvarchar(50), ``计划完成 datetime, ``加急状态 nvarchar(50), ``排产状态 nvarchar(20), ``计划完成时间 datetime, `
- `生产管理_外协管理_外协发料查询``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `生产管理_外协管理_查询外协历史记录``select * from [dbo].[YL_加工中心_操作记录表] where 操作类别 in ('收料', '报工') and TaskAID = @maxTaskAID and isnull(操作数值, 0) 0`
- `生产管理_外协管理_查询质检记录``create PROCEDURE [dbo].[生产管理_外协管理_查询质检记录]``select * from [dbo].[YL_质量检验_质检记录] where TaskAID = @maxTaskAID`
- `生产管理_外协管理_外协发料查询``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `生产管理_外协管理_外协发料保存``declare @任务状态 int``select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID``if(@任务状态 < = 1 )``Update MES_接口_生产计划_生产任务``set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, ``if(@任务状态 > 1 )`
- `生产管理_外协管理_外协收料保存``declare @任务状态 int``Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, `
### 数据库调用链
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `计划排产_重置派工状态` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协历史查询` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `计划排产_派工` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 计划排产或派工
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_更新打印次数` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_更新备注` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_查询外协` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_查询外协历史记录` -> 表:`YL_加工中心_操作记录表` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_查询质检记录` -> 表:`YL_质量检验_质检记录` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协发料查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协发料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
- `src/views/ProductionManagement/SaleOutsourceMange/index.vue` -> `生产管理_外协管理_外协收料保存` -> 表:`MES_接口_生产计划` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `计划排产_重置派工状态` 属于 计划排产,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 计划排产或派工。 数据库处理摘要:更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID NVARCHAR(MAX)`。 关键过滤/匹配条件:`WHERE AID IN (' + @TaskAID + ')'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @Sql = '``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET`。
- `生产管理_外协管理_外协历史查询` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`操作描述, `、`最后编辑时间, `、`操作数值, `、`TaskAID`。 关键过滤/匹配条件:`WHERE [TaskAID] = @TaskAID and 操作类别 = '收料'`。
- `计划排产_派工` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 计划排产或派工。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@派工操作人 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET`。 实现特征:事务控制、临时表 `#TempOrders`。
- `生产管理_外协管理_更新打印次数` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 外协打印次数 = ISNULL(外协打印次数, 0) + 1`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。
- `生产管理_外协管理_更新备注` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单编号列表 NVARCHAR(MAX),`、`@外协备注 NVARCHAR(MAX)`、`@单重 NVARCHAR(50)`、`@打印数量 NVARCHAR(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE LTRIM(RTRIM(value)) '';``WHERE AID IN (SELECT 订单编号 FROM #TempOrders);`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempOrders (订单编号)``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 外协备注 = @外协备注, 单重 = @单重, 打印数量 = @打印数量`。 实现特征:事务控制、异常捕获、临时表 `#TempOrders`。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `生产管理_外协管理_查询外协` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、新增、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@派工状态 int`、`@订单状态 int`、`@计划号 nvarchar(50)`、`@发料状态 int`。 主要返回字段线索:`v.[订单编号], `、`v.[订单行号], `、`v.[物料编号], `、`v.[物料描述], `、`v.[完成数量], `、`v.[指派数量], `、`v.[外协分组], `、`v.[不合格数量], `、`v.[收料数量], `、`v.[合同号], `。 关键过滤/匹配条件:`WHERE v.[物料类型] = 'pit_Resource'``AND v.[指派对象] = '外协'``AND (@订单号 = 0 OR v.[订单编号] = @订单号)``AND (@计划号 = '' OR v.[计划号] LIKE '%' + @计划号 + '%')``AND (@产品编码 = '' OR v.[物料编号] LIKE '%' + @产品编码 + '%')``AND (@产品名称 = '' OR v.[物料描述] LIKE '%' + @产品名称 + '%')``AND (@工序名称 = '' OR v.[工序名称] LIKE '%' + @工序名称 + '%')``WHERE prev.订单编号 = bd.订单编号``AND prev.订单行号 = bd.订单行号 - 1``AND ISNULL(prev.外协分组, '') = ISNULL(bd.外协分组, '')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #BaseData (`。 排序/分组/分页线索:`ORDER BY ga.订单行号``GROUP BY 订单编号, 外协分组, 组ID``ORDER BY bd.订单编号, bd.订单行号`。 实现特征:临时表 `#BaseData`。
- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = @上序订单行号 - 1``AND qc.检测类型编号 = '6'``WHERE qc.TaskAID = @minTaskAID``WHERE [TaskAID] = @maxTaskAID`。
- `生产管理_外协管理_查询外协历史记录` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理外协业务。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@maxTaskAID bigint`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[YL_加工中心_操作记录表] where 操作类别 in ('收料', '报工') and TaskAID = @maxTaskAID and isnull(操作数值, 0) 0`。
- `生产管理_外协管理_查询质检记录` 属于 外协协同,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`。 入参/分页参数:`@maxTaskAID bigint`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from [dbo].[YL_质量检验_质检记录] where TaskAID = @maxTaskAID`。
- `生产管理_外协管理_外协发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@maxTaskAID bigint,`、`@minTaskAID bigint`。 主要返回字段线索:`@上序订单编号 = [订单编号], `、`@上序订单行号 = [订单行号]`。 关键过滤/匹配条件:`WHERE [TaskAID] = @minTaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = @上序订单行号 - 1``AND qc.检测类型编号 = '6'``WHERE qc.TaskAID = @minTaskAID``WHERE [TaskAID] = @maxTaskAID`。
- `生产管理_外协管理_外协发料保存` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50),`、`@单重 nvarchar(50)`、`@备注 nvarchar(50)`。 主要返回字段线索:`@任务状态 = isnull(任务状态, 0)`。 关键过滤/匹配条件:`select @任务状态 = isnull(任务状态, 0) from MES_接口_生产计划_生产任务 where AID = @TaskAID``where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 任务状态 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, ``set 收料 = case when isnull(收料数量, 0)+@recievCount>0 then 1 else 0 end, `。
- `生产管理_外协管理_外协收料保存` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, `。
## 41. src/views/ProductionManagement/ShiftManagement/index.vue
**页面位置**`src/views/ProductionManagement/ShiftManagement/index.vue`
**所属模块**ProductionManagement / ShiftManagement
**源码行数**390
### 页面功能
该页面维护班次和班次人员绑定。用户新增、修改、删除班次,给班次绑定人员,为工时计算和报工归属提供基础数据。
页面可见的操作/字段包括 “添加新班次”、“编辑”、“保存”、“取消”、“绑定”、“删除”、“确 定”、“取 消”、“序号”、“班次”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_班次管理_班次列表查询`、`系统管理_人员管理_所有有效人员查询`、`生产管理_班次管理_班次绑定人员查询`、`生产管理_班次管理_班次保存`、`生产管理_班次管理_班次删除`、`生产管理_班次管理_班次绑定人员保存` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `生产管理_班次管理_班次列表查询` -> `系统管理_人员管理_所有有效人员查询` -> `生产管理_班次管理_班次绑定人员查询` -> `生产管理_班次管理_班次保存` -> `生产管理_班次管理_班次删除` -> `生产管理_班次管理_班次绑定人员保存` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`添加新班次`、`编辑`、`保存`、`取消`、`绑定`、`删除`、`确 定`、`取 消`、`序号`、`班次`、`时间`、`绑定人员`、`操作`、`请输入班次名称`、`开始时间`、`结束时间`
主要方法线索:`searchData`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `序号` | - | `序号` |
| 显示列 | `班次` | - | `班次编号, ` |
| 显示列 | `时间` | - | `CONVERT(VARCHAR(5), 开始时间, 108) AS 开始时间, ` |
| 显示列 | `绑定人员` | - | `绑定人员` |
| 显示列 | `操作` | - | `@操作人, ` |
| 输入字段 | `scope.row.班次名称` | - | - |
| 输入字段 | `scope.row.开始时间` | - | - |
| 输入字段 | `scope.row.结束时间` | - | - |
| 输入字段 | `selectedPersonnel` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 159 | 11当前通用存储过程查询/执行) | `生产管理_班次管理_班次列表查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 179 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 200 | 11当前通用存储过程查询/执行) | `生产管理_班次管理_班次绑定人员查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 252 | 11当前通用存储过程查询/执行) | `生产管理_班次管理_班次保存` | 更新/保存业务数据 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
| 311 | 11当前通用存储过程查询/执行) | `生产管理_班次管理_班次删除` | 删除业务数据 | 查询、更新 | 未在 SQL 中解析到明确依赖 |
| 334 | 11当前通用存储过程查询/执行) | `生产管理_班次管理_班次绑定人员查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 355 | 11当前通用存储过程查询/执行) | `生产管理_班次管理_班次绑定人员保存` | 更新/保存业务数据 | 查询、新增、更新 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次列表查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次绑定人员查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次保存` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次绑定人员查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProductionManagement/ShiftManagement/index.vue` -> `生产管理_班次管理_班次绑定人员保存` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `生产管理_班次管理_班次列表查询` 属于 班次与人员排班,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 主要返回字段线索:`班次编号, `、`班次名称, `、`CONVERT(VARCHAR(5), 开始时间, 108) AS 开始时间, `、`CONVERT(VARCHAR(5), 结束时间, 108) AS 结束时间, `、`创建时间, `、`创建人, `、`更新时间, `、`更新人`。 关键过滤/匹配条件:`WHERE 是否删除 = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 开始时间`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `生产管理_班次管理_班次绑定人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@班次编号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`sb.绑定时间`。 关键过滤/匹配条件:`WHERE sb.班次编号 = @班次编号``AND sb.是否删除 = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name`。
- `生产管理_班次管理_班次保存` 属于 班次与人员排班,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`班次表`。 入参/分页参数:`@班次编号 NVARCHAR(50),`、`@班次名称 NVARCHAR(50),`、`@开始时间 NVARCHAR(5),`、`@结束时间 NVARCHAR(5),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@执行结果 AS 执行结果, @提示信息 AS 提示信息;`、`RETURN;`、`END`、`IF EXISTS (SELECT 1`。 关键过滤/匹配条件:`IF @开始时间DT IS NULL OR @结束时间DT IS NULL``IF EXISTS (SELECT 1 FROM 班次表 WHERE 班次名称 = @班次名称 AND 班次编号 ! = @班次编号 AND 是否删除 = 0)``IF EXISTS (SELECT 1 FROM 班次表 WHERE 班次编号 = @班次编号 AND 是否删除 = 0)``WHERE 班次编号 = @班次编号;``IF EXISTS (SELECT 1 FROM 班次表 WHERE 班次编号 = @班次编号 AND 是否删除 = 1)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @开始时间DT = TRY_CAST(@开始时间 AS TIME);``SET @结束时间DT = TRY_CAST(@结束时间 AS TIME);``SET @执行结果 = 0;``SET @提示信息 = '时间格式不正确请使用HH:mm格式';``SET @提示信息 = '班次名称已存在,请使用其他名称';``UPDATE 班次表``SET``SET @提示信息 = '班次更新成功';``INSERT INTO 班次表 (``SET @提示信息 = '班次保存成功';`。 实现特征:事务控制、异常捕获。
- `生产管理_班次管理_班次删除` 属于 班次与人员排班,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`班次表`。 入参/分页参数:`@班次编号 NVARCHAR(50),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`IF EXISTS (SELECT 1 FROM 班次人员绑定表 WHERE 班次编号 = @班次编号 AND 是否删除 = 0)``WHERE 班次编号 = @班次编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE 班次表``SET 是否删除 = 1, `。 实现特征:事务控制、异常捕获。
- `生产管理_班次管理_班次绑定人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@班次编号 NVARCHAR(50)`。 主要返回字段线索:`p.Personnel_Number AS 人员编号, `、`p.Personnel_Name AS 人员姓名, `、`p.account AS 账号, `、`p.Roles_Function AS 角色, `、`sb.绑定时间`。 关键过滤/匹配条件:`WHERE sb.班次编号 = @班次编号``AND sb.是否删除 = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY p.Personnel_Name`。
- `生产管理_班次管理_班次绑定人员保存` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`班次人员绑定表`。 入参/分页参数:`@班次编号 NVARCHAR(50),`、`@人员编号列表 NVARCHAR(MAX),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@班次编号, `、`value AS 人员编号, `、`GETDATE(), `、`@操作人, `、`0`。 关键过滤/匹配条件:`WHERE 班次编号 = @班次编号``AND 是否删除 = 0``IF @人员编号列表 IS NOT NULL AND @人员编号列表 ! = ''``WHERE value IS NOT NULL AND value ! = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE 班次人员绑定表``SET 是否删除 = 1, ``INSERT INTO 班次人员绑定表 (`。 实现特征:事务控制、异常捕获。
## 42. src/views/ProductionManagement/Timesheet/index.vue
**页面位置**`src/views/ProductionManagement/Timesheet/index.vue`
**所属模块**ProductionManagement / Timesheet
**源码行数**858
### 页面功能
该页面统计工时。用户按项目、作业者、设备、任务等维度查询工时数据,并可导出报表。
页面可见的操作/字段包括 “查询”、“Excel导出”、“项目工时”、“合同号”、“产品名称”、“产品编码”、“订单编号”、“工序名称”、“操作人”、“计划/完成”,这些是判断页面业务范围的主要线索。
后端主要围绕 `工时统计_项目工时_查询`、`工时统计_作业者工时_查询`、`工时统计_设备工时_查询`、`工时统计_任务工时_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `工时统计_项目工时_查询` -> `工时统计_作业者工时_查询` -> `工时统计_设备工时_查询` -> `工时统计_任务工时_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`Excel导出`、`项目工时`、`合同号`、`产品名称`、`产品编码`、`订单编号`、`工序名称`、`操作人`、`计划/完成`、`报工数量`、`计划开始`、`计划完成`、`工时(h)`、`作业者工时`、`操作人/日期`、`报工次数`、`订单号`
主要方法线索:`handleSearch`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `合同号` | - | `v.订单合同号 AS 合同号, ` |
| 显示列 | `产品名称` | - | `v.产品名称, ` |
| 显示列 | `产品编码` | - | `v.产品编码, ` |
| 显示列 | `订单编号` | - | `订单号, ` |
| 显示列 | `工序名称` | - | `工序名称, ` |
| 显示列 | `操作人` | - | `操作人, ` |
| 显示列 | `计划/完成` | - | `qty` |
| 显示列 | `报工数量` | - | `SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, ` |
| 显示列 | `计划开始` | - | `MIN(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划开始, ` |
| 显示列 | `计划完成` | - | `MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成, ` |
| 显示列 | `工时(h)` | - | `workHours` |
| 显示列 | `操作人/日期` | - | `operator` |
| 显示列 | `报工次数` | - | `COUNT(*) AS 报工次数, ` |
| 显示列 | `订单号` | - | `订单号, ` |
| 显示列 | `开始时间` | - | `startTime` |
| 显示列 | `结束时间` | - | `endTime` |
| 显示列 | `类型` | - | `SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, ` |
| 显示列 | `工序说明` | - | `工序说明` |
| 显示列 | `异常说明` | - | `异常说明` |
| 显示列 | `类型` | - | `workHours` |
| 输入字段 | `searchForm.contractNo` | - | - |
| 输入字段 | `searchForm.operator` | - | - |
| 输入字段 | `searchForm.productCode` | - | - |
| 输入字段 | `searchForm.processName` | - | - |
| 输入字段 | `searchForm.orderNo` | - | - |
| 输入字段 | `searchForm.startDate` | - | - |
| 输入字段 | `searchForm.endDate` | - | - |
| 输入字段 | `activeTab` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 476 | 11当前通用存储过程查询/执行) | `工时统计_项目工时_查询` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 547 | 11当前通用存储过程查询/执行) | `工时统计_作业者工时_查询` | 查询/读取数据 | 查询、处理报工/工时 | 视图:`View_生产工时视图` |
| 568 | 11当前通用存储过程查询/执行) | `工时统计_设备工时_查询` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 649 | 11当前通用存储过程查询/执行) | `工时统计_任务工时_查询` | 查询/读取数据 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `工时统计_项目工时_查询``MAX(v.完成数量) AS 完成数量, ``MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成, ``CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时``CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 工时小时, ``MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成``CASE WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10, 1)) AS VARCHAR(20)) END AS qty, ``ISNULL(计划完成, '') AS planEnd, ``d.计划完成 AS planEnd, `
- `工时统计_设备工时_查询``CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时``CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 工时小时``CAST(加工工时 / 60.0 / 60.0 AS DECIMAL(10, 2)) AS 工时小时`
- `工时统计_任务工时_查询``CREATE PROCEDURE [dbo].[工时统计_任务工时_查询]``;WITH 任务汇总 AS (``MAX(完成数量) AS 完成数量, ``CASE WHEN 完成数量 IS NULL THEN '0' WHEN 完成数量 = FLOOR(完成数量) THEN CAST(CAST(完成数量 AS INT) AS VARCHAR(20)) ELSE CAST(CAST(完成数量 AS DECIMAL(10, 1)) AS VARCHAR(20)) END AS qty, ``FROM 任务汇总`
### 数据库调用链
- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_项目工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_作业者工时_查询` -> 视图:`View_生产工时视图` -> 查询/读取数据
- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_设备工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/ProductionManagement/Timesheet/index.vue` -> `工时统计_任务工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
### 存储过程处理逻辑明细
- `工时统计_项目工时_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`v.订单合同号 AS 合同号, `、`v.产品编码, `、`v.产品名称, `、`MAX(v.计划数量) AS 计划数量, `、`MAX(v.完成数量) AS 完成数量, `、`SUM(CASE WHEN v.操作类别 IN ('报工', '辅助结束') THEN v.操作数值 ELSE 0 END) AS 报工数量, `、`MIN(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划开始, `、`MAX(CONVERT(VARCHAR(10), v.报工日期, 120)) AS 计划完成, `、`CAST(SUM(v.加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时`。 关键过滤/匹配条件:`WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 > = @开始日期)``AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 < = @结束日期)``AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%')``AND (@操作人 IS NULL OR @操作人 = '' OR v.操作人 LIKE '%' + @操作人 + '%')``AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%')``AND (@工序名称 IS NULL OR @工序名称 = '' OR v.工序名称 LIKE '%' + @工序名称 + '%')``AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 LIKE '%' + @订单号 + '%')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY v.订单合同号, v.产品编码, v.产品名称``GROUP BY v.订单合同号, v.产品编码, v.工序名称, v.操作人, v.订单号``ORDER BY contractNo, materialCode, [Level], processName`。
- `工时统计_作业者工时_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`操作人, `、`COUNT(*) AS 报工次数, `、`SUM(CASE`、`WHEN 操作类别 NOT IN ('异常') THEN 操作数值`、`WHEN 操作类别 = '异常' THEN -操作数值`、`ELSE 0`、`END) AS 报工数量, `、`CAST(SUM(CASE`、`WHEN 操作类别 = '异常' THEN -总时长`、`ELSE 总时长`。 关键过滤/匹配条件:`WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 开始时间 > = @开始日期)``AND (@结束日期 IS NULL OR @结束日期 = '' OR 结束时间 < = @结束日期)``AND 操作人 IS NOT NULL AND 操作人 ! = ''``AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%')``AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%')``AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%')``AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%')``AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%')``and isNull(阶段标识, 0) ! = -1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY 操作人``GROUP BY 操作人, CONVERT(VARCHAR(10), 开始时间, 120)``ORDER BY operator, dateLabel, [Level]`。
- `工时统计_设备工时_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`工位名称, `、`COUNT(*) AS 报工次数, `、`SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, `、`CAST(SUM(加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时`。 关键过滤/匹配条件:`WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 > = @开始日期)``AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 < = @结束日期)``AND 操作人 IS NOT NULL AND 操作人 ! = ''``AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%')``AND (@操作人 IS NULL OR @操作人 = '' OR 工位名称 LIKE '%' + @操作人 + '%')``AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%')``AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%')``AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%')``and isNull(阶段标识, 0) = -1``AND 工位名称 IS NOT NULL AND 工位名称 ! = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY 工位名称``GROUP BY 工位名称, CONVERT(VARCHAR(10), 开始时间, 120)``ORDER BY operator, dateLabel, [Level]`。
- `工时统计_任务工时_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@操作人 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@工序名称 NVARCHAR(50)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`。 主要返回字段线索:`订单合同号 AS 合同号, `、`订单号, `、`产品编码, `、`产品名称, `、`工序名称, `、`操作类别, `、`MAX(计划数量) AS 计划数量, `、`MAX(完成数量) AS 完成数量, `、`SUM(CASE WHEN 操作类别 IN ('报工', '辅助结束') THEN 操作数值 ELSE 0 END) AS 报工数量, `、`CAST(SUM(总时长) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 总工时小时`。 关键过滤/匹配条件:`WHERE (@开始日期 IS NULL OR @开始日期 = '' OR 结束时间 > = @开始日期)``AND (@结束日期 IS NULL OR @结束日期 = '' OR 开始时间 < = @结束日期)``AND (@合同号 IS NULL OR @合同号 = '' OR 订单合同号 LIKE '%' + @合同号 + '%')``AND (@操作人 IS NULL OR @操作人 = '' OR 操作人 LIKE '%' + @操作人 + '%')``AND (@产品编码 IS NULL OR @产品编码 = '' OR 产品编码 LIKE '%' + @产品编码 + '%')``AND (@工序名称 IS NULL OR @工序名称 = '' OR 工序名称 LIKE '%' + @工序名称 + '%')``AND (@订单号 IS NULL OR @订单号 = '' OR 订单号 LIKE '%' + @订单号 + '%')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY 订单合同号, 订单号, 产品编码, 产品名称, 工序名称, 操作类别``ORDER BY contractNo, orderNo, productCode, processName, [Level], startTime`。
## 43. src/views/ProductionManagement/Urgent/index.vue
**页面位置**`src/views/ProductionManagement/Urgent/index.vue`
**所属模块**ProductionManagement / Urgent
**源码行数**474
### 页面功能
该页面维护加急任务。用户查询加急订单明细,并更新完成、转至等字段,用于生产/质检优先级管理。
页面可见的操作/字段包括 “查询”、“转至 完成 加急明细 --> 生产订单 加急数量 物料编号 关闭”、“装配”、“机加”、“全部”、“已转至”、“未转至”、“已完成”、“未完成”、“序号”,这些是判断页面业务范围的主要线索。
后端主要围绕 `加急订单_加急明细查询`、`生产管理_加急件管理查询`、`生产管理_加急件管理_更新转至`、`生产管理_加急件管理_更新完成` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `加急订单_加急明细查询` -> `生产管理_加急件管理查询` -> `生产管理_加急件管理_更新转至` -> `生产管理_加急件管理_更新完成` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`转至 完成 加急明细 --> 生产订单 加急数量 物料编号 关闭`、`装配`、`机加`、`全部`、`已转至`、`未转至`、`已完成`、`未完成`、`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`、`计划生产数`、`加急数量`、`收检数量`
主要方法线索:`Urgent`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `this.contractNo` | `@合同号` | `a.内部合同号, ` |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.changstate` | `@转至状态` | - |
| 参数 | `this.finishstate` | `@完成状态` | - |
| 参数 | `row.计划号` | `@订单号` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `a.内部合同号, ` |
| 显示列 | `生产订单` | - | `a.计划号, ` |
| 显示列 | `物料名称` | - | `a.零件名称, ` |
| 显示列 | `物料编码` | - | `a.零件编码, ` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `计划生产数` | - | `计划生产数` |
| 显示列 | `加急数量` | - | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 显示列 | `收检数量` | - | `sum(a.检验数量) as 检验数量, ` |
| 显示列 | `合格数` | - | `sum(a.不合格数) as 不合格数, ` |
| 显示列 | `不合格` | - | `sum(a.不合格数) as 不合格数, ` |
| 显示列 | `检验操作人` | - | `检测人` |
| 显示列 | `检验时间` | - | `检测时间` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `contractNo` | `@合同号` | - |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `partNo` | `@零件编号` | - |
| 输入字段 | `attribute` | - | - |
| 输入字段 | `changstate` | `@转至状态` | - |
| 输入字段 | `finishstate` | `@完成状态` | - |
| 输入字段 | `item.订单编号` | - | - |
| 输入字段 | `item.加急数量` | - | - |
| 输入字段 | `item.物料编号` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 311 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 335 | 11当前通用存储过程查询/执行) | `生产管理_加急件管理查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 379 | 11当前通用存储过程查询/执行) | `生产管理_加急件管理_更新转至` | 更新/保存业务数据 | 更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` |
| 393 | 11当前通用存储过程查询/执行) | `生产管理_加急件管理_更新完成` | 更新/保存业务数据 | 更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `生产管理_加急件管理查询``@转至状态 int = 3, ``@完成状态 int = 3, ``DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [质检类型] = ''终检'' and b.加急总数 > 0 '``IF @转至状态 3``IF @转至状态 = '1'``ELSE IF @转至状态 = '2'``IF @完成状态 3``IF @完成状态 = '1'`
- `生产管理_加急件管理_更新转至``update [dbo].[YL_质量检验_质检记录] set 转至 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`
- `生产管理_加急件管理_更新完成``CREATE PROCEDURE [dbo].[生产管理_加急件管理_更新完成]``update [dbo].[YL_质量检验_质检记录] set 完成 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`
### 数据库调用链
- `src/views/ProductionManagement/Urgent/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/ProductionManagement/Urgent/index.vue` -> `生产管理_加急件管理查询` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/ProductionManagement/Urgent/index.vue` -> `生产管理_加急件管理_更新转至` -> 表:`YL_质量检验_质检记录` -> 更新/保存业务数据
- `src/views/ProductionManagement/Urgent/index.vue` -> `生产管理_加急件管理_更新完成` -> 表:`YL_质量检验_质检记录` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `生产管理_加急件管理查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@转至状态 int`、`@完成状态 int`、`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`。 主要返回字段线索:`sum(a.不合格数) as 不合格数, `、`sum(a.合格数) as 合格数, `、`a.内部合同号, `、`a.完成, `、`a.转至, `、`a.计划号, `、`a.零件名称, `、`a.零件编码, `、`sum(a.检验数量) as 检验数量, `、`b.加急总数, `。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [质检类型] = ''终检'' and b.加急总数 > 0 '``SET @selectStrWhere = @selectStrWhere + ' AND a.内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND a.计划号 = '+@订单号+''``SET @selectStrWhere = @selectStrWhere + ' AND a.零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 1'``SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 0'``SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 1'``SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @selectStrWhere = @selectStrWhere + ' AND a.内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND a.计划号 = '+@订单号+''``SET @selectStrWhere = @selectStrWhere + ' AND a.零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 1'``SET @selectStrWhere = @selectStrWhere + ' AND 转至 = 0'``SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 1'``SET @selectStrWhere = @selectStrWhere + ' AND 完成 = 0'``SET @selectStr = N' select`。 排序/分组/分页线索:`group by a.内部合同号, a.完成, a.转至, a.计划号, `。
- `生产管理_加急件管理_更新转至` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 写入或更新对象:`YL_质量检验_质检记录`。 入参/分页参数:`@订单号 int`。 关键过滤/匹配条件:`update [dbo].[YL_质量检验_质检记录] set 转至 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``update [dbo].[YL_质量检验_质检记录] set 转至 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。
- `生产管理_加急件管理_更新完成` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 写入或更新对象:`YL_质量检验_质检记录`。 入参/分页参数:`@订单号 int`。 关键过滤/匹配条件:`update [dbo].[YL_质量检验_质检记录] set 完成 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``update [dbo].[YL_质量检验_质检记录] set 完成 = 1 where 计划号 = @订单号 and 质检类型 = '终检'`。
## 44. src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue
**页面位置**`src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue`
**所属模块**ProductionManagement / WorkHoursCheck
**源码行数**2489
### 页面功能
该页面用于工时校验。质检/管理人员查询待校验报工记录,系统计算标准/实际工时,保存单条或批量校验结果;通过校验后可把工序资源或工时/出库类单据上传到 SAP。
页面可见的操作/字段包括 “查询”、“一键校验”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”、“已校验”这些是判断页面业务范围的主要线索。
后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取昨日之前操作记录列表`、`工时校验_获取资源` 等过程 取数或提交业务动作。
### 页面流程图
工时校验流程:
```mermaid
flowchart LR
A[选择人员/订单/工序/日期] --> B[工时校验_获取昨日之前操作记录列表]
B --> C[选择待校验记录]
C --> D[usp_ValidateWorkTime 或 usp_BatchValidateWorkTime 计算工时]
D --> E{校验结果}
E --> F[工时校验_保存校验记录]
E --> G[工时校验_批量保存校验记录]
F --> H[更新校验状态]
G --> H
H --> I[GET/PATCH /ProductionOrders 补工序资源]
I --> J[POST /InventoryGenExits 上传 SAP]
J --> K[标记已上传/失败留痕]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`一键校验`、`新增工时记录`、`设备工时`、`关闭`、`确 定`、`取消`、`item.label`、`全部`、`已校验`、`未校验`、`异常`、`正常`、`装配`、`机加`、`加班`、`序号`、`工时ID`
主要方法线索:`getCheckerList`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `orderId` | `@订单编号` | `订单编号, ` |
| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@人员` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工时ID` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `人员` | - | `Personnel_Number AS 人员编号, ` |
| 显示列 | `生产订单` | - | `订单编号, ` |
| 显示列 | `物料编码` | - | `产品编码` |
| 显示列 | `物料名称` | - | `产品名称` |
| 显示列 | `工序名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `工位名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `报工类型` | - | `@操作类别编号 = 操作类别编号, ` |
| 显示列 | `数量` | - | `操作数值` |
| 显示列 | `开始时间` | - | `开始时间` |
| 显示列 | `结束时间` | - | `结束时间` |
| 显示列 | `设备工时` | - | `设备工时` |
| 显示列 | `人员工时` | - | `人员工时` |
| 显示列 | `绑定设备数` | - | `绑定设备数` |
| 显示列 | `工序说明` | - | `工序说明` |
| 显示列 | `异常说明` | - | `异常说明` |
| 显示列 | `校验状态` | - | `校验状态` |
| 显示列 | `最后编辑人` | - | `最后编辑人` |
| 显示列 | `最后编辑时间` | - | `最后编辑时间` |
| 显示列 | `操作` | - | `@操作类别编号 = 操作类别编号, ` |
| 显示列 | `累计分钟` | - | `累计分钟` |
| 显示列 | `设备状态` | - | `CASE TRY_CAST([设备状态] AS INT)` |
| 显示列 | `累计秒数` | - | `累计秒数` |
| 输入字段 | `taskid` | - | - |
| 输入字段 | `taskorder` | - | - |
| 输入字段 | `checker` | - | - |
| 输入字段 | `timeRange` | - | - |
| 输入字段 | `checkStatus` | - | - |
| 输入字段 | `abnormalstatus` | - | - |
| 输入字段 | `natureStatus` | - | - |
| 输入字段 | `addwork` | - | - |
| 输入字段 | `activeTab` | - | - |
| 输入字段 | `editForm.订单编号` | - | - |
| 输入字段 | `editForm.产品编码` | - | - |
| 输入字段 | `editForm.产品名称` | - | - |
| 输入字段 | `editForm.工序名称` | - | - |
| 输入字段 | `editForm.工位名称` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 497 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 548 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 563 | 11当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 592 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 645 | 11当前通用存储过程查询/执行) | `工时校验_获取昨日之前操作记录列表` | 报工或工时处理 | 分页、处理报工/工时 | 视图:`View_生产工时视图` |
| 737 | 11当前通用存储过程查询/执行) | `工时校验_获取资源` | 报工或工时处理 | 查询、读取 SAP B1 数据库对象、处理报工/工时 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` |
| 759 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 868 | 11当前通用存储过程查询/执行) | `工时校验_获取设备数据` | 报工或工时处理 | 查询、处理报工/工时 | 表:`历史_工位设备状态每分钟记录` |
| 1443 | 11当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 1480 | 11当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 2006 | 11当前通用存储过程查询/执行) | `工时校验_获取操作人当天报工记录` | 报工或工时处理 | 查询、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
| 2344 | 11当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 2362 | 11当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 1105 行:`patchB1("ProductionOrders(${order.AbsoluteEntry})")`
- 第 2124 行:`getB1("/ProductionOrders")`
- 第 2255 行:`getB1("/ProductionOrders")`
- 第 2311 行:`postB1("/InventoryGenExits")`
存储过程内读取 SAP B1 数据库对象:
- 工时校验_获取资源: SAP.SBO_YL.dbo.UBT_ORSC
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 1105 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`更新SAP工序和资源失败` |
| 2124 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter` |
| 2255 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`加班记录`、`记录` |
| 2311 | `postB1` | `/InventoryGenExits` | 上传库存发出/工时相关单据。失败会导致 SAP 未生成对应业务单据。 | `DocDate`、`DocDueDate`、`Comments`、`DocumentLines`、`处理记录失败` |
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `工时校验_获取昨日之前操作记录列表``@校验状态 nvarchar(4000) = 2, ``@任务ID nvarchar(4000) = 0, ``'+ @校验状态 +' = 2``OR ('+@校验状态+' = 0 AND Expr1 IS NULL)``OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)``IF @任务ID ! = '0' AND @任务ID ! = ''``set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '``, 加工工时`
- `工时校验_获取资源``select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称`
- `工时校验_获取设备数据``CASE TRY_CAST([设备状态] AS INT)``END AS 设备状态, ``FROM [dbo].[历史_工位设备状态每分钟记录]``设备状态, ``WHERE 设备状态 ! = N'未知'``GROUP BY 工位名称, 设备状态``ORDER BY 设备状态``SUM(CASE WHEN 设备状态 = N'运行' THEN 累计分钟 ELSE 0 END) AS 运行总分钟, `
- `工时校验_保存校验记录``FROM [dbo].[YL_加工中心_操作记录表]``UPDATE [dbo].[YL_加工中心_操作记录表]``已报工 = 1, `
- `工时校验_批量保存校验记录``操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `工时校验_获取操作人当天报工记录``FROM [dbo].[YL_加工中心_操作记录表]`
- `工时校验_批量保存校验记录``操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `工时校验_批量保存校验记录``操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, ``FROM [dbo].[YL_加工中心_操作记录表] o`
### 数据库调用链
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取昨日之前操作记录列表` -> 视图:`View_生产工时视图` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取资源` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取设备数据` -> 表:`历史_工位设备状态每分钟记录` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_获取操作人当天报工记录` -> 表:`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取昨日之前操作记录列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:分页、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@开始时间 datetime`、`@结束时间 datetime`、`@校验状态 nvarchar(4000)`、`@过滤性质 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@异常 nvarchar(4000)`、`@任务ID nvarchar(4000)`、`@生产订单 nvarchar(4000)`、`@加班 nvarchar(4000)`、`@人员 nvarchar(4000)`。 关键过滤/匹配条件:`declare @where nvarchar(4000)``set @where = ' (``OR ('+@校验状态+' = 0 AND Expr1 IS NULL)``OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)``AND (``OR ('+@过滤性质+' = 1 AND ISNULL(工位名称, 工位名称) NOT LIKE ''%装配%'')``OR ('+@过滤性质+' = 2 AND ISNULL(工位名称, 工位名称) LIKE ''%装配%'')``OR ('+@异常+' = 1 AND (ISNULL(结束时间, 结束时间) IS NULL))``OR ('+@异常+' = 2 AND ISNULL(结束时间, 结束时间) IS NOT NULL)``AND 开始时间 < CONVERT(VARCHAR(10), GETDATE(), 120) + '' 00:00:00''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @tbname = ' [dbo].[View_生产工时视图] '``set @fieldkey = ' AID '``set @where = ' (``set @where = @where + ' AND ISNULL(操作类别, '''') LIKE ''%加班%'' '``set @where = @where + ' AND ISNULL(操作类别, '''') NOT LIKE ''%加班%'' '``set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '``set @where = @where + ' AND ISNULL(订单号, 0) = ' + @生产订单 + ' '``set @where = @where + ' AND 操作人 LIKE ''%' + @人员 + '%'' '``set @fieldOrder = ' 开始时间 DESC '``set @fieldshow = '`。 实现特征:分页。
- `工时校验_获取资源` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理报工/工时。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC`。 入参/分页参数:`@资源名称 NVARCHAR(MAX)`。 主要返回字段线索:`VisName as 资源名称, VisCode, StdCost1`。 关键过滤/匹配条件:`select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称`。 实现特征:读取 SAP 数据库对象。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取设备数据` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`历史_工位设备状态每分钟记录`。 入参/分页参数:`@工位名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[工位号] AS 工位名称, `、`[创建时间], `、`CASE TRY_CAST([设备状态] AS INT)`、`WHEN -1 THEN N'关机'`、`WHEN 0 THEN N'待机'`、`WHEN 1 THEN N'运行'`、`WHEN 2 THEN N'报警'`、`ELSE N'未知'`、`END AS 设备状态, `。 关键过滤/匹配条件:`WHERE 工位号 = @工位名称``AND CAST([创建时间] AS DATE) = CAST(GETDATE() AS DATE)``WHERE 设备状态 ! = N'未知'`。 排序/分组/分页线索:`LEAD([创建时间]) OVER (ORDER BY [创建时间]) AS 下一记录时间``GROUP BY 工位名称, 设备状态``ORDER BY 设备状态``GROUP BY 工位名称`。
- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;``WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[YL_加工中心_操作记录表]``SET`。 实现特征:事务控制、异常捕获。
- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempAID (AID)``INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。
- `工时校验_获取操作人当天报工记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`WHERE 操作人 = @操作人``AND 开始时间 > = @开始时间``AND 开始时间 < = @结束时间``AND (总时长> 0 or 实际工时 >0)``and isNull(阶段标识, 0) ! = -1``and 操作类别 not like '%加班%'``and 订单编号 3886`。
- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempAID (AID)``INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。
- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempAID (AID)``INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。
## 45. src/views/ProductionManagement/WorkHoursCheck/index.vue
**页面位置**`src/views/ProductionManagement/WorkHoursCheck/index.vue`
**所属模块**ProductionManagement / WorkHoursCheck
**源码行数**1975
### 页面功能
该页面用于工时校验。质检/管理人员查询待校验报工记录,系统计算标准/实际工时,保存单条或批量校验结果;通过校验后可把工序资源或工时/出库类单据上传到 SAP。
页面可见的操作/字段包括 “查询”、“一键校验”、“直接校验”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”这些是判断页面业务范围的主要线索。
后端主要围绕 `usp_BatchValidateWorkTime`、`usp_ValidateWorkTime`、`人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序` 等过程 取数或提交业务动作。
### 页面流程图
工时校验流程:
```mermaid
flowchart LR
A[选择人员/订单/工序/日期] --> B[工时校验_获取昨日之前操作记录列表]
B --> C[选择待校验记录]
C --> D[usp_ValidateWorkTime 或 usp_BatchValidateWorkTime 计算工时]
D --> E{校验结果}
E --> F[工时校验_保存校验记录]
E --> G[工时校验_批量保存校验记录]
F --> H[更新校验状态]
G --> H
H --> I[GET/PATCH /ProductionOrders 补工序资源]
I --> J[POST /InventoryGenExits 上传 SAP]
J --> K[标记已上传/失败留痕]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`一键校验`、`直接校验`、`新增工时记录`、`设备工时`、`关闭`、`确 定`、`取消`、`item.label`、`全部`、`已校验`、`未校验`、`异常`、`正常`、`装配`、`机加`、`加班`、`序号`
主要方法线索:`getUserName`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `orderId` | `@订单编号` | `订单编号, ` |
| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@人员` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工时ID` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `人员` | - | `@操作人 = 操作人, ` |
| 显示列 | `生产订单` | - | `@订单编号 = 订单号, ` |
| 显示列 | `物料编码` | - | `产品编码` |
| 显示列 | `物料名称` | - | `产品名称` |
| 显示列 | `工序名称` | - | `@工序名称 = 工序名称` |
| 显示列 | `工位名称` | - | `@工位名称 = 工位名称, ` |
| 显示列 | `报工类型` | - | `@操作类别编号 = 操作类别编号, ` |
| 显示列 | `数量` | - | `操作数值` |
| 显示列 | `开始时间` | - | `开始时间` |
| 显示列 | `结束时间` | - | `结束时间` |
| 显示列 | `设备工时` | - | `设备工时` |
| 显示列 | `人员工时` | - | `人员工时` |
| 显示列 | `绑定设备数` | - | `绑定设备数` |
| 显示列 | `工序说明` | - | `工序说明` |
| 显示列 | `异常说明` | - | `异常说明` |
| 显示列 | `校验状态` | - | `校验状态` |
| 显示列 | `最后编辑人` | - | `最后编辑人` |
| 显示列 | `最后编辑时间` | - | `最后编辑时间` |
| 显示列 | `操作` | - | `@操作人 = 操作人, ` |
| 显示列 | `累计分钟` | - | `累计分钟` |
| 显示列 | `设备状态` | - | `CASE TRY_CAST([设备状态] AS INT)` |
| 显示列 | `累计秒数` | - | `累计秒数` |
| 输入字段 | `taskid` | - | - |
| 输入字段 | `taskorder` | - | - |
| 输入字段 | `checker` | - | - |
| 输入字段 | `timeRange` | - | - |
| 输入字段 | `checkStatus` | - | - |
| 输入字段 | `abnormalstatus` | - | - |
| 输入字段 | `natureStatus` | - | - |
| 输入字段 | `addwork` | - | - |
| 输入字段 | `activeTab` | - | - |
| 输入字段 | `editForm.订单编号` | - | - |
| 输入字段 | `editForm.产品编码` | - | - |
| 输入字段 | `editForm.产品名称` | - | - |
| 输入字段 | `editForm.工序名称` | - | - |
| 输入字段 | `editForm.工位名称` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 786 | 11当前通用存储过程查询/执行) | `usp_BatchValidateWorkTime` | 报工或工时处理 | 查询、新增、更新、解析 JSON 批量数据、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 888 | 11当前通用存储过程查询/执行) | `usp_ValidateWorkTime` | 报工或工时处理 | 查询、新增、更新、解析 JSON 批量数据、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
| 909 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 960 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 975 | 11当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 1004 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 1057 | 11当前通用存储过程查询/执行) | `工时校验_获取昨日之前操作记录列表` | 报工或工时处理 | 分页、处理报工/工时 | 视图:`View_生产工时视图` |
| 1149 | 11当前通用存储过程查询/执行) | `工时校验_获取资源` | 报工或工时处理 | 查询、读取 SAP B1 数据库对象、处理报工/工时 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` |
| 1174 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 1293 | 11当前通用存储过程查询/执行) | `工时校验_获取设备数据` | 报工或工时处理 | 查询、处理报工/工时 | 表:`历史_工位设备状态每分钟记录` |
| 1650 | 11当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 1665 | 11当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 1684 | 11当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 1707 | 11当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 1756 | 11当前通用存储过程查询/执行) | `工时校验_批量保存校验记录` | 更新/保存业务数据 | 查询、新增、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 577 行:`getB1("/ProductionOrders")`
- 第 672 行:`getB1("/ProductionOrders")`
- 第 733 行:`postB1("/InventoryGenExits")`
- 第 1482 行:`patchB1("ProductionOrders(${order.AbsoluteEntry})")`
存储过程内读取 SAP B1 数据库对象:
- 工时校验_获取资源: SAP.SBO_YL.dbo.UBT_ORSC
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 577 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`获取订单数据失败`、`获取到工序数据`、`success`、`error`、`结构异常`、`获取到订单` |
| 672 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`使用原订单` |
| 733 | `postB1` | `/InventoryGenExits` | 上传库存发出/工时相关单据。失败会导致 SAP 未生成对应业务单据。 | `DocDate`、`DocDueDate`、`Comments`、`AID`、`DocumentLines`、`success`、`error`、`提交工时单据失败`、`warning` |
| 1482 | `patchB1` | `ProductionOrders(${order.AbsoluteEntry})` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `ProductionOrderLines`、`ProductionOrdersStages`、`更新SAP失败`、`查找设备资源`、`StageID` |
### 状态流转说明
- `usp_BatchValidateWorkTime``IF @WorkType = '跳过SAP'``VALUES (@CurrentAID, 1, '总时长为0跳过SAP上传', 0, @WorkType, @CalcDetail);``PRINT ' 成功: 总时长为0跳过SAP上传';``PRINT '处理完成 - 成功: ' + CAST(@SuccessCount AS NVARCHAR) + ', 失败: ' + CAST(@FailCount AS NVARCHAR);``PRINT ' = = = usp_BatchValidateWorkTime 执行完成 = = = ';`
- `usp_ValidateWorkTime``@SAPDocumentLine NVARCHAR(MAX) OUTPUT``@加工工时 DECIMAL(18, 2), ``@加工工时 = ISNULL(加工工时, 0), ``SET @SAPDocumentLine = (``UPDATE YL_加工中心_操作记录表``加工工时, ``SET @SAPDocumentLine = NULL;`
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `工时校验_获取昨日之前操作记录列表``@校验状态 nvarchar(4000) = 2, ``@任务ID nvarchar(4000) = 0, ``'+ @校验状态 +' = 2``OR ('+@校验状态+' = 0 AND Expr1 IS NULL)``OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)``IF @任务ID ! = '0' AND @任务ID ! = ''``set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '``, 加工工时`
- `工时校验_获取资源``select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称`
- `工时校验_获取设备数据``CASE TRY_CAST([设备状态] AS INT)``END AS 设备状态, ``FROM [dbo].[历史_工位设备状态每分钟记录]``设备状态, ``WHERE 设备状态 ! = N'未知'``GROUP BY 工位名称, 设备状态``ORDER BY 设备状态``SUM(CASE WHEN 设备状态 = N'运行' THEN 累计分钟 ELSE 0 END) AS 运行总分钟, `
- `工时校验_保存校验记录``FROM [dbo].[YL_加工中心_操作记录表]``UPDATE [dbo].[YL_加工中心_操作记录表]``已报工 = 1, `
- `工时校验_批量保存校验记录``操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `工时校验_批量保存校验记录``操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `工时校验_保存校验记录``FROM [dbo].[YL_加工中心_操作记录表]``UPDATE [dbo].[YL_加工中心_操作记录表]``已报工 = 1, `
- `工时校验_批量保存校验记录``操作描述, 开始时间, 结束时间, 工时, 报工日期, 已报工, 不装配, ``FROM [dbo].[YL_加工中心_操作记录表] o`
### 数据库调用链
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `usp_BatchValidateWorkTime` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `usp_ValidateWorkTime` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取昨日之前操作记录列表` -> 视图:`View_生产工时视图` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取资源` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_获取设备数据` -> 表:`历史_工位设备状态每分钟记录` -> 报工或工时处理
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkHoursCheck/index.vue` -> `工时校验_批量保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `usp_BatchValidateWorkTime` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、解析 JSON 批量数据、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@RecordAIDs NVARCHAR(MAX),`、`@Operator NVARCHAR(50),`、`@Editor NVARCHAR(50),`、`@SuccessCount INT`、`@FailCount INT`、`@ResultDetails NVARCHAR(MAX)`。 主要返回字段线索:`CAST(value AS INT)`。 关键过滤/匹配条件:`WHERE ISNUMERIC(value) = 1;``WHERE v.操作类别 NOT IN ('加班', '休息日加班', '法定休息日加班')``AND v.总时长 > 0``AND TRY_CAST(v.开始时间 AS DATE) IS NOT NULL;``WHERE OperatorName = @OpName AND WorkDate = @WDate;``DECLARE record_cursor CURSOR FOR SELECT AID FROM #TempRecords WHERE Processed = 0;``WHERE v.AID = @CurrentAID;``ELSE IF @UploadMinutes < 0 OR @WorkType = '无效'``UPDATE #TempRecords SET Processed = 1 WHERE AID = @CurrentAID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempRecords (AID)``SET @SuccessCount = 0;``SET @FailCount = 0;``SET @ResultDetails = '{"SuccessCount":0, "FailCount":0, "Details":[], "Message":"没有有效的记录ID"}';``INSERT INTO @OperatorGroups (OperatorName, WorkDate, StandardHours, Ratio, TotalMinutes)``UPDATE @OperatorGroups``SET Ratio = @Ratio, TotalMinutes = @TotalMin``SET @UploadMinutes = @TotalSeconds / 60.0;``SET @WorkType = '加班';``SET @CalcDetail = (``INSERT INTO @ResultTable (AID, Success, Message, UploadMinutes, WorkType, CalculationDetail)`。 排序/分组/分页线索:`FETCH NEXT FROM group_cursor INTO @OpName, @WDate, @StdHours;``FETCH NEXT FROM record_cursor INTO @CurrentAID;`。 实现特征JSON 批量解析、异常捕获、临时表 `#TempRecords`。
- `usp_ValidateWorkTime` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、解析 JSON 批量数据、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@RecordAID INT,`、`@Operator NVARCHAR(50),`、`@Editor NVARCHAR(50),`、`@StartTime DATETIME`、`@EndTime DATETIME`、`@Success BIT`、`@Message NVARCHAR(500)`、`@SAPDocumentLine NVARCHAR(MAX)`。 主要返回字段线索:`@订单编号 = 订单号, `、`@工位名称 = 工位名称, `、`@操作人 = 操作人, `、`@加工工时 = ISNULL(加工工时, 0), `、`@总时长 = ISNULL(总时长, 0), `、`@工序名称 = 工序名称`。 关键过滤/匹配条件:`WHERE AID = @RecordAID;``IF @StartTime IS NOT NULL AND @EndTime IS NOT NULL``IF NOT EXISTS (SELECT 1 FROM 生产管理_工时校验_校验工时表 WHERE 报工记录id = @RecordAID)``WHERE 报工记录id = @RecordAID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @Success = 0;``SET @Message = '工时计算为0或负数无法上传';``SET @SAPDocumentLine = (``UPDATE YL_加工中心_操作记录表``SET 开始时间 = @StartTime, ``INSERT INTO 生产管理_工时校验_校验工时表 (``UPDATE 生产管理_工时校验_校验工时表``SET 计算详情 = @CalculationDetail, ``SET @Success = 1;``SET @Message = '校验成功,上传工时:' + CAST(@UploadMinutes AS NVARCHAR(20)) + '分钟';``SET @Message = ERROR_MESSAGE();`。 实现特征JSON 批量解析、事务控制、异常捕获。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取昨日之前操作记录列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:分页、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@开始时间 datetime`、`@结束时间 datetime`、`@校验状态 nvarchar(4000)`、`@过滤性质 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@异常 nvarchar(4000)`、`@任务ID nvarchar(4000)`、`@生产订单 nvarchar(4000)`、`@加班 nvarchar(4000)`、`@人员 nvarchar(4000)`。 关键过滤/匹配条件:`declare @where nvarchar(4000)``set @where = ' (``OR ('+@校验状态+' = 0 AND Expr1 IS NULL)``OR ('+@校验状态+' = 1 AND Expr1 IS NOT NULL)``AND (``OR ('+@过滤性质+' = 1 AND ISNULL(工位名称, 工位名称) NOT LIKE ''%装配%'')``OR ('+@过滤性质+' = 2 AND ISNULL(工位名称, 工位名称) LIKE ''%装配%'')``OR ('+@异常+' = 1 AND (ISNULL(结束时间, 结束时间) IS NULL))``OR ('+@异常+' = 2 AND ISNULL(结束时间, 结束时间) IS NOT NULL)``AND 开始时间 < CONVERT(VARCHAR(10), GETDATE(), 120) + '' 00:00:00''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @tbname = ' [dbo].[View_生产工时视图] '``set @fieldkey = ' AID '``set @where = ' (``set @where = @where + ' AND ISNULL(操作类别, '''') LIKE ''%加班%'' '``set @where = @where + ' AND ISNULL(操作类别, '''') NOT LIKE ''%加班%'' '``set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '``set @where = @where + ' AND ISNULL(订单号, 0) = ' + @生产订单 + ' '``set @where = @where + ' AND 操作人 LIKE ''%' + @人员 + '%'' '``set @fieldOrder = ' 开始时间 DESC '``set @fieldshow = '`。 实现特征:分页。
- `工时校验_获取资源` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理报工/工时。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_ORSC`。 入参/分页参数:`@资源名称 NVARCHAR(MAX)`。 主要返回字段线索:`VisName as 资源名称, VisCode, StdCost1`。 关键过滤/匹配条件:`select VisName as 资源名称, VisCode, StdCost1 from SAP.SBO_YL.dbo.UBT_ORSC as a where a.VisName = @资源名称`。 实现特征:读取 SAP 数据库对象。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取设备数据` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`历史_工位设备状态每分钟记录`。 入参/分页参数:`@工位名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[工位号] AS 工位名称, `、`[创建时间], `、`CASE TRY_CAST([设备状态] AS INT)`、`WHEN -1 THEN N'关机'`、`WHEN 0 THEN N'待机'`、`WHEN 1 THEN N'运行'`、`WHEN 2 THEN N'报警'`、`ELSE N'未知'`、`END AS 设备状态, `。 关键过滤/匹配条件:`WHERE 工位号 = @工位名称``AND CAST([创建时间] AS DATE) = CAST(GETDATE() AS DATE)``WHERE 设备状态 ! = N'未知'`。 排序/分组/分页线索:`LEAD([创建时间]) OVER (ORDER BY [创建时间]) AS 下一记录时间``GROUP BY 工位名称, 设备状态``ORDER BY 设备状态``GROUP BY 工位名称`。
- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;``WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[YL_加工中心_操作记录表]``SET`。 实现特征:事务控制、异常捕获。
- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempAID (AID)``INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。
- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempAID (AID)``INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。
- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;``WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[YL_加工中心_操作记录表]``SET`。 实现特征:事务控制、异常捕获。
- `工时校验_批量保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`。 入参/分页参数:`@AID列表 nvarchar(MAX),`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`value`。 关键过滤/匹配条件:`WHERE c.AID IS NULL;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO #TempAID (AID)``INSERT INTO [dbo].[生产管理_工时校验_校验工时表] (`。 实现特征:事务控制、异常捕获、临时表 `#TempAID`。
## 46. src/views/ProductionManagement/WorkhoursEdit/index.vue
**页面位置**`src/views/ProductionManagement/WorkhoursEdit/index.vue`
**所属模块**ProductionManagement / WorkhoursEdit
**源码行数**839
### 页面功能
该页面用于编辑已产生的工时/报工记录,修正异常工时或补录说明。
页面可见的操作/字段包括 “查询”、“新增工时记录”、“设备工时”、“关闭”、“确 定”、“取消”、“item.label”、“全部”、“已校验”、“未校验”这些是判断页面业务范围的主要线索。
后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`系统管理_人员管理_所有有效人员查询`、`工时校验_获取订单列表`、`工时校验_获取订单工序`、`工时校验_获取操作记录列表`、`工时校验_获取设备数据` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `人员管理_人员信息查询_质检部门_查询` -> `系统管理_人员管理_所有有效人员查询` -> `工时校验_获取订单列表` -> `工时校验_获取订单工序` -> `工时校验_获取操作记录列表` -> `工时校验_获取设备数据` -> `工时校验_保存校验记录` -> `工时校验_新增操作记录` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`新增工时记录`、`设备工时`、`关闭`、`确 定`、`取消`、`item.label`、`全部`、`已校验`、`未校验`、`异常`、`正常`、`大于550`、`超时未校验`、`装配`、`机加`、`加班`、`序号`
主要方法线索:`getCheckerList`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `orderId` | `@订单编号` | `订单编号, ` |
| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@人员` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工时ID` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `人员` | - | `Personnel_Number AS 人员编号, ` |
| 显示列 | `生产订单` | - | `订单编号, ` |
| 显示列 | `物料编码` | - | `产品编码` |
| 显示列 | `物料名称` | - | `产品名称` |
| 显示列 | `工序名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `工位名称` | - | `工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode` |
| 显示列 | `报工类型` | - | `@操作类别编号 = 操作类别编号, ` |
| 显示列 | `数量` | - | `操作数值` |
| 显示列 | `开始时间` | - | `开始时间` |
| 显示列 | `结束时间` | - | `结束时间` |
| 显示列 | `设备工时` | - | `设备工时` |
| 显示列 | `人员工时` | - | `人员工时` |
| 显示列 | `校验状态` | - | `校验状态` |
| 显示列 | `最后编辑人` | - | `最后编辑人` |
| 显示列 | `最后编辑时间` | - | `最后编辑时间` |
| 显示列 | `操作` | - | `@操作类别编号 = 操作类别编号, ` |
| 显示列 | `累计分钟` | - | `累计分钟` |
| 显示列 | `设备状态` | - | `CASE TRY_CAST([设备状态] AS INT)` |
| 显示列 | `累计秒数` | - | `累计秒数` |
| 输入字段 | `taskid` | - | - |
| 输入字段 | `taskorder` | - | - |
| 输入字段 | `checker` | - | - |
| 输入字段 | `timeRange` | - | - |
| 输入字段 | `checkStatus` | - | - |
| 输入字段 | `abnormalstatus` | - | - |
| 输入字段 | `natureStatus` | - | - |
| 输入字段 | `addwork` | - | - |
| 输入字段 | `activeTab` | - | - |
| 输入字段 | `editForm.订单编号` | - | - |
| 输入字段 | `editForm.产品编码` | - | - |
| 输入字段 | `editForm.产品名称` | - | - |
| 输入字段 | `editForm.工序名称` | - | - |
| 输入字段 | `editForm.工位名称` | - | - |
| 输入字段 | `editForm.操作人` | - | - |
| 输入字段 | `editForm.操作类别` | - | - |
| 输入字段 | `editForm.操作数值` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 474 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 503 | 11当前通用存储过程查询/执行) | `系统管理_人员管理_所有有效人员查询` | 查询/读取数据 | 查询 | 视图:`登录基础数据_管理人员权限视图` |
| 518 | 11当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 547 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 602 | 11当前通用存储过程查询/执行) | `工时校验_获取操作记录列表` | 报工或工时处理 | 分页、处理报工/工时 | 视图:`View_生产工时视图` |
| 647 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 662 | 11当前通用存储过程查询/执行) | `工时校验_获取设备数据` | 报工或工时处理 | 查询、处理报工/工时 | 表:`历史_工位设备状态每分钟记录` |
| 739 | 11当前通用存储过程查询/执行) | `工时校验_保存校验记录` | 更新/保存业务数据 | 查询、新增、更新、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 798 | 11当前通用存储过程查询/执行) | `工时校验_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `工时校验_获取操作记录列表``@校验状态 nvarchar(4000) = 2, ``@任务ID nvarchar(4000) = 0, ``IF @校验状态 = '0'``ELSE IF @校验状态 = '1'``set @where = @where + ' AND 结束时间 IS NOT NULL AND ISNULL(加工工时, 总时长) DATEADD(day, -1, GETDATE()) '``set @where = @where + ' AND ISNULL(加工工时, 总时长) > 33000 '``IF @任务ID ! = '0' AND @任务ID ! = ''``set @where = @where + ' AND ISNULL(AID, 0) = ' + @任务ID + ' '`
- `工时校验_获取设备数据``CASE TRY_CAST([设备状态] AS INT)``END AS 设备状态, ``FROM [dbo].[历史_工位设备状态每分钟记录]``设备状态, ``WHERE 设备状态 ! = N'未知'``GROUP BY 工位名称, 设备状态``ORDER BY 设备状态``SUM(CASE WHEN 设备状态 = N'运行' THEN 累计分钟 ELSE 0 END) AS 运行总分钟, `
- `工时校验_保存校验记录``FROM [dbo].[YL_加工中心_操作记录表]``UPDATE [dbo].[YL_加工中心_操作记录表]``已报工 = 1, `
- `工时校验_新增操作记录``INSERT INTO [dbo].[YL_加工中心_操作记录表] (``操作描述, TaskAID, 开始时间, 结束时间, 实际工时, 报工日期, 已报工, 不装配, ``WHEN '开始加工' THEN 4`
### 数据库调用链
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `系统管理_人员管理_所有有效人员查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取操作记录列表` -> 视图:`View_生产工时视图` -> 报工或工时处理
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_获取设备数据` -> 表:`历史_工位设备状态每分钟记录` -> 报工或工时处理
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_保存校验记录` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/ProductionManagement/WorkhoursEdit/index.vue` -> `工时校验_新增操作记录` -> 表:`YL_加工中心_操作记录表` -> 新增业务数据
### 存储过程处理逻辑明细
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `系统管理_人员管理_所有有效人员查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`Personnel_Number AS 人员编号, `、`Personnel_Name AS 人员姓名, `、`account AS 账号, `、`Roles_Function AS 角色, `、`部门名称`。 关键过滤/匹配条件:`WHERE Quit = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY Personnel_Name;`。
- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取操作记录列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:分页、处理报工/工时。 读取/关联对象:视图:`View_生产工时视图`。 入参/分页参数:`@开始时间 datetime`、`@结束时间 datetime`、`@校验状态 nvarchar(4000)`、`@过滤性质 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`、`@异常 nvarchar(4000)`、`@任务ID nvarchar(4000)`、`@生产订单 nvarchar(4000)`、`@加班 nvarchar(4000)`、`@人员 nvarchar(4000)`。 关键过滤/匹配条件:`declare @where nvarchar(4000)``set @where = ' (1 = 1) '``set @where = @where + ' AND Expr1 IS NULL '``set @where = @where + ' AND Expr1 IS NOT NULL '``set @where = @where + ' AND ISNULL(工位名称, '''') NOT LIKE ''%装配%'' '``set @where = @where + ' AND ISNULL(工位名称, '''') LIKE ''%装配%'' '``set @where = @where + ' AND 结束时间 IS NULL '``set @where = @where + ' AND 结束时间 IS NOT NULL AND ISNULL(加工工时, 总时长) DATEADD(day, -1, GETDATE()) '``set @where = @where + ' AND ISNULL(加工工时, 总时长) > 33000 '``set @where = @where + ' AND 结束时间 < DATEADD(day, -1, GETDATE()) '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @tbname = ' [dbo].[View_生产工时视图] '``set @fieldkey = ' AID '``set @where = ' (1 = 1) '``set @where = @where + ' AND Expr1 IS NULL '``set @where = @where + ' AND Expr1 IS NOT NULL '``set @where = @where + ' AND ISNULL(工位名称, '''') NOT LIKE ''%装配%'' '``set @where = @where + ' AND ISNULL(工位名称, '''') LIKE ''%装配%'' '``set @where = @where + ' AND 结束时间 IS NULL '``set @where = @where + ' AND 结束时间 IS NOT NULL AND ISNULL(加工工时, 总时长) DATEADD(day, -1, GETDATE()) '``set @where = @where + ' AND ISNULL(加工工时, 总时长) > 33000 '``set @where = @where + ' AND 结束时间 < DATEADD(day, -1, GETDATE()) '`。 实现特征:分页。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `工时校验_获取设备数据` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`历史_工位设备状态每分钟记录`。 入参/分页参数:`@工位名称 nvarchar(50)`。 主要返回字段线索:`[AID], `、`[工位号] AS 工位名称, `、`[创建时间], `、`CASE TRY_CAST([设备状态] AS INT)`、`WHEN -1 THEN N'关机'`、`WHEN 0 THEN N'待机'`、`WHEN 1 THEN N'运行'`、`WHEN 2 THEN N'报警'`、`ELSE N'未知'`、`END AS 设备状态, `。 关键过滤/匹配条件:`WHERE 工位号 = @工位名称``AND CAST([创建时间] AS DATE) = CAST(GETDATE() AS DATE)``WHERE 设备状态 ! = N'未知'`。 排序/分组/分页线索:`LEAD([创建时间]) OVER (ORDER BY [创建时间]) AS 下一记录时间``GROUP BY 工位名称, 设备状态``ORDER BY 设备状态``GROUP BY 工位名称`。
- `工时校验_保存校验记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 写入或更新对象:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@orderAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@总时长 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50),`、`@当日班次最小标准工时 nvarchar(50)`。 主要返回字段线索:`@操作类别编号 = 操作类别编号, `、`@操作类别 = 操作类别, `、`@阶段标识 = 阶段标识, `、`@工序名称 = 工序名称, `、`@工位编号 = 工位编号, `、`@工位名称 = 工位名称, `、`@合同号 = 合同号, `、`@订单编号 = 订单编号, `、`@物料编号 = 物料编号, `、`@物料描述 = 物料描述, `。 关键过滤/匹配条件:`WHERE AID = @orderAID;``WHERE AID = @orderAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[YL_加工中心_操作记录表]``SET`。 实现特征:事务控制、异常捕获。
- `工时校验_新增操作记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@工位名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID int`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);``INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。
## 47. src/views/ProductionManagement/Workhours/index.vue
**页面位置**`src/views/ProductionManagement/Workhours/index.vue`
**所属模块**ProductionManagement / Workhours
**源码行数**413
### 页面功能
该页面用于工时查询,按工序、人员、设备、时间等条件查看工序工时。
页面可见的操作/字段包括 “查询”、“工序工时”、“任务描述”、“报工次数”、“报工数量”、“工位名称”、“实际工时”、“辅助工时”、“平均程序工时”、“平均实际工时”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_工时查询_工序工时_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `生产管理_工时查询_工序工时_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`工序工时`、`任务描述`、`报工次数`、`报工数量`、`工位名称`、`实际工时`、`辅助工时`、`平均程序工时`、`平均实际工时`、`平均辅助工时`、`工艺工时`、`合同号`、`订单号`、`产品编码`、`产品名称`、`工序名称`、`请输入合同号`
主要方法线索:`handleSearch`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `任务描述` | - | `taskAID` |
| 显示列 | `报工次数` | - | `reportCount` |
| 显示列 | `报工数量` | - | `reportQty` |
| 显示列 | `工位名称` | - | `工位名称` |
| 显示列 | `实际工时` | - | `actualWorkHours` |
| 显示列 | `辅助工时` | - | `auxiliaryWorkHours` |
| 显示列 | `平均程序工时` | - | `avgActualWorkHours` |
| 显示列 | `平均实际工时` | - | `avgActualWorkHours` |
| 显示列 | `平均辅助工时` | - | `avgAuxiliaryWorkHours` |
| 显示列 | `工艺工时` | - | `avgAuxiliaryWorkHours` |
| 显示列 | `合同号` | - | `contractNo` |
| 显示列 | `订单号` | - | `orderNo` |
| 显示列 | `产品编码` | - | `productCode` |
| 显示列 | `产品名称` | - | `productName` |
| 显示列 | `工序名称` | - | `processName` |
| 输入字段 | `searchForm.contractNo` | - | - |
| 输入字段 | `searchForm.productCode` | - | - |
| 输入字段 | `searchForm.orderNo` | - | - |
| 输入字段 | `searchForm.datanum` | - | - |
| 输入字段 | `searchForm.startDate` | - | - |
| 输入字段 | `searchForm.endDate` | - | - |
| 输入字段 | `activeTab` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 238 | 11当前通用存储过程查询/执行) | `生产管理_工时查询_工序工时_查询` | 查询/读取数据 | 查询、处理报工/工时 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `生产管理_工时查询_工序工时_查询``CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END AS 实际加工工时, ``CASE WHEN v.操作内容 = '辅助结束' THEN v.加工工时 ELSE 0 END AS 辅助加工工时, ``AND (CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END > 0``OR CASE WHEN v.操作内容 = '辅助结束' THEN v.加工工时 ELSE 0 END > 0)``ISNULL(产品名称, '') + ' ' + ISNULL(产品编码, '') + ' ' + ISNULL(工序名称, '') + ' 序'+ CAST(订单行号 AS VARCHAR(50)) AS 任务描述``t.任务描述, ``CAST(SUM(实际加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 实际工时小时, ``CAST(SUM(辅助加工工时) / 60.0 / 60.0 AS DECIMAL(10, 1)) AS 辅助工时小时, `
### 数据库调用链
- `src/views/ProductionManagement/Workhours/index.vue` -> `生产管理_工时查询_工序工时_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
### 存储过程处理逻辑明细
- `生产管理_工时查询_工序工时_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@合同号 NVARCHAR(50)`、`@产品编码 NVARCHAR(100)`、`@订单号 NVARCHAR(50)`、`@开始日期 DATE`、`@结束日期 DATE`、`@数据条数 int`。 主要返回字段线索:`top (@数据条数)`、`v.*, `、`CASE`、`WHEN CAST(v.开始时间 AS TIME) > = @白班开始时间`、`AND CAST(v.开始时间 AS TIME) < @白班结束时间 THEN '白班'`、`WHEN CAST(v.开始时间 AS TIME) > = @夜班开始时间`、`OR CAST(v.开始时间 AS TIME) < @夜班结束时间 THEN '夜班'`、`ELSE '其他'`、`END AS 班次, `、`CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END AS 实际加工工时, `。 关键过滤/匹配条件:`AND CAST(v.开始时间 AS TIME) < @白班结束时间 THEN '白班'``OR CAST(v.开始时间 AS TIME) < @夜班结束时间 THEN '夜班'``AND v.订单行号 = p.工艺顺序``WHERE (@开始日期 IS NULL OR @开始日期 = '' OR v.开始时间 > = @开始日期)``AND (@结束日期 IS NULL OR @结束日期 = '' OR v.结束时间 > = @结束日期)``AND (@合同号 IS NULL OR @合同号 = '' OR v.订单合同号 LIKE '%' + @合同号 + '%')``AND (@产品编码 IS NULL OR @产品编码 = '' OR v.产品编码 LIKE '%' + @产品编码 + '%')``AND (@订单号 IS NULL OR @订单号 = '' OR v.订单号 = @订单号 )``AND (CASE WHEN v.操作内容 = '报工' THEN v.加工工时 ELSE 0 END > 0``OR CASE WHEN v.操作内容 = '辅助结束' THEN v.加工工时 ELSE 0 END > 0)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`GROUP BY b.TaskAID, t.任务描述``GROUP BY b.TaskAID, t.任务描述, CONVERT(VARCHAR(10), b.开始时间, 120)``GROUP BY b.TaskAID, t.任务描述, CONVERT(VARCHAR(10), b.开始时间, 120), b.班次, b.工位名称``ORDER BY TaskAID, dateLabel, shift, [Level]`。
## 48. src/views/QualityManagement/CheckTask/OtherInbound.vue
**页面位置**`src/views/QualityManagement/CheckTask/OtherInbound.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**752
### 页面功能
该页面处理其他入库检验。用户查询其他入库待检任务,录入检验结果并更新质检记录。
页面可见的操作/字段包括 “查询”、“取 消”、“合格”、“不合格”、“item.label”、“序号”、“生产订单”、“物料名称”、“物料编码”、“采购数”这些是判断页面业务范围的主要线索。
后端主要围绕 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_其他入库_查询`、`质量管理_其他入库检验_更新` 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`取 消`、`合格`、`不合格`、`item.label`、`序号`、`生产订单`、`物料名称`、`物料编码`、`采购数`、`检验数量`、`合格数`、`不合格数`、`检验人`、`检验时间`、`备注`、`操作`、`请输入生产订单`
主要方法线索:`getTypeList`、`for`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.partName` | `@零件名称` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.inspectionResult` | `@检测结果` | - |
| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - |
| 参数 | `5` | `@检测类型编号` | - |
| 参数 | `"来料检验"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - |
| 参数 | `this.receiveCheckData.检测数量` | `@检测数量` | - |
| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - |
| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - |
| 参数 | `this.receiveCheckData.检测人` | `@检测人` | - |
| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - |
| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - |
| 参数 | `this.receiveCheckData.行号` | `@行号` | - |
| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - |
| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `生产订单` | - | `订单编号` |
| 显示列 | `物料名称` | - | `物料名称` |
| 显示列 | `物料编码` | - | `物料编码` |
| 显示列 | `采购数` | - | `计划生产数` |
| 显示列 | `检验数量` | - | `入库数量` |
| 显示列 | `合格数` | - | `合格数` |
| 显示列 | `不合格数` | - | `不合格数` |
| 显示列 | `检验人` | - | `检测人` |
| 显示列 | `检验时间` | - | `检验时间` |
| 显示列 | `备注` | - | `备注` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `partName` | `@零件名称` | - |
| 输入字段 | `partNo` | `@零件编号` | - |
| 输入字段 | `inspectionDate` | `@检测日期_Start` | - |
| 输入字段 | `completionTime` | - | - |
| 输入字段 | `inspectionResult` | `@检测结果` | - |
| 输入字段 | `checker` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 433 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 447 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 483 | 11当前通用存储过程查询/执行) | `质量管理_其他入库_查询` | 查询/读取数据 | 查询、处理质检数据 | 表:`质量检验_质检任务_SAP` |
| 581 | 12当前通用存储过程写入/业务动作) | `质量管理_其他入库检验_更新` | 更新/保存业务数据 | 查询、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_其他入库_查询``@状态 NVARCHAR(10) = '', ``IF @状态 ''``IF @状态 = '1'``ELSE IF @状态 = '0'``* from [dbo].[质量检验_质检任务_SAP] '+@WhereConditions+''`
- `质量管理_其他入库检验_更新``@质检类型 NVARCHAR(50), ``UPDATE [dbo].[质量检验_质检任务_SAP]``MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target``@质检类型 AS 质检类型, ``target.[质检类型] = source.[质检类型], ``[质检类型], ``source.[质检类型], `
### 数据库调用链
- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `质量管理_其他入库_查询` -> 表:`质量检验_质检任务_SAP` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/OtherInbound.vue` -> `质量管理_其他入库检验_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_其他入库_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@状态 NVARCHAR(10)`、`@单据码 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''59'') '``SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''``IF @检测日期_Start '' AND @检测日期_End ''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''59'') '``SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) < ISNULL(到货数, 入库数量)) '``SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''`。
- `质量管理_其他入库检验_更新` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50),`、`@放行数量 int`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 and 订单类型 = @订单类型``ON (target.[零件编码] = source.[零件编码] AND target.[计划号] = source.[计划号] and target.行号 = source.行号 )`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[质量检验_质检任务_SAP]``SET 合格数 = @合格数, ``MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target``UPDATE SET`。
## 49. src/views/QualityManagement/CheckTask/final.vue
**页面位置**`src/views/QualityManagement/CheckTask/final.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**1209
### 页面功能
该页面处理终检任务。质检人员查询终检任务,录入终检结果,并预留 SAP 生产订单状态回写。
页面可见的操作/字段包括 “查询”、“导出 --> -->”、“取 消”、“关闭”、“装配”、“机加”、“全部”、“合格”、“不合格”、“已完成”,这些是判断页面业务范围的主要线索。
后端主要围绕 `加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_终检数据_查询`、`质量管理_质量检验_终检记录_查询`、`MES_QulityInspection_FinalCheck` 等过程 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`导出 --> -->`、`取 消`、`关闭`、`装配`、`机加`、`全部`、`合格`、`不合格`、`已完成`、`未完成`、`item.label`、`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`
主要方法线索:`Urgent`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.partName` | `@零件名称` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@完工日期_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@完工日期_End` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.inspectionResult` | `@检测结果` | - |
| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - |
| 参数 | `this.checkstatus` | `@检验状态` | - |
| 参数 | `this.attribute` | `@属性` | - |
| 参数 | `row.内部合同号 ` | `@合同号` | - |
| 参数 | `row.计划号 ` | `@订单号` | - |
| 参数 | `row.零件编码 ` | `@零件编号` | - |
| 参数 | `row.零件名称 ` | `@零件名称` | - |
| 参数 | `this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.finalCheckData.TaskAID ` | `@TaskAID` | - |
| 参数 | `8` | `@检测类型编号` | - |
| 参数 | `"终检"` | `@质检类型` | - |
| 参数 | `this.finalCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.finalCheckData.内部合同号` | `@内部合同号` | - |
| 参数 | `this.finalCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.finalCheckData.计划号` | `@计划号` | - |
| 参数 | `this.finalCheckData.工序名称` | `@工序名称` | - |
| 参数 | `this.finalCheckData.检测数量` | `@检测数量` | - |
| 参数 | `this.finalCheckData.合格数` | `@合格数` | - |
| 参数 | `this.finalCheckData.不合格数` | `@不合格数` | - |
| 参数 | `this.finalCheckData.检测人` | `@检测人` | - |
| 参数 | `this.finalCheckData.检测时间` | `@检测时间` | - |
| 参数 | `this.finalCheckData.检测说明` | `@检测说明` | - |
| 参数 | `this.finalCheckData.放行数量` | `@放行数量` | - |
| 参数 | `this.finalCheckData.计划号` | `@订单编号` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `内部合同号, ` |
| 显示列 | `生产订单` | - | `计划号, ` |
| 显示列 | `物料名称` | - | `零件名称, ` |
| 显示列 | `物料编码` | - | `零件编码, ` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 650 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 657 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 671 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 725 | 11当前通用存储过程查询/执行) | `质量管理_质量检验_终检数据_查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 829 | 11当前通用存储过程查询/执行) | `质量管理_质量检验_终检记录_查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` |
| 923 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_FinalCheck` | 质量检验处理 | 查询、新增、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录` |
| 962 | 11当前通用存储过程查询/执行) | `工时校验_获取工序和指派对象` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_质量检验_终检数据_查询``@检验状态 NVARCHAR(10) = '', ``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 计划完成时间) BETWEEN ''' + @完工日期_Start + ''' AND ''' + @完工日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 1'``SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 2'``IF @检验状态 ''``IF @检验状态 = '1'``SET @WhereConditions = @WhereConditions + ' AND 检验状态 = ''已完成'''``ELSE IF @检验状态 = '0'`
- `质量管理_质量检验_终检记录_查询``SET @WhereConditions = @WhereConditions + ' AND 质检类型 = ''终检'' AND 检测类型编号 = 8'``质检类型, ``FROM [dbo].[YL_质量检验_质检记录]`
- `MES_QulityInspection_FinalCheck``@质检类型 NVARCHAR(50) = '终检', ``INSERT INTO [dbo].[YL_质量检验_质检记录] (``TaskAID, 检测类型编号, 质检类型, 零件名称, 内部合同号, ``@TaskAID, @检测类型编号, @质检类型, @零件名称, @内部合同号, `
- `工时校验_获取工序和指派对象``select 顺序编号, 指派对象, 工序名称, 订单行号, b.VisCode as 指派对象编号 from MES_接口_生产计划_生产任务 a left join MES_资源主数据 b on a.指派对象 = b.Name where 订单编号 = @订单编号`
### 数据库调用链
- `src/views/QualityManagement/CheckTask/final.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/final.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/final.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/final.vue` -> `质量管理_质量检验_终检数据_查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/final.vue` -> `质量管理_质量检验_终检记录_查询` -> 表:`YL_质量检验_质检记录` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/final.vue` -> `MES_QulityInspection_FinalCheck` -> 表:`YL_质量检验_质检记录` -> 质量检验处理
- `src/views/QualityManagement/CheckTask/final.vue` -> `工时校验_获取工序和指派对象` -> 表:`MES_接口_生产计划` -> 报工或工时处理
### 存储过程处理逻辑明细
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_质量检验_终检数据_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@完工日期_Start NVARCHAR(20)`、`@完工日期_End NVARCHAR(20)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@检测类别 NVARCHAR(50)`、`@检验状态 NVARCHAR(10)`、`@属性 NVARCHAR(50)`。 主要返回字段线索:`订单编号, MAX(订单行号) AS 最大订单行号`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''``SET @WhereConditions = @WhereConditions + ' AND 计划号 = '+@订单号+''``SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''``SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + REPLACE(@零件名称, '''', '''''') + '%'''``IF @完工日期_Start '' AND @完工日期_End ''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 计划完成时间) BETWEEN ''' + @完工日期_Start + ''' AND ''' + @完工日期_End + ''''``IF @检测日期_Start '' AND @检测日期_End ''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 1'``SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 2'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + REPLACE(@合同号, '''', '''''') + '%'''``SET @WhereConditions = @WhereConditions + ' AND 计划号 = '+@订单号+''``SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + REPLACE(@零件编号, '''', '''''') + '%'''``SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + REPLACE(@零件名称, '''', '''''') + '%'''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 计划完成时间) BETWEEN ''' + @完工日期_Start + ''' AND ''' + @完工日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 1'``SET @WhereConditions = @WhereConditions + ' AND 检测状态 = 2'``SET @WhereConditions = @WhereConditions + ' AND 检测人 LIKE ''%' + REPLACE(@检测人, '''', '''''') + '%'''``SET @WhereConditions = @WhereConditions + ' AND 检测类别 = ''' + REPLACE(@检测类别, '''', '''''') + ''''``SET @WhereConditions = @WhereConditions + ' AND 检验状态 = ''已完成'''`。 排序/分组/分页线索:`GROUP BY 订单编号``GROUP BY TaskAID, 工序名称``GROUP BY 内部合同号, 计划号, 零件编码, 零件名称, 工序名称, TaskAID, 加急状态, 加急总数, 自制件属性``SET @SQL = @SQL + ' ORDER BY 检测时间 DESC, 内部合同号, 计划号'`。
- `质量管理_质量检验_终检记录_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`。 主要返回字段线索:`QT_AID, `、`TaskAID, `、`检测类型编号, `、`质检类型, `、`零件编码, `、`零件名称, `、`内部合同号, `、`计划号, `、`工序名称, `、`计划生产数, `。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + @合同号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 计划号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'''``IF @检测日期_Start '' AND @检测日期_End ''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND (不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND 检测人 LIKE ''%' + @检测人 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 质检类型 = ''终检'' AND 检测类型编号 = 8'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @WhereConditions = @WhereConditions + ' AND 内部合同号 LIKE ''%' + @合同号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 计划号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 零件编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检测时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND (不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND 检测人 LIKE ''%' + @检测人 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 质检类型 = ''终检'' AND 检测类型编号 = 8'``SET @WhereConditions = ' WHERE ' + SUBSTRING(@WhereConditions, 5, LEN(@WhereConditions))``SET @SQL = '`。 排序/分组/分页线索:`ORDER BY 检测时间 DESC, 内部合同号, 计划号'`。
- `MES_QulityInspection_FinalCheck` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`。 写入或更新对象:`YL_质量检验_质检记录`。 入参/分页参数:`@TaskAID INT`、`@检测类型编号 INT`、`@质检类型 NVARCHAR(50)`、`@零件名称 NVARCHAR(100),`、`@内部合同号 NVARCHAR(100),`、`@零件编码 NVARCHAR(100),`、`@计划号 NVARCHAR(100),`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 NVARCHAR(50),`、`@检测说明 NVARCHAR(500)`、`@放行数量 INT`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录] (`。
- `工时校验_获取工序和指派对象` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`顺序编号, 指派对象, 工序名称, 订单行号, b.VisCode as 指派对象编号`。 关键过滤/匹配条件:`select 顺序编号, 指派对象, 工序名称, 订单行号, b.VisCode as 指派对象编号 from MES_接口_生产计划_生产任务 a left join MES_资源主数据 b on a.指派对象 = b.Name where 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
## 50. src/views/QualityManagement/CheckTask/firstSpecial.vue
**页面位置**`src/views/QualityManagement/CheckTask/firstSpecial.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**302
### 页面功能
该页面处理首检/特殊首件检验。用户按工序和工位选择任务,录入首检数据。
页面可见的操作/字段包括 “item.label”、“序号”、“工位编号”、“工序名称”、“操作类别”、“操作人”、“销售订单”、“生产订单”、“物料编号”、“物料名称”这些是判断页面业务范围的主要线索。
后端主要围绕 `Prog_MES_LoadProcess`、`Prog_MES_LoadStations`、`MES_QulityInspection_FirstCheckRecords` 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`item.label`、`序号`、`工位编号`、`工序名称`、`操作类别`、`操作人`、`销售订单`、`生产订单`、`物料编号`、`物料名称`、`操作数值`、`开始时间`、`结束时间`、`工时(分)`、`请选择工序`、`请选择工位`、`请输入生产订单`、`请输入零件编号`
主要方法线索:`getProcessList`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.process` | `@ProcessID` | - |
| 参数 | `this.station` | `@OPCode` | - |
| 参数 | `this.orderNo` | `@OrderNo` | - |
| 参数 | `this.partNo` | `@PartCode` | - |
| 参数 | `this.operationTime ? this.operationTime[0` | `@PlanStart` | - |
| 参数 | `this.operationTime ? this.operationTime[1` | `@PlanEnd` | - |
| 参数 | `1` | `@不装配` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工位编号` | - | `[工位编号]` |
| 显示列 | `工序名称` | - | `[工艺编号], [工序名称]` |
| 显示列 | `操作类别` | - | `[操作类别]` |
| 显示列 | `操作人` | - | `[操作人]` |
| 显示列 | `销售订单` | - | `销售订单` |
| 显示列 | `生产订单` | - | `生产订单` |
| 显示列 | `物料编号` | - | `[物料编号]` |
| 显示列 | `物料名称` | - | `物料名称` |
| 显示列 | `操作数值` | - | `操作数值` |
| 显示列 | `开始时间` | - | `开始时间` |
| 显示列 | `结束时间` | - | `结束时间` |
| 显示列 | `工时(分)` | - | `工时(分)` |
| 输入字段 | `process` | `@ProcessID` | - |
| 输入字段 | `station` | `@OPCode` | - |
| 输入字段 | `orderNo` | `@OrderNo` | - |
| 输入字段 | `partNo` | `@PartCode` | - |
| 输入字段 | `operationTime` | `@PlanStart` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 236 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 249 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
| 273 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_FirstCheckRecords` | 质量检验处理 | 查询、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_QulityInspection_FirstCheckRecords``FROM [YL_加工中心_操作记录表]';`
### 数据库调用链
- `src/views/QualityManagement/CheckTask/firstSpecial.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/firstSpecial.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/firstSpecial.vue` -> `MES_QulityInspection_FirstCheckRecords` -> 表:`YL_加工中心_操作记录表` -> 质量检验处理
### 存储过程处理逻辑明细
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
- `MES_QulityInspection_FirstCheckRecords` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@ProcessID int`、`@OPCode nvarchar(50)`、`@OrderNo int`、`@PartCode nvarchar(50)`、`@PlanStart nvarchar(50)`、`@PlanEnd nvarchar(50)`、`@不装配 int`。 主要返回字段线索:`[操作类别]`、`[阶段标识]`、`[工序名称]`、`[工位编号]`、`[工位名称]`、`[操作人]`、`[合同号]`、`[订单编号]`、`[物料编号]`、`[物料描述]`。 关键过滤/匹配条件:`declare @whereString nvarchar(max) = ' where 操作类别 = ''首检'''``if(@ProcessID>0) set @whereString = @whereString+' and [阶段标识] = '+Convert(VARCHAR(10), @ProcessID)``if(len(@OPCode)>0) set @whereString = @whereString+' and [工位编号] = '''+@OPCode+''''``if(@OrderNo>0) set @whereString = @whereString+' and [订单编号] = '+Convert(VARCHAR(10), @OrderNo)``if(len(@PartCode)>0) set @whereString = @whereString+' and [物料编号] like ''%'+@PartCode+'%'''``if(len(@PlanStart)>0) set @whereString = @whereString+' and [开始时间] > = '''+Convert(VARCHAR(50), @PlanStart)+''''``if(len(@PlanEnd)>0) set @whereString = @whereString+' and [开始时间] < = '''+Convert(VARCHAR(50), DATEADD(day, 1, @PlanEnd))+''''``if(@不装配 = 1)set @whereString = @whereString+' and [不装配] ''否'''``if(@不装配 = 2)set @whereString = @whereString+' and [不装配] = ''否'''`。 关键写入/状态处理语句线索:`if(@ProcessID>0) set @whereString = @whereString+' and [阶段标识] = '+Convert(VARCHAR(10), @ProcessID)``if(len(@OPCode)>0) set @whereString = @whereString+' and [工位编号] = '''+@OPCode+''''``if(@OrderNo>0) set @whereString = @whereString+' and [订单编号] = '+Convert(VARCHAR(10), @OrderNo)``if(len(@PartCode)>0) set @whereString = @whereString+' and [物料编号] like ''%'+@PartCode+'%'''``if(len(@PlanStart)>0) set @whereString = @whereString+' and [开始时间] > = '''+Convert(VARCHAR(50), @PlanStart)+''''``if(len(@PlanEnd)>0) set @whereString = @whereString+' and [开始时间] < = '''+Convert(VARCHAR(50), DATEADD(day, 1, @PlanEnd))+''''``if(@不装配 = 1)set @whereString = @whereString+' and [不装配] ''否'''``if(@不装配 = 2)set @whereString = @whereString+' and [不装配] = ''否'''``set @sqlString = @sqlString+@whereString+@orderString`。 排序/分组/分页线索:`declare @orderString nvarchar(max) = ' order by 开始时间 desc'`。
## 51. src/views/QualityManagement/CheckTask/materialReturn.vue
**页面位置**`src/views/QualityManagement/CheckTask/materialReturn.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**1346
### 页面功能
该页面处理原材料退库检验。用户查询退库检验任务,读取 SAP 生产订单辅助信息,录入并更新检验结果。
页面可见的操作/字段包括 “查询”、“扫码”、“取 消”、“合格”、“不合格”、“已完成”、“未完成”、“item.label”、“序号”、“单据码”这些是判断页面业务范围的主要线索。
后端主要围绕 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_原材料退库_查询`、`质量管理_原材料退库检验_更新` 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`扫码`、`取 消`、`合格`、`不合格`、`已完成`、`未完成`、`item.label`、`序号`、`单据码`、`生产订单`、`物料名称`、`物料编码`、`到货时间`、`检验数量`、`合格数`、`不合格数`、`批次信息`
主要方法线索:`startscan`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.partName` | `@零件名称` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.taskstatus` | `@状态` | - |
| 参数 | `this.inspectionResult` | `@检测结果` | - |
| 参数 | `this.ordercode` | `@单据码` | - |
| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - |
| 参数 | `5` | `@检测类型编号` | - |
| 参数 | `"退库检验"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - |
| 参数 | `this.receiveCheckData.送检数量` | `@检测数量` | - |
| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - |
| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - |
| 参数 | `this.receiveCheckData.检测人` | `@检测人` | - |
| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - |
| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - |
| 参数 | `this.receiveCheckData.行号` | `@行号` | - |
| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - |
| 参数 | `this.receiveCheckData.检测数量` | `@到货数` | - |
| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `单据码` | - | `单据码` |
| 显示列 | `生产订单` | - | `订单编号` |
| 显示列 | `物料名称` | - | `物料名称` |
| 显示列 | `物料编码` | - | `物料编码` |
| 显示列 | `到货时间` | - | `采购到货时间` |
| 显示列 | `检验数量` | - | `入库数量` |
| 显示列 | `合格数` | - | `合格数` |
| 显示列 | `不合格数` | - | `不合格数` |
| 显示列 | `批次信息` | - | `批次信息` |
| 显示列 | `检验人` | - | `检测人` |
| 显示列 | `检验时间` | - | `检验时间` |
| 显示列 | `备注` | - | `备注` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `ordercode` | `@单据码` | - |
| 输入字段 | `orderNo` | `@订单号` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- TM/OpenAPI 接口(`src/api/tm.js`
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 681 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 695 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 733 | 11当前通用存储过程查询/执行) | `质量管理_原材料退库_查询` | 查询/读取数据 | 查询、处理质检数据 | 表:`质量检验_质检任务_SAP` |
| 841 | 12当前通用存储过程写入/业务动作) | `质量管理_原材料退库检验_更新` | 更新/保存业务数据 | 查询、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 878 行:`getB1("/ProductionOrders")`
- 第 921 行:`posttm("/stocktask/task/receiptordertask")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 878 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`lines`、`doc_date`、`doc_type`、`external_num`、`target_type`、`task_items`、`base_type`、`item_code`、`item_name`、`whs_code`、`manage_type` |
| 921 | `posttm` | `/stocktask/task/receiptordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_原材料退库_查询``@状态 NVARCHAR(10) = '', ``IF @状态 ''``IF @状态 = '1'``ELSE IF @状态 = '0'``* from [dbo].[质量检验_质检任务_SAP] '+@WhereConditions+''`
- `质量管理_原材料退库检验_更新``@质检类型 NVARCHAR(50), ``UPDATE [dbo].[质量检验_质检任务_SAP]``MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target``@质检类型 AS 质检类型, ``target.[质检类型] = source.[质检类型], ``[质检类型], ``source.[质检类型], `
### 数据库调用链
- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `质量管理_原材料退库_查询` -> 表:`质量检验_质检任务_SAP` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/materialReturn.vue` -> `质量管理_原材料退库检验_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_原材料退库_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@状态 NVARCHAR(10)`、`@单据码 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''202-60'') '``SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''``IF @检测日期_Start '' AND @检测日期_End ''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''202-60'') '``SET @WhereConditions = @WhereConditions + ' AND 单据码 LIKE ''%' + @单据码 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) = ISNULL(到货数, 0)) AND ISNULL(到货数, 0) 0'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(合格数, 0) + ISNULL(不合格数, 0) < ISNULL(到货数, 入库数量)) '``SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''`。
- `质量管理_原材料退库检验_更新` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50),`、`@到货数 decimal(18,`、`@放行数量 int`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 and 订单类型 = @订单类型``ON (target.[零件编码] = source.[零件编码] AND target.[计划号] = source.[计划号] and target.行号 = source.行号 )`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[质量检验_质检任务_SAP]``SET 合格数 = @合格数, ``MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target``UPDATE SET`。
## 52. src/views/QualityManagement/CheckTask/processReceive.vue
**页面位置**`src/views/QualityManagement/CheckTask/processReceive.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**1199
### 页面功能
该页面处理序检收检。质检人员接收工序检验任务,查询加急和字典信息,读取 SAP 工序状态,新增序检收检记录。
页面可见的操作/字段包括 “查询”、“导出 -->”、“取 消”、“关闭”、“装配”、“机加”、“全部”、“合格”、“不合格”、“item.label”这些是判断页面业务范围的主要线索。
后端主要围绕 `工艺管理_图纸维护_查看图纸`、`加急订单_加急明细查询`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_收检记录_查询`、`质量管理_序检收检_新增` 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`导出 -->`、`取 消`、`关闭`、`装配`、`机加`、`全部`、`合格`、`不合格`、`item.label`、`已完成`、`未完成`、`序号`、`销售订单`、`生产订单`、`物料名称`、`物料编码`、`工序名称`
主要方法线索:`getitemdraw`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.零件编码` | `@物料编号` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.partName` | `@零件名称` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@完工日期_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@完工日期_End` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.inspectionResult` | `@检测结果` | - |
| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | `MAX(检测人) AS 检测人, ` |
| 参数 | `this.type` | `@检测类别` | - |
| 参数 | `this.checkstatus` | `@检测状态` | - |
| 参数 | `this.attribute` | `@属性` | - |
| 参数 | `this.receiveCheckData.TaskAID ` | `@TaskAID` | - |
| 参数 | `6` | `@检测类型编号` | - |
| 参数 | `"收检"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.内部合同号` | `@内部合同号` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - |
| 参数 | `this.receiveCheckData.工序名称` | `@工序名称` | - |
| 参数 | `this.receiveCheckData.检测数量` | `@检测数量` | - |
| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - |
| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - |
| 参数 | `this.receiveCheckData.检测人` | `@检测人` | `MAX(检测人) AS 检测人, ` |
| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - |
| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - |
| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `销售订单` | - | `合同号` |
| 显示列 | `生产订单` | - | `计划号` |
| 显示列 | `物料名称` | - | `零件名称` |
| 显示列 | `物料编码` | - | `零件编码` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `工位名称` | - | `工位名称` |
| 显示列 | `加急数量` | - | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 显示列 | `完成数量` | - | `完成数量` |
| 显示列 | `检验数量` | - | `SUM(检验数量) AS 检验数量, ` |
| 显示列 | `检验合格数量` | - | `SUM(合格数) AS 合格数, ` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- PDF/图纸预览或导出
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 578 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 619 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 626 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 640 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 697 | 11当前通用存储过程查询/执行) | `质量管理_质量检验_收检记录_查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 898 | 12当前通用存储过程写入/业务动作) | `质量管理_序检收检_新增` | 新增业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 820 行:`postB1("/QueryService_PostQuery")`
- 第 842 行:`postB1("/PurchaseDeliveryNotes")`
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 820 | `postB1` | `/QueryService_PostQuery` | 调用外部接口,失败会影响对应外部系统同步。 | `QueryPath`、`QueryOption` |
| 842 | `postB1` | `/PurchaseDeliveryNotes` | 调用外部接口,失败会影响对应外部系统同步。 | `CardCode`、`CardName`、`DocDate`、`DocumentLines`、`BaseEntry`、`BaseLine`、`BaseType`、`Quantity`、`U_WWPassedQty` |
### 状态流转说明
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_质量检验_收检记录_查询``@检测状态 NVARCHAR(50) = '', ``DECLARE @WhereConditions NVARCHAR(MAX) = ' and v.单据状态 is null '``IF @检测状态 = 1``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) = (ISNULL(o.完成数量, 0))'``IF @检测状态 = 0``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) < (ISNULL(o.完成数量, 0))'``IF @检测状态 = 2``FROM [dbo].[YL_质量检验_质检记录]`
- `质量管理_序检收检_新增``@质检类型 NVARCHAR(50), ``DECLARE @已完成检测数量 int``select @计划数量 = 计划数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``select @已完成检测数量 = sum(检验数量) from YL_质量检验_质检记录 where [TaskAID] = @TaskAID and 质检类型 = '收检'``set @最新检测数量 = @检测数量 + isnull(@已完成检测数量, 0)``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``[质检类型], ``@质检类型, `
### 数据库调用链
- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `质量管理_质量检验_收检记录_查询` -> 表:`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/processReceive.vue` -> `质量管理_序检收检_新增` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 新增业务数据
### 存储过程处理逻辑明细
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_质量检验_收检记录_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_加工中心_操作记录表`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@合同号 NVARCHAR(100)`、`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@完工日期_Start NVARCHAR(20)`、`@完工日期_End NVARCHAR(20)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@检测类别 NVARCHAR(50)`、`@检测状态 NVARCHAR(50)`、`@属性 NVARCHAR(50)`。 主要返回字段线索:`TaskAID, `、`SUM(检验数量) AS 检验数量, `、`SUM(合格数) AS 合格数, `、`SUM(不合格数) AS 不合格数, `、`MAX(检测人) AS 检测人, `、`MAX(检测时间) AS 检测时间, `、`MAX(检测说明) AS 检测说明`。 关键过滤/匹配条件:`DECLARE @WhereConditions NVARCHAR(MAX) = ' and v.单据状态 is null '``SET @WhereConditions = @WhereConditions + ' AND o.订单编号 = '+ @订单号 +''``SET @WhereConditions = @WhereConditions + ' AND v.[合同号] LIKE ''%' + @合同号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND o.物料编号 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND o.物料描述 LIKE ''%' + @零件名称 + '%'''``SET @WhereConditions = @WhereConditions + ' AND (q.合格数 > 0 AND q.不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND (q.不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) = (ISNULL(o.完成数量, 0))'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) < (ISNULL(o.完成数量, 0))'``SET @WhereConditions = @WhereConditions + ' AND 自制件属性 NOT LIKE ''%装配%'''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @WhereConditions = @WhereConditions + ' AND o.订单编号 = '+ @订单号 +''``SET @WhereConditions = @WhereConditions + ' AND v.[合同号] LIKE ''%' + @合同号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND o.物料编号 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND o.物料描述 LIKE ''%' + @零件名称 + '%'''``SET @WhereConditions = @WhereConditions + ' AND (q.合格数 > 0 AND q.不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND (q.不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) = (ISNULL(o.完成数量, 0))'``SET @WhereConditions = @WhereConditions + ' AND (ISNULL(q.检验数量, 0)) < (ISNULL(o.完成数量, 0))'``SET @WhereConditions = @WhereConditions``SET @WhereConditions = @WhereConditions + ' AND 自制件属性 NOT LIKE ''%装配%'''``SET @WhereConditions = @WhereConditions + ' AND 自制件属性 LIKE ''%装配%'''`。 排序/分组/分页线索:`GROUP BY TaskAID``GROUP BY``ORDER BY o.订单编号 desc'`。
- `质量管理_序检收检_新增` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@放行数量 INT`。 主要返回字段线索:`@计划数量 = 计划数量`。 关键过滤/匹配条件:`select @计划数量 = 计划数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``select @已完成检测数量 = sum(检验数量) from YL_质量检验_质检记录 where [TaskAID] = @TaskAID and 质检类型 = '收检'``WHERE AID = @TaskAID``WHERE 订单编号 = @计划号``AND 订单行号 = @当前订单行号 + 1``AND ISNULL(订单拆分内码, 1) = 1``WHERE AID = @下一道工序AID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @最新检测数量 = @检测数量 + isnull(@已完成检测数量, 0)``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。
## 53. src/views/QualityManagement/CheckTask/processSpecial.vue
**页面位置**`src/views/QualityManagement/CheckTask/processSpecial.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**65
### 页面功能
该页面处理过程/特殊检验。用户按工序任务录入特殊检验结果和检测明细。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:无
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 54. src/views/QualityManagement/CheckTask/purchaseIncoming.vue
**页面位置**`src/views/QualityManagement/CheckTask/purchaseIncoming.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**1335
### 页面功能
该页面处理采购/来料检验。质检人员查询待检任务,查看图纸、字典和检验人员,录入合格数、不合格数、检测数据,调用过程更新来料检验结果。
页面可见的操作/字段包括 “查询”、“取 消”、“关闭”、“合格”、“不合格”、“已完成”、“未完成”、“item.label”、“序号”、“单据码”这些是判断页面业务范围的主要线索。
后端主要围绕 `加急订单_加急明细查询`、`工艺管理_图纸维护_查看图纸`、`查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_入库质检任务_查询`、`质量管理_来料检验_更新` 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`取 消`、`关闭`、`合格`、`不合格`、`已完成`、`未完成`、`item.label`、`序号`、`单据码`、`生产订单`、`物料名称`、`物料编码`、`到货时间`、`位置`、`加急数量`、`到货数量`、`已检验数量`
主要方法线索:`Urgent`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.物料编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.partName` | `@零件名称` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.taskstatus` | `@状态` | - |
| 参数 | `this.inspectionResult` | `@检测结果` | - |
| 参数 | `this.ordercode` | `@单据码` | - |
| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | `检测人, ` |
| 参数 | `5` | `@检测类型编号` | - |
| 参数 | `"来料检验"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - |
| 参数 | `this.receiveCheckData.本次检验数量` | `@检测数量` | - |
| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - |
| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - |
| 参数 | `this.receiveCheckData.检测人` | `@检测人` | `检测人, ` |
| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - |
| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - |
| 参数 | `this.receiveCheckData.行号` | `@行号` | - |
| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - |
| 参数 | `this.receiveCheckData.到货总数` | `@到货数` | - |
| 参数 | `this.receiveCheckData.放行数量` | `@放行数量` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `单据码` | - | `单据码` |
| 显示列 | `生产订单` | - | `计划号, ` |
| 显示列 | `物料名称` | - | `物料名称` |
| 显示列 | `物料编码` | - | `物料编码` |
| 显示列 | `到货时间` | - | `采购到货时间` |
| 显示列 | `位置` | - | `存放位置` |
| 显示列 | `加急数量` | - | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 显示列 | `到货数量` | - | `入库数量` |
| 显示列 | `已检验数量` | - | `已检验数量` |
| 显示列 | `剩余待检` | - | `剩余待检数量` |
| 显示列 | `合格数` | - | `合格数, ` |
| 显示列 | `不合格数` | - | `不合格数, ` |
| 显示列 | `检验人` | - | `检测人, ` |
| 显示列 | `检验时间` | - | `检验时间` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- PDF/图纸预览或导出
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 626 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 634 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 782 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 796 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 842 | 11当前通用存储过程查询/执行) | `质量管理_质量检验_入库质检任务_查询` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` |
| 990 | 12当前通用存储过程写入/业务动作) | `质量管理_来料检验_更新` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_质量检验_入库质检任务_查询``CREATE PROCEDURE [dbo].[质量管理_质量检验_入库质检任务_查询]``@状态 NVARCHAR(10) = '', ``IF @状态 ''``SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''``FROM [dbo].[YL_质量检验_质检记录]``订单类型 AS 质检订单类型, ``task.加急状态, ``END AS 状态`
- `质量管理_来料检验_更新``@质检类型 NVARCHAR(50), ``UPDATE [dbo].[质量检验_质检任务_SAP]``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``[质检类型], ``@质检类型, `
### 数据库调用链
- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `质量管理_质量检验_入库质检任务_查询` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/purchaseIncoming.vue` -> `质量管理_来料检验_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_质量检验_入库质检任务_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`、`@状态 NVARCHAR(10)`、`@单据码 NVARCHAR(50)`。 主要返回字段线索:`计划号, `、`检验数量, `、`合格数, `、`不合格数, `、`检测人, `、`检测时间, `、`6 AS 检测类型编号`。 关键过滤/匹配条件:`SET @TaskWhere = @TaskWhere + ' AND (task.订单类型 = ''20'') '``SET @TaskWhere = @TaskWhere + ' AND task.单据码 LIKE ''%' + @单据码 + '%'''``SET @TaskWhere = @TaskWhere + ' AND task.订单编号 LIKE ''%' + @订单号 + '%'''``SET @TaskWhere = @TaskWhere + ' AND task.物料编码 LIKE ''%' + @零件编号 + '%'''``SET @TaskWhere = @TaskWhere + ' AND task.物料名称 LIKE ''%' + @零件名称 + '%'''``SET @OuterWhere = @OuterWhere + ' AND 检测结果 = ' + @检测结果``SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''``SET @OuterWhere = @OuterWhere + ' AND 检测人 LIKE ''%' + @检测人 + '%'''``IF @检测日期_Start '' AND @检测日期_End ''``SET @OuterWhere = @OuterWhere + ' AND CAST(检验时间 AS DATE) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @TaskWhere = @TaskWhere + ' AND (task.订单类型 = ''20'') '``SET @TaskWhere = @TaskWhere + ' AND task.单据码 LIKE ''%' + @单据码 + '%'''``SET @TaskWhere = @TaskWhere + ' AND task.订单编号 LIKE ''%' + @订单号 + '%'''``SET @TaskWhere = @TaskWhere + ' AND task.物料编码 LIKE ''%' + @零件编号 + '%'''``SET @TaskWhere = @TaskWhere + ' AND task.物料名称 LIKE ''%' + @零件名称 + '%'''``SET @OuterWhere = @OuterWhere + ' AND 检测结果 = ' + @检测结果``SET @OuterWhere = @OuterWhere + ' AND 状态 = ''' + @状态 + ''''``SET @OuterWhere = @OuterWhere + ' AND 检测人 LIKE ''%' + @检测人 + '%'''``SET @OuterWhere = @OuterWhere + ' AND CAST(检验时间 AS DATE) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @InnerWhere = ' WHERE ' + SUBSTRING(@TaskWhere, 5, LEN(@TaskWhere))``SET @SQL = '`。 排序/分组/分页线索:`GROUP BY 计划号, 行号, 订单类型``GROUP BY task.订单编号, task.单据码, task.订单类型, task.物料编码, task.物料名称, task.到货数, task.入库数量, task.加急状态, task.行号, task.采购到货时间, task.存放位置, task.加急总数, cq.已检验数量, cq.累计合格数, cq.累计不合格数``ORDER BY 加急状态 DESC'`。
- `质量管理_来料检验_更新` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50),`、`@到货数 decimal(18,`、`@放行数量 int`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 AND 订单类型 = @订单类型`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[质量检验_质检任务_SAP]``SET 合格数 = ISNULL(合格数, 0) + @合格数, ``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (`。
## 55. src/views/QualityManagement/CheckTask/salesReturn.vue
**页面位置**`src/views/QualityManagement/CheckTask/salesReturn.vue`
**所属模块**QualityManagement / CheckTask
**源码行数**830
### 页面功能
该页面处理销售退货检验。用户查询销售退货待检任务,录入检验结果并更新质检记录。
页面可见的操作/字段包括 “查询”、“取 消”、“合格”、“不合格”、“item.label”、“序号”、“生产订单”、“物料名称”、“物料编码”、“采购数”这些是判断页面业务范围的主要线索。
后端主要围绕 `查询字典`、`人员管理_人员信息查询_质检部门_查询`、`质量管理_质量检验_退货质检任务_查询`、`质量管理_销售退货检_更新` 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`取 消`、`合格`、`不合格`、`item.label`、`序号`、`生产订单`、`物料名称`、`物料编码`、`采购数`、`检验数量`、`合格数`、`不合格数`、`检验人`、`检验时间`、`备注`、`操作`、`请输入生产订单`
主要方法线索:`getTypeList`、`for`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.partName` | `@零件名称` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[0` | `@检测日期_Start` | - |
| 参数 | `this.inspectionDate ? this.inspectionDate[1` | `@检测日期_End` | - |
| 参数 | `this.inspectionResult` | `@检测结果` | - |
| 参数 | `selectedChecker ? selectedChecker.label : ""` | `@检测人` | - |
| 参数 | `5` | `@检测类型编号` | - |
| 参数 | `"来料检验"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.receiveCheckData.计划号` | `@计划号` | - |
| 参数 | `this.receiveCheckData.检测数量` | `@检测数量` | - |
| 参数 | `this.receiveCheckData.合格数` | `@合格数` | - |
| 参数 | `this.receiveCheckData.不合格数` | `@不合格数` | - |
| 参数 | `this.receiveCheckData.检测人` | `@检测人` | - |
| 参数 | `this.receiveCheckData.检测时间` | `@检测时间` | - |
| 参数 | `this.receiveCheckData.检测说明` | `@检测说明` | - |
| 参数 | `this.receiveCheckData.行号` | `@行号` | - |
| 参数 | `this.receiveCheckData.订单类型` | `@订单类型` | - |
| 参数 | `this.formatDate(this.currentTime)` | `@doc_date` | - |
| 参数 | `"202-59"` | `@doc_type` | - |
| 参数 | `this.receiveCheckData.计划号` | `@external_num` | - |
| 参数 | `param2` | `@task_items` | - |
| 参数 | `"202"` | `@base_type` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@item_code` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@item_name` | - |
| 参数 | `""` | `@whs_code` | - |
| 参数 | `'B'` | `@manage_type` | - |
| 参数 | `0` | `@price` | - |
| 参数 | `this.receiveCheckData.合格数` | `@quantity` | - |
| 参数 | `this.receiveCheckData.行号` | `@base_line_num` | - |
| 参数 | `this.receiveCheckData.计划号` | `@base_entry` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `生产订单` | - | `订单编号` |
| 显示列 | `物料名称` | - | `物料名称` |
| 显示列 | `物料编码` | - | `物料编码` |
| 显示列 | `采购数` | - | `计划生产数` |
| 显示列 | `检验数量` | - | `入库数量` |
| 显示列 | `合格数` | - | `合格数` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- TM/OpenAPI 接口(`src/api/tm.js`
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 421 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 435 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 472 | 11当前通用存储过程查询/执行) | `质量管理_质量检验_退货质检任务_查询` | 查询/读取数据 | 查询、处理质检数据 | 表:`质量检验_质检任务_SAP` |
| 577 | 12当前通用存储过程写入/业务动作) | `质量管理_销售退货检_更新` | 更新/保存业务数据 | 查询、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 623 行:`posttm("/stocktask/task/issueordertask")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 623 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_质量检验_退货质检任务_查询``CREATE PROCEDURE [dbo].[质量管理_质量检验_退货质检任务_查询]``* from [dbo].[质量检验_质检任务_SAP] '+@WhereConditions+''`
- `质量管理_销售退货检_更新``@质检类型 NVARCHAR(50), ``UPDATE [dbo].[质量检验_质检任务_SAP]``MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target``@质检类型 AS 质检类型, ``target.[质检类型] = source.[质检类型], ``[质检类型], ``source.[质检类型], `
### 数据库调用链
- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `质量管理_质量检验_退货质检任务_查询` -> 表:`质量检验_质检任务_SAP` -> 查询/读取数据
- `src/views/QualityManagement/CheckTask/salesReturn.vue` -> `质量管理_销售退货检_更新` -> 表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_质量检验_退货质检任务_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 入参/分页参数:`@订单号 NVARCHAR(100)`、`@零件编号 NVARCHAR(100)`、`@零件名称 NVARCHAR(100)`、`@检测日期_Start NVARCHAR(20)`、`@检测日期_End NVARCHAR(20)`、`@检测结果 NVARCHAR(10)`、`@检测人 NVARCHAR(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''234000031'') '``SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''``IF @检测日期_Start '' AND @检测日期_End ''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''``SET @WhereConditions = ' WHERE ' + SUBSTRING(@WhereConditions, 5, LEN(@WhereConditions))`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @WhereConditions = @WhereConditions + ' AND (订单类型 = ''234000031'') '``SET @WhereConditions = @WhereConditions + ' AND 订单编号 LIKE ''%' + @订单号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料编码 LIKE ''%' + @零件编号 + '%'''``SET @WhereConditions = @WhereConditions + ' AND 物料名称 LIKE ''%' + @零件名称 + '%'''``SET @WhereConditions = @WhereConditions + ' AND CONVERT(DATE, 检验时间) BETWEEN ''' + @检测日期_Start + ''' AND ''' + @检测日期_End + ''''``SET @WhereConditions = @WhereConditions + ' AND (合格数 > 0 AND 不合格数 = 0)'``SET @WhereConditions = @WhereConditions + ' AND ( 不合格数 > 0)'``SET @WhereConditions = @WhereConditions + ' AND ISNULL( 检测人, '''') LIKE ''%' + @检测人 + '%'''``SET @WhereConditions = ' WHERE ' + SUBSTRING(@WhereConditions, 5, LEN(@WhereConditions))``SET @SQL = '`。
- `质量管理_销售退货检_更新` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@检测数量 decimal(18,`、`@合格数 decimal(18,`、`@不合格数 decimal(18,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@检测说明 NVARCHAR(MAX),`、`@行号 int,`、`@订单类型 NVARCHAR(50)`。 关键过滤/匹配条件:`WHERE 订单编号 = @计划号 AND 行号 = @行号 and 订单类型 = @订单类型``ON (target.[零件编码] = source.[零件编码] AND target.[计划号] = source.[计划号] and target.行号 = source.行号 )`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE [dbo].[质量检验_质检任务_SAP]``SET 合格数 = @合格数, ``MERGE INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] AS target``UPDATE SET`。
## 56. src/views/QualityManagement/QualityCenter/index.vue
**页面位置**`src/views/QualityManagement/QualityCenter/index.vue`
**所属模块**QualityManagement / QualityCenter
**源码行数**4692
### 页面功能
该页面是质量综合处理中心。用户集中查询质检任务、收检记录、终检/入库任务和质检明细,录入检测数据、不合格处理,并读取 SAP 生产订单信息辅助校验。
页面可见的操作/字段包括 “查询 --> --> 缺料”、“上一个 下一个”、“删除当前记录 关闭”、“上一个 下一个 保存当前记录 删除当前记录 关闭”、“确定 关闭”、“取 消”、“确 定”、“新增异常工时”、“编辑”、“取消”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_获取人员绑定`、`加急订单_加急明细查询`、`MES_人员工时记录_获取进行中任务2`、`MES_人员工时记录_获取进行中任务`、`工时校验_获取订单列表`、`异常工时_新增操作记录` 等过程 取数或提交业务动作。
### 页面流程图
质检业务流程:
```mermaid
flowchart LR
A[选择检验类型/订单/物料/工序] --> B[查询待检任务]
B --> C[查看图纸/字典/检验人员]
C --> D[录入检测数量、合格数、不合格数和检测明细]
D --> E{检验类型}
E --> F[来料/入库/退货检验更新]
E --> G[序检收检新增或更新]
E --> H[终检/首检/特殊检验保存]
F --> I[写入 YL_质量检验_质检记录及明细]
G --> I
H --> I
I --> J[必要时查询/回写 SAP 生产订单或单据]
```
### 用户操作与页面线索
可见按钮/字段线索:`查询 --> --> 缺料`、`上一个 下一个`、`删除当前记录 关闭`、`上一个 下一个 保存当前记录 删除当前记录 关闭`、`确定 关闭`、`取 消`、`确 定`、`新增异常工时`、`编辑`、`取消`、`关闭`、`确定`、`全部`、`已送检`、`未送检`、`待执行`、`可执行`、`已开工`
主要方法线索:`handletaskChange`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.零件编码` | `@物料编号` | `docentry as 订单编号, itemcode as 物料编号, 加急数量` |
| 参数 | `userName` | `@用户ID` | - |
| 参数 | `orderId` | `@订单编号` | `订单编号, ` |
| 参数 | `this.TaskAID ` | `@TaskAID` | - |
| 参数 | `this.orderNo2 ` | `@订单号` | `main.[订单编号] as 订单号, ` |
| 参数 | `this.productCode2` | `@零件编号` | - |
| 参数 | `this.productionStatus2 ` | `@生产状态` | - |
| 参数 | `this.Doing` | `@工位名称` | - |
| 参数 | `this.$store.state.user.id` | `@用户ID` | - |
| 参数 | `this.plannum` | `@计划号` | - |
| 参数 | `this.salenum` | `@销售订单` | - |
| 参数 | `this.SendCheckStatus` | `@送检` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@计划开工_Start` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@计划开工_End` | - |
| 参数 | `row.零件编码` | `@ItemCode` | - |
| 参数 | `row.订单号` | `@订单号` | `main.[订单编号] as 订单号, ` |
| 参数 | `taskAID` | `@TaskAID` | - |
| 参数 | `userId` | `@用户ID` | - |
| 参数 | `userName` | `@用户名` | - |
| 参数 | `userName` | `@操作人` | - |
| 参数 | `"1"` | `@isOvertime` | - |
| 参数 | `overtimeResult.person` | `@加班人员` | - |
| 参数 | `overtimeResult.hours` | `@overtimeHours` | - |
| 参数 | `currentShift.shiftName` | `@overtimeShift` | - |
| 参数 | `this.currentTime` | `@结束时间` | - |
| 参数 | `this.workendData.备注` | `@备注` | - |
| 参数 | `this.workendData.工序说明` | `@工序说明` | - |
| 参数 | `this.workendData.异常说明` | `@异常说明` | - |
| 参数 | `this.workendData.本次检数` | `@本次检数` | `@检验数 = ISNULL(本次检数, 0)` |
| 参数 | `row.TaskAID` | `@TaskAID` | - |
| 参数 | `this.$store.state.user.name` | `@optor` | - |
| 参数 | `this.assistNumber` | `@recievCount` | - |
| 参数 | `this.receiveCheckData.TaskAID` | `@TaskAID` | - |
| 参数 | `6` | `@检测类型编号` | - |
| 参数 | `"收检"` | `@质检类型` | - |
| 参数 | `this.receiveCheckData.零件名称` | `@零件名称` | - |
| 参数 | `this.receiveCheckData.内部合同号` | `@内部合同号` | - |
| 参数 | `this.receiveCheckData.零件编码` | `@零件编码` | - |
| 参数 | `this.receiveCheckData.计划号 ` | `@计划号` | - |
| 参数 | `this.receiveCheckData.工序名称 ` | `@工序名称` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
- TM/OpenAPI 接口(`src/api/tm.js`
- PDF/图纸预览或导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 2168 | 11当前通用存储过程查询/执行) | `生产管理_获取人员绑定` | 基础权限/人员数据处理 | 查询 | 表:`MES_资源主数据`、`工位人员绑定表` |
| 2249 | 11当前通用存储过程查询/执行) | `加急订单_加急明细查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象、处理计划/派工 | 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` |
| 2262 | 11当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务2` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` |
| 2296 | 11当前通用存储过程查询/执行) | `MES_人员工时记录_获取进行中任务` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` |
| 2362 | 11当前通用存储过程查询/执行) | `工时校验_获取订单列表` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划` |
| 2408 | 11当前通用存储过程查询/执行) | `异常工时_新增操作记录` | 新增业务数据 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
| 2441 | 11当前通用存储过程查询/执行) | `工时校验_获取订单工序` | 报工或工时处理 | 查询、处理报工/工时 | 视图:`View_生产订单_MES` |
| 2485 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 2539 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 2571 | 11当前通用存储过程查询/执行) | `质量管理_质检报工_任务查询` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 2676 | 11当前通用存储过程查询/执行) | `MES_ProductTask_WorkTimeSum` | 报工或工时处理 | 查询、处理报工/工时、处理计划/派工 | 未在 SQL 中解析到明确依赖 |
| 2708 | 11当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` |
| 2742 | 12当前通用存储过程写入/业务动作) | `MES_人员工时记录_开始` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` |
| 2973 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_班次信息` | 业务存储过程调用 | 查询 | 视图:`View_设备工位人员` |
| 3026 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_自动加班` | 业务存储过程调用 | 查询、新增、处理报工/工时 | 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` |
| 3058 | 12当前通用存储过程写入/业务动作) | `MES_人员工时记录_结束` | 报工或工时处理 | 查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` |
| 3130 | 12当前通用存储过程写入/业务动作) | `MES_ProductTask_SendInspection` | 业务存储过程调用 | 查询、新增、更新、处理报工/工时、处理计划/派工 | 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` |
| 3177 | 11当前通用存储过程查询/执行) | `加工中心_收检_读取收检记录` | 查询/读取数据 | 查询、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 3266 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_ReceiveCheck` | 质量检验处理 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` |
| 3304 | 11当前通用存储过程查询/执行) | `加工中心_异常工时_获取操作记录列表` | 报工或工时处理 | 查询、处理报工/工时 | 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` |
| 3358 | 11当前通用存储过程查询/执行) | `加工中心_修改工时_保存修改记录` | 更新/保存业务数据 | 更新、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
| 3393 | 11当前通用存储过程查询/执行) | `生产管理_加工中心_生产发料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` |
| 3447 | 11当前通用存储过程查询/执行) | `工艺管理_图纸维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_零件图纸` |
| 3481 | 11当前通用存储过程查询/执行) | `工艺管理_工艺维护_查看图纸` | 查询/读取数据 | 查询 | 表:`物料基础数据_工艺图纸` |
| 3522 | 12当前通用存储过程写入/业务动作) | `生产管理_加工中心_退库` | 业务存储过程调用 | 查询、新增、处理质检数据 | 表:`质量检验_质检任务_SAP` |
| 3768 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 3998 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` |
| 4086 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` |
| 4138 | 11当前通用存储过程查询/执行) | `Prog_MES_GetProductOrder_byAID` | 查询/读取数据 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` |
| 4181 | 11当前通用存储过程查询/执行) | `MES_QulityInspection_GetItemStandard` | 查询/读取数据 | 查询、处理质检数据 | 表:`YL_质量检验_检测标准` |
| 4383 | 12当前通用存储过程写入/业务动作) | `MES_QulityInspection_CheckItemData_Save` | 更新/保存业务数据 | 查询、新增、更新、处理质检数据、处理计划/派工 | 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 3415 行:`getB1("/ProductionOrders")`
- 第 3584 行:`posttm("/stocktask/task/issueordertask")`
存储过程内读取 SAP B1 数据库对象:
- 加急订单_加急明细查询: SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL
- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty
- 生产管理_加工中心_生产发料查询: SAP.SBO_YL.dbo.UBT_OWOR_OIGE
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 3415 | `getB1` | `/ProductionOrders` | 读取或更新 SAP 生产订单。失败会导致 MES 与 SAP 订单状态/工序资源不同步。 | `filter`、`数据`、`lines`、`请求失败` |
| 3584 | `posttm` | `/stocktask/task/issueordertask` | 调用外部接口,失败会影响对应外部系统同步。 | `原始数据`、`doc_date`、`doc_type`、`external_num`、`task_items` |
### 状态流转说明
- `生产管理_获取人员绑定``AND b.绑定状态 = 1;`
- `加急订单_加急明细查询``SELECT docentry as 订单编号, itemcode as 物料编号, 加急数量 from SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`
- `MES_人员工时记录_获取进行中任务2``CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务2]``pt.工序名称 AS 任务工序名称, ``pt.任务状态, ``pt.完成数量, ``pt.计划完成时间 AS 计划完成, ``FROM [dbo].[YL_加工中心_操作记录表] t``LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID``t.操作类别 = '开始加工'`
- `MES_人员工时记录_获取进行中任务``CREATE PROCEDURE [dbo].[MES_人员工时记录_获取进行中任务]``pt.工序名称 AS 任务工序名称, ``pt.任务状态, ``pt.完成数量, ``pt.计划完成时间 AS 计划完成, ``FROM [dbo].[YL_加工中心_操作记录表] t``LEFT JOIN [dbo].[MES_接口_生产计划_生产任务] pt ON t.TaskAID = pt.AID``AND t.操作类别 = '开始加工'`
- `异常工时_新增操作记录``INSERT INTO [dbo].[YL_加工中心_操作记录表] (``操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, `
- `质量管理_质检报工_任务查询``create PROCEDURE [dbo].[质量管理_质检报工_任务查询]``@生产状态 int = -1, ``DECLARE @whereStr nvarchar(max) = ' WHERE main.排产状态 = 1 '``main.派工特殊说明, ``case when isnull(main.[加急状态], 0) = 1 then ''加急'' else ''否'' end as [加急], ``main.[二次派工], ``main.[计划完成时间] as 计划完成, ``isnull(main.[完成数量], 0) as 完成数量, `
- `MES_ProductTask_WorkTimeSum``select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`
- `生产管理_装配中心_缺料查询``select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`
- `MES_人员工时记录_开始``declare @任务状态 int = -1``FROM[dbo].[MES_接口_生产计划_生产任务]``SELECT 1 FROM YL_加工中心_操作记录表``AND 操作类别 = '开始加工'``select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID``if(@任务状态 = 1)``UPDATE MES_接口_生产计划_生产任务``任务状态 = '2', `
- `生产管理_加工中心_班次信息``create PROCEDURE [dbo].[生产管理_加工中心_班次信息]`
- `生产管理_加工中心_自动加班``CREATE PROCEDURE [dbo].[生产管理_加工中心_自动加班]``INSERT INTO [dbo].[YL_加工中心_操作记录表] (``操作描述, 开始时间, 结束时间, 总时长, 报工日期, 已报工, 不装配, `
- `MES_人员工时记录_结束``FROM [dbo].[MES_接口_生产计划_生产任务]``UPDATE [dbo].[MES_接口_生产计划_生产任务]``FROM YL_加工中心_操作记录表``AND 操作类别 = '开始加工'``UPDATE YL_加工中心_操作记录表``操作描述 = '用户 ' + @用户名 + ' 结束加工,' +``INSERT INTO [dbo].[YL_加工中心_报工记录]``INSERT INTO [dbo].[YL_加工中心_操作记录表] (`
- `MES_ProductTask_SendInspection``declare @任务状态 int``declare @完成数量 int``Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, ``select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID``if(@完成数量 = @分配数量)``set 任务状态 = 4, ``INSERT INTO [dbo].[YL_加工中心_操作记录表]`
- `加工中心_收检_读取收检记录``CREATE PROCEDURE [dbo].[加工中心_收检_读取收检记录]``declare @完成数量 int``select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'``select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``FROM [dbo].[YL_质量检验_质检记录] qc``select isnull(@已检验数量, 0), isnull(@完成数量, 0), isnull(@上序合格数, 0), @订单行号`
- `MES_QulityInspection_ReceiveCheck``@质检类型 NVARCHAR(50), ``FROM [dbo].[MES_接口_生产计划_生产任务]``FROM [YL_MESDB].[dbo].[YL_质量检验_质检记录] qc``0 AS 清零任务数``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``[质检类型], ``@质检类型, ``INNER JOIN [dbo].[MES_接口_生产计划_生产任务] task ON qc.TaskAID = task.AID`
- `加工中心_异常工时_获取操作记录列表``CREATE PROCEDURE [dbo].[加工中心_异常工时_获取操作记录列表]``o.实际工时 as 加工工时, ``o.已报工, ``FROM [dbo].[YL_加工中心_操作记录表] o`
- `加工中心_修改工时_保存修改记录``CREATE PROCEDURE [dbo].[加工中心_修改工时_保存修改记录]``update [dbo].[YL_加工中心_操作记录表]`
- `生产管理_加工中心_生产发料查询``CREATE PROCEDURE [dbo].[生产管理_加工中心_生产发料查询]``select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`
- `生产管理_加工中心_退库``CREATE PROCEDURE [dbo].[生产管理_加工中心_退库]``select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'``insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_QulityInspection_CheckItemData_Save``@质检类型 nvarchar(100) = '', ``FROM [dbo].[YL_质量检验_质检记录]``AND 质检类型 = @质检类型``INSERT INTO [dbo].[YL_质量检验_质检记录](``TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, ``@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, ``UPDATE [dbo].[YL_质量检验_质检记录]``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
- `Prog_MES_GetProductOrder_byAID``, [加急状态]``, [排产状态]``, [计划完成时间]``, [派工状态]``, [派工时间]``, [任务状态]``, [未完成说明]``, [派工特殊说明]`
- `MES_QulityInspection_CheckItemData_Save``@质检类型 nvarchar(100) = '', ``FROM [dbo].[YL_质量检验_质检记录]``AND 质检类型 = @质检类型``INSERT INTO [dbo].[YL_质量检验_质检记录](``TaskAID, 质检类型, 检测类型编号, 零件名称, 内部合同号, ``@TaskAID, @质检类型, @检测类型编号, @零件名称, @内部合同号, ``UPDATE [dbo].[YL_质量检验_质检记录]``FROM [dbo].[YL_质量检验_质检记录_检测零件]`
### 数据库调用链
- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_获取人员绑定` -> 表:`MES_资源主数据`、`工位人员绑定表` -> 基础权限/人员数据处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `加急订单_加急明细查询` -> 表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_获取进行中任务2` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_获取进行中任务` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `工时校验_获取订单列表` -> 表:`MES_接口_生产计划` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `异常工时_新增操作记录` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 新增业务数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `工时校验_获取订单工序` -> 视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `质量管理_质检报工_任务查询` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_ProductTask_WorkTimeSum` -> 未在 SQL 中解析到明确依赖 -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_开始` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_班次信息` -> 视图:`View_设备工位人员` -> 业务存储过程调用
- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_自动加班` -> 表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_人员工时记录_结束` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_ProductTask_SendInspection` -> 表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/QualityManagement/QualityCenter/index.vue` -> `加工中心_收检_读取收检记录` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_ReceiveCheck` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录` -> 质量检验处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `加工中心_异常工时_获取操作记录列表` -> 表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表` -> 报工或工时处理
- `src/views/QualityManagement/QualityCenter/index.vue` -> `加工中心_修改工时_保存修改记录` -> 表:`YL_加工中心_操作记录表` -> 更新/保存业务数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_生产发料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `工艺管理_图纸维护_查看图纸` -> 表:`物料基础数据_零件图纸` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `工艺管理_工艺维护_查看图纸` -> 表:`物料基础数据_工艺图纸` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `生产管理_加工中心_退库` -> 表:`质量检验_质检任务_SAP` -> 业务存储过程调用
- `src/views/QualityManagement/QualityCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `Prog_MES_GetProductOrder_byAID` -> 表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_GetItemStandard` -> 表:`YL_质量检验_检测标准` -> 查询/读取数据
- `src/views/QualityManagement/QualityCenter/index.vue` -> `MES_QulityInspection_CheckItemData_Save` -> 表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据` -> 更新/保存业务数据
### 存储过程处理逻辑明细
- `生产管理_获取人员绑定` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:表:`MES_资源主数据`、`工位人员绑定表`。 入参/分页参数:`@操作人ID NVARCHAR(50)`。 主要返回字段线索:`m.[name] AS 工位名称`。 关键过滤/匹配条件:`WHERE``AND b.绑定状态 = 1;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加急订单_加急明细查询` 属于 加急任务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`SAP/链接库:`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。 入参/分页参数:`@物料编号 nvarchar(50)`。 主要返回字段线索:`docentry as 订单编号, itemcode as 物料编号, 加急数量`。 关键过滤/匹配条件:`where itemcode = @物料编号`。 实现特征:读取 SAP 数据库对象。
- `MES_人员工时记录_获取进行中任务2` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE``AND t.结束时间 IS NULL``and t.工位名称 like '%装配%'``and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。
- `MES_人员工时记录_获取进行中任务` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@用户ID NVARCHAR(50)`。 主要返回字段线索:`t.AID AS 操作记录ID, `、`t.TaskAID, `、`t.操作人 AS UserName, `、`t.开始时间 AS StartTime, `、`t.操作类别, `、`t.操作类别编号, `、`t.工序名称, `、`t.工位名称, `、`t.订单编号, `、`t.物料编号, `。 关键过滤/匹配条件:`WHERE t.操作人 = @用户ID``AND t.操作类别 = '开始加工'``AND t.结束时间 IS NULL``and t.工位名称 like '%装配%'``and t.操作数值 is not null`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY t.开始时间 DESC;`。 实现特征:异常捕获。
- `工时校验_获取订单列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`。 入参/分页参数:`@订单编号 nvarchar(50)`。 主要返回字段线索:`DISTINCT top 20`、`订单编号, `、`物料编号 as 零件编码, `、`物料描述 as 零件名称`。 关键过滤/匹配条件:`FROM [dbo].[MES_接口_生产计划] WHERE 订单编号 LIKE '%' + @订单编号 + '%' OR @订单编号 = ''`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单编号 ;`。
- `异常工时_新增操作记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@操作内容 nvarchar(500)`、`@操作描述 nvarchar(2000)`、`@TaskAID nvarchar(2000)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);``INSERT INTO [dbo].[YL_加工中心_操作记录表] (`。 实现特征:异常捕获。
- `工时校验_获取订单工序` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单编号 int`。 主要返回字段线索:`工序名称, 订单行号 as 工艺顺序, 指派对象, TaskAID, 顺序编号, 指派对象 as 工位名称, VisCode`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 订单行号;`。
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `质量管理_质检报工_任务查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`、`@订单号 int`、`@零件编号 nvarchar(50)`、`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`、`@生产状态 int`、`@工位名称 nvarchar(50)`、`@用户ID nvarchar(50)`、`@计划号 nvarchar(50)`、`@销售订单 nvarchar(50)`、`@送检 int`。 主要返回字段线索:`main.TaskAID, `、`main.本次检数, `、`main.[订单编号] as 订单号, `、`main.合同号, `、`main.自制件属性, `、`main.加急总数, `、`main.派工特殊说明, `、`main.[订单拆分内码], `、`main.[订单行号], `、`main.[开工时间], `。 关键过滤/匹配条件:`DECLARE @whereStr nvarchar(max) = ' WHERE main.排产状态 = 1 '``WHERE a.检测类型编号 = 6``) AS 质检统计 ON main.订单编号 = 质检统计.订单编号 AND main.订单行号 = 质检统计.订单行号``) AS 上序统计 ON main.订单编号 = 上序统计.订单编号 AND main.订单行号 = 上序统计.订单行号 + 1'``SET @whereStr = @whereStr + ' AND main.[指派对象] ''外协'' AND main.[指派对象] LIKE ''%装配%'''``SET @whereStr = @whereStr + ' AND main.[订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @whereStr = @whereStr + ' AND main.[计划号] = '''+@计划号+''''``SET @whereStr = @whereStr + ' AND main.[合同号] LIKE ''%' + @销售订单 + '%'''``SET @whereStr = @whereStr + ' AND main.[TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)``SET @whereStr = @whereStr + ' AND ISNULL(main.完成数量, 0) > 0 '`。 关键写入/状态处理语句线索:`SET @whereStr = @whereStr + ' AND main.[指派对象] ''外协'' AND main.[指派对象] LIKE ''%装配%'''``SET @whereStr = @whereStr + ' AND main.[订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @whereStr = @whereStr + ' AND main.[计划号] = '''+@计划号+''''``SET @whereStr = @whereStr + ' AND main.[合同号] LIKE ''%' + @销售订单 + '%'''``SET @whereStr = @whereStr + ' AND main.[TaskAID] = ' + CONVERT(VARCHAR(10), @TaskAID)``SET @whereStr = @whereStr + ' AND ISNULL(main.完成数量, 0) > 0 '``SET @whereStr = @whereStr + ' AND ISNULL(main.完成数量, 0) = 0 '``SET @whereStr = @whereStr + ' AND main.[物料编号] LIKE ''%' + @零件编号 + '%'''``SET @whereStr = @whereStr + ' AND main.[计划开始时间] > = ''' + @计划开工_Start + ''''``SET @whereStr = @whereStr + ' AND main.[计划开始时间] < = ''' + @计划开工_End + ''''``SET @whereStr = @whereStr +``SET @whereStr = @whereStr + ' AND ISNULL(main.任务状态, 0) IN (0, 1, 2) '`。 排序/分组/分页线索:`GROUP BY b.订单编号, b.订单行号``SET @selStr = @selStr + @whereStr + ' ORDER BY main.[计划开始时间], main.[订单编号], main.[阶段标识]'`。
- `MES_ProductTask_WorkTimeSum` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时、处理计划/派工。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@计划开工_Start nvarchar(50)`、`@计划开工_End nvarchar(50)`。 主要返回字段线索:`TaskAID, 工序名称, sum(工时) as 总工时`。 关键过滤/匹配条件:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。 排序/分组/分页线索:`select TaskAID, 工序名称, sum(工时) as 总工时 from YL_加工中心_操作记录表 where 工时 >0 group by TaskAID, 工序名称`。
- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。
- `MES_人员工时记录_开始` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50)`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE TaskAID = @TaskAID``AND 操作人 = @用户名``AND 操作类别 = '开始加工'``AND 结束时间 IS NULL``select @任务状态 = isnull(任务状态, 0)from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`UPDATE MES_接口_生产计划_生产任务``SET``INSERT INTO YL_加工中心_操作记录表 (`。 实现特征:异常捕获。
- `生产管理_加工中心_班次信息` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询。 读取/关联对象:视图:`View_设备工位人员`。 主要返回字段线索:`*`。
- `生产管理_加工中心_自动加班` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`;视图:`View_生产订单_MES`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@操作类别 nvarchar(50),`、`@订单编号 nvarchar(50),`、`@物料编号 nvarchar(50),`、`@物料描述 nvarchar(50),`、`@工序名称 nvarchar(50),`、`@操作人 nvarchar(50),`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@TaskAID nvarchar(2000)`、`@加班人员 nvarchar(500)`。 主要返回字段线索:`@工位名称 = 指派对象`。 关键过滤/匹配条件:`select @工位名称 = 指派对象 from [dbo].[View_生产订单_MES] where TaskAID = @TaskAID``IF @人员列表 IS NULL OR LEN(@人员列表) = 0`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @工时 = DATEDIFF(SECOND, @开始时间, @结束时间);``SET @人员列表 = @操作人;``SET @位置 = CHARINDEX(', ', @人员列表);``SET @当前人员 = LTRIM(RTRIM(SUBSTRING(@人员列表, 1, @位置 - 1)));``SET @人员列表 = SUBSTRING(@人员列表, @位置 + 1, LEN(@人员列表));``SET @当前人员 = LTRIM(RTRIM(@人员列表));``SET @人员列表 = '';``INSERT INTO #Temp人员 (人员名称) VALUES (@当前人员);``INSERT INTO [dbo].[YL_加工中心_操作记录表] (``SET @成功计数 = @@ROWCOUNT;`。 实现特征:事务控制、异常捕获、临时表 `#Temp人员`。
- `MES_人员工时记录_结束` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`班次表`、`YL_加工中心_报工记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID INT,`、`@用户ID NVARCHAR(50),`、`@用户名 NVARCHAR(50),`、`@操作人 NVARCHAR(50),`、`@备注 NVARCHAR(200)`、`@工序说明 NVARCHAR(200)`、`@异常说明 NVARCHAR(200)`、`@本次检数 NVARCHAR(200)`、`@是否加班 INT`、`@加班人员 NVARCHAR(500)`、`@特殊加班人员 NVARCHAR(500)`、`@是否休息日 INT`、`@是否法定休息日 INT`、`@班次标准工时 NVARCHAR`。 主要返回字段线索:`@订单编号 = ISNULL(订单编号, ''), `、`@物料编号 = ISNULL(物料编码, ''), `、`@物料描述 = ISNULL(物料名称, ''), `、`@工序名称 = ISNULL(工序名称, ''), `、`@工位名称 = ISNULL(指派对象, ''), `、`@阶段标识 = ISNULL(顺序编号, -1), `、`@检验数 = ISNULL(本次检数, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE TaskAID = @TaskAID``AND 操作人 = @用户名``AND 操作类别 = '开始加工'``AND 结束时间 IS NULL``WHERE 班次名称 = '白班'``IF @是否休息日 = 1 OR @是否法定休息日 = 1``WHERE AID = @开始记录ID``IF @是否法定休息日 = 1 AND @是否加班 = 0``ELSE IF @是否休息日 = 1 AND @是否加班 = 0`。 关键写入/状态处理语句线索:`UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 本次检数 = ISNULL(@检验数, 0) + ISNULL(@本次检数, 0)``SET @白班结束时间 = '16:30:00'``SET @白班结束时间_完整 = CAST(CAST(@结束时间 AS DATE) AS DATETIME) + CAST(@白班结束时间 AS DATETIME)``SET @加班时长秒 = @总工时``SET @加班开始时间 = @开始时间``SET @工作时间 = 0``SET @工作时间 = @总工时``SET @报工开始时间 = @开始时间``SET @报工结束时间 = @结束时间``SET @加班时长秒 = 0``SET @加班开始时间 = NULL`。 排序/分组/分页线索:`ORDER BY 开始时间 DESC`。 实现特征:异常捕获、临时表 `#TempOvertimePersons`。
- `MES_ProductTask_SendInspection` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、更新、处理报工/工时、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`;视图:`View_生产订单_MES`。 写入或更新对象:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_加工中心_操作记录表`、`YL_加工中心_报工记录`。 入参/分页参数:`@TaskAID bigint,`、`@recievCount int,`、`@optor nvarchar(50)`。 主要返回字段线索:`@分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象`。 关键过滤/匹配条件:`where AID = @TaskAID``select @分配数量 = 指派数量, @完成数量 = 完成数量, @订单编号 = 订单编号, @工位名称 = 指派对象 from MES_接口_生产计划_生产任务 where AID = @TaskAID``select @dicItemID = 词条编号 from YL_基础表_数据字典 where 词条名称 = @词条名称 and 数据类别 = @数据类别``from View_生产订单_MES where TaskAID = @TaskAID`。 关键写入/状态处理语句线索:`Update MES_接口_生产计划_生产任务``set 完成数量 = isnull(完成数量, 0)+@recievCount, ``set 任务状态 = 4, ``INSERT INTO [dbo].[YL_加工中心_操作记录表]``INSERT INTO [dbo].[YL_加工中心_报工记录]`。
- `加工中心_收检_读取收检记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID int`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``select @已检验数量 = sum(检验数量) OVER() from YL_质量检验_质检记录 where TaskAID = @TaskAID and 质检类型 = '收检'``select @完成数量 = 完成数量 from [dbo].[MES_接口_生产计划_生产任务] where AID = @TaskAID``WHERE vt.[订单编号] = @订单编号``AND vt.[订单行号] = @订单行号-1``AND qc.检测类型编号 = '6'`。
- `MES_QulityInspection_ReceiveCheck` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`、`YL_质量检验_质检记录`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@TaskAID bigint,`、`@检测类型编号 int,`、`@质检类型 NVARCHAR(50),`、`@零件名称 NVARCHAR(200),`、`@内部合同号 int,`、`@零件编码 NVARCHAR(200),`、`@计划号 int,`、`@工序名称 NVARCHAR(100),`、`@检测数量 INT,`、`@合格数 INT,`、`@不合格数 INT,`、`@检测人 NVARCHAR(50),`、`@检测时间 DATETIME,`、`@计划生产数 INT,`、`@检测说明 NVARCHAR(MAX)`。 主要返回字段线索:`@分配数量 = ISNULL(指派数量, 0)`。 关键过滤/匹配条件:`WHERE AID = @TaskAID``WHERE qc.TaskAID = @TaskAID``WHERE task.订单编号 = @计划号``AND task.订单行号 = @当前订单行号``AND qc.质检类型 = '收检'``WHERE 订单编号 = @计划号``AND 订单行号 = @当前订单行号 + 1``AND ISNULL(订单拆分内码, 1) = 1``IF @下一道工序AID IS NOT NULL and @合格数 > 0``WHERE AID = @下一道工序AID and isnull(任务状态, 0) < 1`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [YL_MESDB].[dbo].[YL_质量检验_质检记录] (``UPDATE [dbo].[MES_接口_生产计划_生产任务]``SET 任务状态 = 4``SET 任务状态 = 1`。 实现特征:事务控制、异常捕获。
- `加工中心_异常工时_获取操作记录列表` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 报工或工时处理。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`生产管理_工时校验_校验工时表`、`YL_加工中心_操作记录表`。 入参/分页参数:`@操作人 nvarchar(50)`。 主要返回字段线索:`o.AID, `、`o.操作类别编号, `、`o.操作类别, `、`o.阶段标识, `、`o.工序名称, `、`o.工位编号, `、`o.工位名称, `、`o.操作人 as 指派对象, `、`o.合同号, `、`o.订单编号 as 订单号, `。 关键过滤/匹配条件:`WHERE c.AID IS NULL and o.操作人 = @操作人 and o.操作类别编号 in ('8', '9')`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `加工中心_修改工时_保存修改记录` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 写入或更新对象:`YL_加工中心_操作记录表`。 入参/分页参数:`@TaskAID bigint,`、`@开始时间 datetime,`、`@结束时间 datetime,`、`@工时 int,`、`@操作人 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 关键过滤/匹配条件:`where AID = @TaskAID`。 关键写入/状态处理语句线索:`update [dbo].[YL_加工中心_操作记录表]``set 最后编辑时间 = GETDATE(), 最后编辑人 = @最后编辑人, 实际工时 = @工时, 开始时间 = @开始时间, 结束时间 = @结束时间`。
- `生产管理_加工中心_生产发料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OWOR_OIGE`。 入参/分页参数:`@生产订单号 nvarchar(50)`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OWOR_OIGE where 生产订单号 = @生产订单号`。 关键写入/状态处理语句线索:`set nocount on;`。 实现特征:读取 SAP 数据库对象。
- `工艺管理_图纸维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_零件图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`、`worker`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `工艺管理_工艺维护_查看图纸` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`物料基础数据_工艺图纸`。 入参/分页参数:`@物料编号 NVARCHAR(50)`。 主要返回字段线索:`CASE`、`WHEN uploadTime IS NOT NULL`、`AND ISDATE(uploadTime) = 1`、`AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'`、`THEN name`、`ELSE uid`、`END AS uid`。 关键过滤/匹配条件:`AND ISDATE(uploadTime) = 1``AND CONVERT(DATETIME, uploadTime) > = '2026-01-27 13:01:00'``WHERE num = @物料编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `生产管理_加工中心_退库` 属于 生产执行/工时,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:表:`质量检验_质检任务_SAP`。 写入或更新对象:`质量检验_质检任务_SAP`。 入参/分页参数:`@生产订单号 bigint,`、`@编码 nvarchar(500),`、`@名称 nvarchar(500),`、`@数量 float,`、`@单位 nvarchar(50),`、`@批次信息 nvarchar(50),`、`@最后编辑人 nvarchar(50)`。 主要返回字段线索:`@行号 = max(isnull(行号, 0))`。 关键过滤/匹配条件:`select @行号 = max(isnull(行号, 0)) from [dbo].[质量检验_质检任务_SAP] where [订单编号] = @生产订单号 and [订单类型] = '202-60'`。 关键写入/状态处理语句线索:`insert into [dbo].[质量检验_质检任务_SAP] ( [订单编号]`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID``AND 零件编码 = @零件编码``AND 工序名称 = @工序名称``AND 质检类型 = @质检类型``AND 检测人 = @检测人``AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);``WHERE QT_AID = @ExistingQT_AID;``WHERE QT_AID = @ExistingQT_AID``AND 零件编号 = @零件编码``AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录](``SET @QT_AID = SCOPE_IDENTITY();``SET @ExistingQT_AID = @QT_AID;``SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;``SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;``SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;``UPDATE [dbo].[YL_质量检验_质检记录]``SET``SET @QT_AID = @ExistingQT_AID;``SET @PartResult = 0;``INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。
- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。
- `Prog_MES_GetProductOrder_byAID` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:表:`YL_质量检验_质检记录`;视图:`View_生产订单_MES`。 入参/分页参数:`@TaskAID bigint`。 主要返回字段线索:`@订单编号 = [订单编号], @订单行号 = 订单行号`。 关键过滤/匹配条件:`select @订单编号 = [订单编号], @订单行号 = 订单行号 FROM [View_生产订单_MES] where TaskAID = @TaskAID``WHERE vt.[订单编号] = vo.[订单编号]``AND vt.[订单行号] = vo.[订单行号]-1``AND qc.检测类型编号 = '6'``WHERE [TaskAID] = @TaskAID`。
- `MES_QulityInspection_GetItemStandard` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:表:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 nvarchar(50)`、`@工序名称编号 int`、`@检测类别编号 int`。 主要返回字段线索:`[物料编号]`、`[工序名称编号]`、`[检测项目]`、`[理论值]`、`[上限值]`、`[下限值]`、`[测量单位]`、`[检验比例]`、`[检具]`、`[备注]`。 关键过滤/匹配条件:`where [物料编号] = @物料编号 and [工序名称编号] = @工序名称编号 and [检测类别编号] = @检测类别编号`。
- `MES_QulityInspection_CheckItemData_Save` 属于 质量检验,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、新增、更新、处理质检数据、处理计划/派工。 读取/关联对象:表:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 写入或更新对象:`YL_质量检验_质检记录`、`YL_质量检验_质检记录_检测零件`、`YL_质量检验_质检记录_检测数据`。 入参/分页参数:`@TaskAID bigint`、`@物料编号 nvarchar(100)`、`@阶段标识 int`、`@工序名称 nvarchar(100)`、`@计划号 int`、`@检测项目 nvarchar(500)`、`@理论值 nvarchar(50)`、`@上限值 nvarchar(50)`、`@下限值 nvarchar(50)`、`@实测值 nvarchar(50)`、`@测量单位 nvarchar(50)`、`@检验比例 nvarchar(50)`、`@检具 nvarchar(50)`、`@检测结果 int`、`@合格数 int`、`@不合格数 int`、`@备注 nvarchar(200)`、`@检测人 nvarchar(50)`、`@检测时间 datetime`、`@当前检测零件编号 int`、`@质检类型 nvarchar(100)`、`@检测类型编号 nvarchar(100)`、`@零件名称 nvarchar(100)`、`@内部合同号 nvarchar(100)`。 主要返回字段线索:`@ExistingQT_AID = QT_AID`。 关键过滤/匹配条件:`WHERE TaskAID = @TaskAID``AND 零件编码 = @零件编码``AND 工序名称 = @工序名称``AND 质检类型 = @质检类型``AND 检测人 = @检测人``AND CONVERT(DATE, 检测时间) = CONVERT(DATE, @检测时间);``WHERE QT_AID = @ExistingQT_AID;``WHERE QT_AID = @ExistingQT_AID``AND 零件编号 = @零件编码``AND 当前检测零件编号 = @当前检测零件编号;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO [dbo].[YL_质量检验_质检记录](``SET @QT_AID = SCOPE_IDENTITY();``SET @ExistingQT_AID = @QT_AID;``SET @CurrentQualifiedCount = @CurrentQualifiedCount + @合格数;``SET @CurrentUnqualifiedCount = @CurrentUnqualifiedCount + @不合格数;``SET @CurrentInspectionCount = @CurrentInspectionCount + @检验数量;``UPDATE [dbo].[YL_质量检验_质检记录]``SET``SET @QT_AID = @ExistingQT_AID;``SET @PartResult = 0;``INSERT INTO [dbo].[YL_质量检验_质检记录_检测零件](`。 实现特征:事务控制、异常捕获。
## 57. src/views/QualityManagement/QualityDetails/index.vue
**页面位置**`src/views/QualityManagement/QualityDetails/index.vue`
**所属模块**QualityManagement / QualityDetails
**源码行数**308
### 页面功能
该页面查询质检明细。用户按订单、物料、检验类型、时间等条件查询和导出检测明细。
页面可见的操作/字段包括 “查询”、“Excel导出”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“序号”、“质检类型”、“零件编码”这些是判断页面业务范围的主要线索。
后端主要围绕 `质量管理_质检明细_导出`、`质量管理_质检明细_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `质量管理_质检明细_导出` -> `质量管理_质检明细_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`Excel导出`、`全部`、`收检`、`终检`、`来料检验`、`退库检验`、`序号`、`质检类型`、`零件编码`、`零件名称`、`销售订单号`、`生产订单号`、`工序名称`、`工位名称`、`供应商代码`、`检验数量`、`合格数`
主要方法线索:`tableRowClassName`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.QualityStatus` | `@质检类型` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 参数 | `this.startDate` | `@开始日期` | - |
| 参数 | `this.endDate` | `@结束日期` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.contractNo` | `@合同号` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 参数 | `this.productCode` | `@零件编码` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 参数 | `this.productName` | `@零件名称` | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 参数 | `orderId` | `@订单编号` | - |
| 参数 | `this.pageCurrent` | `@PageCurrent` | - |
| 参数 | `this.pageSize` | `@pageSize` | - |
| 参数 | `'1111', 'int', '1'` | `@PageCount` | - |
| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `质检类型` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 显示列 | `零件编码` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 显示列 | `零件名称` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 显示列 | `销售订单号` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 显示列 | `生产订单号` | - | `SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ` |
| 显示列 | `工序名称` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` |
| 显示列 | `工位名称` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` |
| 显示列 | `供应商代码` | - | `供应商代码` |
| 显示列 | `检验数量` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` |
| 显示列 | `合格数` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` |
| 显示列 | `不合格数` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` |
| 显示列 | `检测人` | - | `256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, ` |
| 显示列 | `检测时间` | - | `256*20 AS 检测时间, 256*20 AS 检测说明` |
| 显示列 | `检测说明` | - | `256*20 AS 检测时间, 256*20 AS 检测说明` |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `contractNo` | `@合同号` | - |
| 输入字段 | `productCode` | `@零件编码` | - |
| 输入字段 | `productName` | `@零件名称` | - |
| 输入字段 | `QualityStatus` | `@质检类型` | - |
| 输入字段 | `startDate` | `@开始日期` | - |
| 输入字段 | `endDate` | `@结束日期` | - |
| 输入字段 | `activeTab` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 174 | 2001导出/报表类过程) | `质量管理_质检明细_导出` | 质量检验处理 | 查询、处理质检数据、处理计划/派工 | 视图:`View_质检明细` |
| 248 | 11当前通用存储过程查询/执行) | `质量管理_质检明细_查询` | 查询/读取数据 | 分页、处理质检数据、处理计划/派工 | 视图:`View_质检明细` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `质量管理_质检明细_导出``CREATE PROCEDURE [dbo].[质量管理_质检明细_导出]``@质检类型 nvarchar(4000) = '10', ``SELECT '质检明细_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype``SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, ``SELECT 0 AS 质检类型, 0 AS 零件编码, 0 AS 零件名称, 0 AS 内部合同号, 0 AS 计划号, ``[质检类型]``FROM [dbo].[View_质检明细]'``IF @质检类型 = '10'`
- `质量管理_质检明细_查询``CREATE PROCEDURE [dbo].[质量管理_质检明细_查询]``@质检类型 nvarchar(4000) = '10', ``DECLARE @tbname sysname = ' [dbo].[View_质检明细] '``IF @质检类型 = '10'``ELSE IF @质检类型 = '0'``SET @where = @where + ' AND 质检类型 = ''收检'' '``ELSE IF @质检类型 = '1'``SET @where = @where + ' AND 质检类型 = ''终检'' '`
### 数据库调用链
- `src/views/QualityManagement/QualityDetails/index.vue` -> `质量管理_质检明细_导出` -> 视图:`View_质检明细` -> 质量检验处理
- `src/views/QualityManagement/QualityDetails/index.vue` -> `质量管理_质检明细_查询` -> 视图:`View_质检明细` -> 查询/读取数据
### 存储过程处理逻辑明细
- `质量管理_质检明细_导出` 属于 质量检验,前端以 type=2001导出/报表类过程)调用,页面用途是 质量检验处理。 数据库处理摘要:查询、处理质检数据、处理计划/派工。 读取/关联对象:视图:`View_质检明细`。 入参/分页参数:`@质检类型 nvarchar(4000)`、`@开始日期 datetime`、`@结束日期 datetime`、`@订单号 nvarchar(4000)`、`@合同号 nvarchar(4000)`、`@零件编码 nvarchar(4000)`、`@零件名称 nvarchar(4000)`。 主要返回字段线索:`'质检明细_' + REPLACE(REPLACE(REPLACE(CONVERT(NVARCHAR(19), GETDATE(), 21), ':', ''), '-', ''), ' ', '-') AS tablename, '15' AS tabletype`、`SELECT 256*12 AS 质检类型, 256*40 AS 零件编码, 256*20 AS 零件名称, 256*12 AS 内部合同号, 256*12 AS 计划号, `、`256*15 AS 工序名称, 256*15 AS 检验数量, 256*10 AS 合格数, 256*25 AS 不合格数, 256*12 AS 检测人, 256*10 AS 工位名称, `、`256*20 AS 检测时间, 256*20 AS 检测说明`、`SELECT 0 AS 质检类型, 0 AS 零件编码, 0 AS 零件名称, 0 AS 内部合同号, 0 AS 计划号, `、`0 AS 工序名称, 0 AS 检验数量, 0 AS 合格数, 0 AS 不合格数, 0 AS 检测人, 0 AS 工位名称, `、`0 AS 检测时间, 0 AS 检测说明`、`DECLARE @where nvarchar(max) = ' where '`、`DECLARE @selStr nvarchar(max) = `、`'SELECT`。 关键过滤/匹配条件:`DECLARE @where nvarchar(max) = ' where '``SET @where = @where + ' (1 = 1) '``SET @where = @where + ' AND 质检类型 = ''收检'' '``SET @where = @where + ' AND 质检类型 = ''终检'' '``SET @where = @where + ' AND 质检类型 = ''来料检验'' '``SET @where = @where + ' AND 质检类型 = ''退库检验'' '``SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '``SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '``SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '``SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @where = @where + ' (1 = 1) '``SET @where = @where + ' AND 质检类型 = ''收检'' '``SET @where = @where + ' AND 质检类型 = ''终检'' '``SET @where = @where + ' AND 质检类型 = ''来料检验'' '``SET @where = @where + ' AND 质检类型 = ''退库检验'' '``SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '``SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '``SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '``SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '``SET @where = @where + ' AND 检测时间 < = ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' '``SET @selStr = @selStr + @where + ' ORDER BY 检测时间 desc'`。 排序/分组/分页线索:`SET @selStr = @selStr + @where + ' ORDER BY 检测时间 desc'`。
- `质量管理_质检明细_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页、处理质检数据、处理计划/派工。 读取/关联对象:视图:`View_质检明细`。 入参/分页参数:`@质检类型 nvarchar(4000)`、`@开始日期 datetime`、`@结束日期 datetime`、`@订单号 nvarchar(4000)`、`@合同号 nvarchar(4000)`、`@零件编码 nvarchar(4000)`、`@零件名称 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`DECLARE @where nvarchar(4000)``SET @where = ' (1 = 1) '``SET @where = @where + ' AND (1 = 1) '``SET @where = @where + ' AND 质检类型 = ''收检'' '``SET @where = @where + ' AND 质检类型 = ''终检'' '``SET @where = @where + ' AND 质检类型 = ''来料检验'' '``SET @where = @where + ' AND 质检类型 = ''退库检验'' '``SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '``SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '``SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @where = ' (1 = 1) '``SET @where = @where + ' AND (1 = 1) '``SET @where = @where + ' AND 质检类型 = ''收检'' '``SET @where = @where + ' AND 质检类型 = ''终检'' '``SET @where = @where + ' AND 质检类型 = ''来料检验'' '``SET @where = @where + ' AND 质检类型 = ''退库检验'' '``SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '``SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '``SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '``SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '``SET @where = @where + ' AND 检测时间 < = ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' '`。 实现特征:分页。
## 58. src/views/QualityManagement/QualityStandardQuery/index copy.vue
**页面位置**`src/views/QualityManagement/QualityStandardQuery/index copy.vue`
**所属模块**QualityManagement / QualityStandardQuery
**源码行数**816
### 页面功能
该页面维护/查询检验标准。用户按物料、工序、检测项目维护理论值、上下限、量具和启用状态。
页面可见的操作/字段包括 “查询 新增标准 修改 删除 确定 取 消”、“确定 取 消”、“item.label”、“序号”、“零件号”、“工序”、“类型”、“检验项目”、“检验内容”、“上限值”这些是判断页面业务范围的主要线索。
后端主要围绕 `Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询`、`质量管理_检验标准表_修改`、`质量管理_检验标准表_删除` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `Prog_MES_LoadProcess` -> `查询字典` -> `质量管理_检验标准表_新增` -> `质量管理_检验标准表_查询` -> `质量管理_检验标准表_修改` -> `质量管理_检验标准表_删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询 新增标准 修改 删除 确定 取 消`、`确定 取 消`、`item.label`、`序号`、`零件号`、`工序`、`类型`、`检验项目`、`检验内容`、`上限值`、`下限值`、`单位`、`检验比例`、`检具`、`备注`、`操作`、`请选择零件号`、`请选择工序`
主要方法线索:`getNoList`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.checkForm.零件号` | `@零件号` | - |
| 参数 | `partNoItem ? partNoItem.value : ""` | `@零件编号` | - |
| 参数 | `this.checkForm.工序` | `@工序` | - |
| 参数 | `processItem ? processItem.value : ""` | `@工序编号` | - |
| 参数 | `this.checkForm.类型` | `@类型` | - |
| 参数 | `typeItem ? typeItem.value : ""` | `@类型编号` | - |
| 参数 | `this.checkForm.检验比例` | `@检验比例` | - |
| 参数 | `this.checkForm.检验项目` | `@检验项目` | - |
| 参数 | `this.checkForm.检验内容` | `@检验内容` | - |
| 参数 | `this.checkForm.上限值` | `@上限值` | - |
| 参数 | `this.checkForm.下限值` | `@下限值` | - |
| 参数 | `this.checkForm.单位` | `@单位` | - |
| 参数 | `this.checkForm.检具` | `@检具` | - |
| 参数 | `this.checkForm.备注` | `@备注` | - |
| 参数 | `this.partNo` | `@零件编号` | - |
| 参数 | `this.process` | `@工序编号` | - |
| 参数 | `this.type` | `@类型编号` | - |
| 参数 | `this.currentEditRow.ID` | `@ID` | - |
| 参数 | `row.ID` | `@ID` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `零件号` | - | `零件号` |
| 显示列 | `工序` | - | `[工艺编号], [工序名称]` |
| 显示列 | `类型` | - | `类型` |
| 显示列 | `检验项目` | - | `检验项目` |
| 显示列 | `检验内容` | - | `检验内容` |
| 显示列 | `上限值` | - | `上限值, ` |
| 显示列 | `下限值` | - | `下限值, ` |
| 显示列 | `单位` | - | `测量单位, ` |
| 显示列 | `检验比例` | - | `检验比例, ` |
| 显示列 | `检具` | - | `检具` |
| 显示列 | `备注` | - | `备注` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `partNo` | `@零件编号` | - |
| 输入字段 | `process` | `@工序编号` | - |
| 输入字段 | `type` | `@类型编号` | - |
| 输入字段 | `checkForm.零件号` | `@零件号` | - |
| 输入字段 | `checkForm.工序` | `@工序` | - |
| 输入字段 | `checkForm.类型` | `@类型` | - |
| 输入字段 | `checkForm.检验比例` | `@检验比例` | - |
| 输入字段 | `checkForm.检验项目` | `@检验项目` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 512 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 524 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 598 | 12当前通用存储过程写入/业务动作) | `质量管理_检验标准表_新增` | 新增业务数据 | 查询、新增、处理质检数据 | 未在 SQL 中解析到明确依赖 |
| 647 | 11当前通用存储过程查询/执行) | `质量管理_检验标准表_查询` | 查询/读取数据 | 查询、处理质检数据 | 未在 SQL 中解析到明确依赖 |
| 734 | 12当前通用存储过程写入/业务动作) | `质量管理_检验标准表_修改` | 更新/保存业务数据 | 查询、更新、处理质检数据 | 未在 SQL 中解析到明确依赖 |
| 773 | 12当前通用存储过程写入/业务动作) | `质量管理_检验标准表_删除` | 删除业务数据 | 查询、删除、处理质检数据 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_新增` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据
- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_修改` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/QualityManagement/QualityStandardQuery/index copy.vue` -> `质量管理_检验标准表_删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据
### 存储过程处理逻辑明细
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `质量管理_检验标准表_新增` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO YL_质量检验_检测标准 (`。 实现特征:事务控制、异常捕获。
- `质量管理_检验标准表_查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测类别编号 INT`。 主要返回字段线索:`AID, `、`物料编号, `、`工序名称编号, `、`检测类别编号, `、`检测项目, `、`理论值, `、`上限值, `、`下限值, `、`测量单位, `、`检验比例, `。 关键过滤/匹配条件:`WHERE (@物料编号 IS NULL OR 物料编号 = @物料编号)``AND (@工序名称编号 IS NULL OR 工序名称编号 = @工序名称编号)``AND (@检测类别编号 IS NULL OR 检测类别编号 = @检测类别编号)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 物料编号, 工序名称编号, 检测类别编号;`。
- `质量管理_检验标准表_修改` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT,`、`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键过滤/匹配条件:`WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE YL_质量检验_检测标准``SET`。 实现特征:事务控制、异常捕获。
- `质量管理_检验标准表_删除` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`IF NOT EXISTS (SELECT 1 FROM YL_质量检验_检测标准 WHERE AID = @AID)``DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 实现特征:事务控制、异常捕获。
## 59. src/views/QualityManagement/QualityStandardQuery/index.vue
**页面位置**`src/views/QualityManagement/QualityStandardQuery/index.vue`
**所属模块**QualityManagement / QualityStandardQuery
**源码行数**786
### 页面功能
该页面维护/查询检验标准。用户按物料、工序、检测项目维护理论值、上下限、量具和启用状态。
页面可见的操作/字段包括 “查询 新增标准 修改 删除 确定 取 消”、“确定 取 消”、“item.label”、“序号”、“物料编号”、“工序名称”、“检测类别”、“检测项目”、“上限值”、“下限值”这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_ProcessManagement_PartGet`、`Prog_MES_LoadProcess`、`查询字典`、`质量管理_检验标准表_新增`、`质量管理_检验标准表_查询`、`质量管理_检验标准表_修改` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_ProcessManagement_PartGet` -> `Prog_MES_LoadProcess` -> `查询字典` -> `质量管理_检验标准表_新增` -> `质量管理_检验标准表_查询` -> `质量管理_检验标准表_修改` -> `质量管理_检验标准表_删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询 新增标准 修改 删除 确定 取 消`、`确定 取 消`、`item.label`、`序号`、`物料编号`、`工序名称`、`检测类别`、`检测项目`、`上限值`、`下限值`、`测量单位`、`检验比例`、`检具`、`备注`、`操作`、`理论值`、`检测类别编号`、`请选择物料编号`
主要方法线索:`getNoList`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.checkForm.物料编号` | `@物料编号` | - |
| 参数 | `this.checkForm.工序名称编号` | `@工序名称编号` | - |
| 参数 | `this.checkForm.检测类别编号` | `@检测类别编号` | - |
| 参数 | `this.checkForm.检测项目` | `@检测项目` | - |
| 参数 | `this.checkForm.理论值` | `@理论值` | - |
| 参数 | `this.checkForm.上限值` | `@上限值` | - |
| 参数 | `this.checkForm.下限值` | `@下限值` | - |
| 参数 | `this.checkForm.测量单位` | `@测量单位` | - |
| 参数 | `this.checkForm.检验比例` | `@检验比例` | - |
| 参数 | `this.checkForm.检具` | `@检具` | - |
| 参数 | `this.checkForm.备注` | `@备注` | - |
| 参数 | `this.物料编号` | `@物料编号` | - |
| 参数 | `this.工序名称编号` | `@工序名称编号` | - |
| 参数 | `this.检测类别编号` | `@检测类别编号` | - |
| 参数 | `this.checkForm.AID` | `@AID` | - |
| 参数 | `row.AID` | `@AID` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `物料编号` | - | `物料编号, ` |
| 显示列 | `工序名称` | - | `[工艺编号], [工序名称]` |
| 显示列 | `检测类别` | - | `检测类别编号, ` |
| 显示列 | `检测项目` | - | `检测项目, ` |
| 显示列 | `上限值` | - | `上限值, ` |
| 显示列 | `下限值` | - | `下限值, ` |
| 显示列 | `测量单位` | - | `测量单位, ` |
| 显示列 | `检验比例` | - | `检验比例, ` |
| 显示列 | `检具` | - | `检具` |
| 显示列 | `备注` | - | `备注` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `物料编号` | `@物料编号` | - |
| 输入字段 | `工序名称编号` | `@工序名称编号` | - |
| 输入字段 | `检测类别编号` | `@检测类别编号` | - |
| 输入字段 | `checkForm.物料编号` | `@物料编号` | - |
| 输入字段 | `checkForm.工序名称编号` | `@工序名称编号` | - |
| 输入字段 | `checkForm.检测类别编号` | `@检测类别编号` | - |
| 输入字段 | `checkForm.检具` | `@检具` | - |
| 输入字段 | `checkForm.检测项目` | `@检测项目` | - |
| 输入字段 | `checkForm.理论值` | `@理论值` | - |
| 输入字段 | `checkForm.上限值` | `@上限值` | - |
| 输入字段 | `checkForm.下限值` | `@下限值` | - |
| 输入字段 | `checkForm.测量单位` | `@测量单位` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 522 | 11当前通用存储过程查询/执行) | `MES_ProcessManagement_PartGet` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` |
| 544 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadProcess` | 查询/读取数据 | 查询 | 表:`基础表_工序` |
| 556 | 11当前通用存储过程查询/执行) | `查询字典` | 查询/读取数据 | 查询 | 表:`YL_基础表_数据字典` |
| 611 | 12当前通用存储过程写入/业务动作) | `质量管理_检验标准表_新增` | 新增业务数据 | 查询、新增、处理质检数据 | 未在 SQL 中解析到明确依赖 |
| 651 | 11当前通用存储过程查询/执行) | `质量管理_检验标准表_查询` | 查询/读取数据 | 查询、处理质检数据 | 未在 SQL 中解析到明确依赖 |
| 703 | 12当前通用存储过程写入/业务动作) | `质量管理_检验标准表_修改` | 更新/保存业务数据 | 查询、更新、处理质检数据 | 未在 SQL 中解析到明确依赖 |
| 742 | 12当前通用存储过程写入/业务动作) | `质量管理_检验标准表_删除` | 删除业务数据 | 查询、删除、处理质检数据 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- MES_ProcessManagement_PartGet: SAP.SBO_YL.dbo.UBT_OITM
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `MES_ProcessManagement_PartGet``SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`
### 数据库调用链
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `MES_ProcessManagement_PartGet` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM` -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `Prog_MES_LoadProcess` -> 表:`基础表_工序` -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `查询字典` -> 表:`YL_基础表_数据字典` -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_新增` -> 未在 SQL 中解析到明确依赖 -> 新增业务数据
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_修改` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/QualityManagement/QualityStandardQuery/index.vue` -> `质量管理_检验标准表_删除` -> 未在 SQL 中解析到明确依赖 -> 删除业务数据
### 存储过程处理逻辑明细
- `MES_ProcessManagement_PartGet` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OITM`。 入参/分页参数:`@过滤 NVARCHAR(200)`。 主要返回字段线索:`top 100 *`。 关键过滤/匹配条件:`SELECT top 100 * FROM SAP.SBO_YL.dbo.UBT_OITM where 物料编码 like '' +'%'+@过滤+'%' +''`。 实现特征:读取 SAP 数据库对象。
- `Prog_MES_LoadProcess` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`基础表_工序`。 主要返回字段线索:`[工艺编号], [工序名称]`。 排序/分组/分页线索:`SELECT [工艺编号], [工序名称] FROM [基础表_工序] ORDER BY [工艺编号]`。
- `查询字典` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:表:`YL_基础表_数据字典`。 主要返回字段线索:`*`。
- `质量管理_检验标准表_新增` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``INSERT INTO YL_质量检验_检测标准 (`。 实现特征:事务控制、异常捕获。
- `质量管理_检验标准表_查询` 属于 工艺与图纸,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测类别编号 INT`。 主要返回字段线索:`AID, `、`物料编号, `、`工序名称编号, `、`检测类别编号, `、`检测项目, `、`理论值, `、`上限值, `、`下限值, `、`测量单位, `、`检验比例, `。 关键过滤/匹配条件:`WHERE (@物料编号 IS NULL OR 物料编号 = @物料编号)``AND (@工序名称编号 IS NULL OR 工序名称编号 = @工序名称编号)``AND (@检测类别编号 IS NULL OR 检测类别编号 = @检测类别编号)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY 物料编号, 工序名称编号, 检测类别编号;`。
- `质量管理_检验标准表_修改` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT,`、`@物料编号 NVARCHAR(100)`、`@工序名称编号 INT`、`@检测项目 NVARCHAR(500)`、`@理论值 NVARCHAR(50)`、`@上限值 NVARCHAR(50)`、`@下限值 NVARCHAR(50)`、`@测量单位 NVARCHAR(50)`、`@检验比例 NVARCHAR(50)`、`@检具 NVARCHAR(100)`、`@备注 NVARCHAR(500)`、`@检测类别编号 INT`。 关键过滤/匹配条件:`WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``UPDATE YL_质量检验_检测标准``SET`。 实现特征:事务控制、异常捕获。
- `质量管理_检验标准表_删除` 属于 工艺与图纸,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除、处理质检数据。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`YL_质量检验_检测标准`。 入参/分页参数:`@AID INT`。 主要返回字段线索:`1`。 关键过滤/匹配条件:`IF NOT EXISTS (SELECT 1 FROM YL_质量检验_检测标准 WHERE AID = @AID)``DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``DELETE FROM YL_质量检验_检测标准 WHERE AID = @AID;`。 实现特征:事务控制、异常捕获。
## 60. src/views/QualityManagement/Unqualified/index.vue
**页面位置**`src/views/QualityManagement/Unqualified/index.vue`
**所属模块**QualityManagement / Unqualified
**源码行数**577
### 页面功能
该页面处理不合格品。用户查询不合格记录,查看处置流程和节点,推进让步放行、返工、报废等处理。
页面可见的操作/字段包括 “查询”、“Excel导出”、“打印”、“item.label”、“全部”、“收检”、“终检”、“来料检验”、“退库检验”、“序号”这些是判断页面业务范围的主要线索。
后端主要围绕 `人员管理_人员信息查询_质检部门_查询`、`质量管理_不合格品处置_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `人员管理_人员信息查询_质检部门_查询` -> `质量管理_不合格品处置_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`Excel导出`、`打印`、`item.label`、`全部`、`收检`、`终检`、`来料检验`、`退库检验`、`序号`、`质检类型`、`零件编码`、`零件名称`、`内部合同号`、`计划号`、`工序名称`、`工位名称`、`供应商代码`
主要方法线索:`getCheckerList`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.QualityStatus` | `@质检类型` | - |
| 参数 | `this.startDate` | `@开始日期` | - |
| 参数 | `this.endDate` | `@结束日期` | - |
| 参数 | `this.orderNo` | `@订单号` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.productCode` | `@零件编码` | - |
| 参数 | `this.productName` | `@零件名称` | - |
| 参数 | `selectedChecker ? selectedChecker.label : 0` | `@检测人` | - |
| 参数 | `this.pageCurrent` | `@PageCurrent` | - |
| 参数 | `this.pageSize` | `@pageSize` | - |
| 参数 | `'1111', 'int', '1'` | `@PageCount` | - |
| 参数 | `'1111', 'int', '1'` | `@ItemCount` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `质检类型` | - | `质检类型` |
| 显示列 | `零件编码` | - | `零件编码` |
| 显示列 | `零件名称` | - | `零件名称` |
| 显示列 | `内部合同号` | - | `内部合同号` |
| 显示列 | `计划号` | - | `计划号` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `工位名称` | - | `工位名称` |
| 显示列 | `供应商代码` | - | `供应商代码` |
| 显示列 | `检验数量` | - | `检验数量` |
| 显示列 | `合格数` | - | `合格数` |
| 显示列 | `不合格数` | - | `不合格数` |
| 显示列 | `检测人` | - | `检测人` |
| 显示列 | `检测时间` | - | `检测时间` |
| 显示列 | `检测说明` | - | `检测说明` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `orderNo` | `@订单号` | - |
| 输入字段 | `contractNo` | `@合同号` | - |
| 输入字段 | `productCode` | `@零件编码` | - |
| 输入字段 | `productName` | `@零件名称` | - |
| 输入字段 | `checker` | - | - |
| 输入字段 | `QualityStatus` | `@质检类型` | - |
| 输入字段 | `startDate` | `@开始日期` | - |
| 输入字段 | `endDate` | `@结束日期` | - |
| 输入字段 | `activeTab` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- Excel/报表导出
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 316 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_质检部门_查询` | 查询/读取数据 | 查询、处理质检数据 | 视图:`登录基础数据_管理人员权限视图` |
| 376 | 11当前通用存储过程查询/执行) | `质量管理_不合格品处置_查询` | 查询/读取数据 | 分页、处理质检数据、处理计划/派工 | 视图:`View_质检明细` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `人员管理_人员信息查询_质检部门_查询``create PROCEDURE [dbo].[人员管理_人员信息查询_质检部门_查询]`
- `质量管理_不合格品处置_查询``@质检类型 nvarchar(4000) = '10', ``DECLARE @tbname sysname = ' [dbo].[View_质检明细] '``IF @质检类型 = '0'``SET @where = @where + ' AND 质检类型 = ''收检'' '``ELSE IF @质检类型 = '1'``SET @where = @where + ' AND 质检类型 = ''终检'' '``ELSE IF @质检类型 = '2'``SET @where = @where + ' AND 质检类型 = ''来料检验'' '`
### 数据库调用链
- `src/views/QualityManagement/Unqualified/index.vue` -> `人员管理_人员信息查询_质检部门_查询` -> 视图:`登录基础数据_管理人员权限视图` -> 查询/读取数据
- `src/views/QualityManagement/Unqualified/index.vue` -> `质量管理_不合格品处置_查询` -> 视图:`View_质检明细` -> 查询/读取数据
### 存储过程处理逻辑明细
- `人员管理_人员信息查询_质检部门_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理质检数据。 读取/关联对象:视图:`登录基础数据_管理人员权限视图`。 主要返回字段线索:`*`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。
- `质量管理_不合格品处置_查询` 属于 质量检验,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页、处理质检数据、处理计划/派工。 读取/关联对象:视图:`View_质检明细`。 入参/分页参数:`@质检类型 nvarchar(4000)`、`@开始日期 datetime`、`@结束日期 datetime`、`@订单号 nvarchar(4000)`、`@合同号 nvarchar(4000)`、`@零件编码 nvarchar(4000)`、`@零件名称 nvarchar(4000)`、`@检测人 nvarchar(4000)`、`@PageCurrent int`、`@PageSize int`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`DECLARE @where nvarchar(4000)``SET @where = ' (1 = 1) '``SET @where = @where + ' AND 质检类型 = ''收检'' '``SET @where = @where + ' AND 质检类型 = ''终检'' '``SET @where = @where + ' AND 质检类型 = ''来料检验'' '``SET @where = @where + ' AND 质检类型 = ''退库检验'' '``SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '``SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '``SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '``SET @where = @where + ' AND 检测人 LIKE ''%' + @检测人 + '%'' '`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``SET @where = ' (1 = 1) '``SET @where = @where + ' AND 质检类型 = ''收检'' '``SET @where = @where + ' AND 质检类型 = ''终检'' '``SET @where = @where + ' AND 质检类型 = ''来料检验'' '``SET @where = @where + ' AND 质检类型 = ''退库检验'' '``SET @where = @where + ' AND 计划号 LIKE ''%' + @订单号 + '%'' '``SET @where = @where + ' AND 零件编码 LIKE ''%' + @零件编码 + '%'' '``SET @where = @where + ' AND 零件名称 LIKE ''%' + @零件名称 + '%'' '``SET @where = @where + ' AND 检测人 LIKE ''%' + @检测人 + '%'' '``SET @where = @where + ' AND 检测时间 > = ''' + CONVERT(nvarchar(30), @开始日期, 120) + ''' '``SET @where = @where + ' AND 检测时间 < = ''' + CONVERT(nvarchar(30), @结束日期, 120) + ''' '`。 实现特征:分页。
## 61. src/views/SaleManagement/saleorderstatus/index.vue
**页面位置**`src/views/SaleManagement/saleorderstatus/index.vue`
**所属模块**SaleManagement / saleorderstatus
**源码行数**804
### 页面功能
该页面查询销售订单状态。用户按销售订单、合同、物料等条件查看销售订单在 SAP/MES 中的履约、生产、发货或关闭状态。
页面可见的操作/字段包括 “查询”、“缺料”、“关闭”、“全部”、“已下达发货通知”、“未下达发货通知”、“机加”、“装配”、“是”、“否”,这些是判断页面业务范围的主要线索。
后端主要围绕 `生产管理_装配中心_缺料查询`、`销售管理_销售订单状态`、`MES_OrderPlanned_DescriptionEdit`、`Prog_MES_LoadStations` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `生产管理_装配中心_缺料查询` -> `销售管理_销售订单状态` -> `MES_OrderPlanned_DescriptionEdit` -> `Prog_MES_LoadStations` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`缺料`、`关闭`、`全部`、`已下达发货通知`、`未下达发货通知`、`机加`、`装配`、`是`、`否`、`加急`、`正常`、`未完成`、`已完成`、`序号`、`工序名称`、`计划数量`、`指派对象`
主要方法线索:`miss`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `row.产品编码` | `@ItemCode` | - |
| 参数 | `row.订单号` | `@订单号` | - |
| 参数 | `this.orderNo ` | `@订单号` | - |
| 参数 | `'自制件'` | `@物料类型` | - |
| 参数 | `this.contractNo` | `@合同号` | - |
| 参数 | `this.productCode` | `@产品编码` | - |
| 参数 | `this.productName` | `@产品名称` | - |
| 参数 | `this.processName` | `@工序名称` | - |
| 参数 | `this.planStartTime[0` | `@计划开始1` | - |
| 参数 | `this.planStartTime[1` | `@计划开始2` | - |
| 参数 | `this.planendTime[0` | `@计划完成1` | - |
| 参数 | `this.planendTime[1` | `@计划完成2` | - |
| 参数 | `this.completionTime ? this.completionTime[0` | `@要求完工日期1` | - |
| 参数 | `this.completionTime ? this.completionTime[1` | `@要求完工日期2` | - |
| 参数 | `this.productionStatus` | `@排产状态` | - |
| 参数 | `'全部'` | `@指派对象` | - |
| 参数 | `this.plannum` | `@计划号` | `v.计划号, ` |
| 参数 | `this.ShipmentStatus` | `@发货状态` | `isnull(发货状态, 0) as [发货状态], ` |
| 参数 | `this.stockStatus` | `@入库状态` | - |
| 参数 | `this.outsourceStatus === '是' ? 1 : 0` | `@是否外协` | - |
| 参数 | `this.currentRow.订单号` | `@订单号` | - |
| 参数 | `this.currentRow.订单行号` | `@订单行号` | - |
| 参数 | `this.currentRow.拆分内码` | `@订单拆分内码` | - |
| 参数 | `this.editForm.优先级` | `@优先级` | - |
| 参数 | `this.editForm.未完成说明` | `@未完成说明` | - |
| 参数 | `this.editForm.派工特殊说明` | `@派工特殊说明` | - |
| 参数 | `this.$store.state.user.name` | `@最后编辑人` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `计划数量` | - | `计划数量` |
| 显示列 | `指派对象` | - | `指派对象` |
| 显示列 | `开始时间` | - | `计划开始时间` |
| 显示列 | `结束时间` | - | `计划完成时间` |
| 显示列 | `完成进度` | - | `进度` |
| 显示列 | `完成数量` | - | `完成数量` |
| 显示列 | `合格数` | - | `收检合格数` |
| 显示列 | `不良数` | - | `收检不合格数` |
| 显示列 | `任务状态` | - | `任务状态` |
| 显示列 | `加工状态` | - | `加工状态` |
| 显示列 | `操作` | - | `操作` |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 315 | 11当前通用存储过程查询/执行) | `生产管理_装配中心_缺料查询` | 查询/读取数据 | 查询、读取 SAP B1 数据库对象 | SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` |
| 584 | 11当前通用存储过程查询/执行) | `销售管理_销售订单状态` | 业务存储过程调用 | 查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务 | 视图:`View_生产订单_MES` |
| 618 | 12当前通用存储过程写入/业务动作) | `MES_OrderPlanned_DescriptionEdit` | 更新/保存业务数据 | 更新、处理计划/派工 | 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` |
| 677 | 11当前通用存储过程查询/执行) | `Prog_MES_LoadStations` | 查询/读取数据 | 查询、处理外协业务 | 表:`MES_资源主数据` |
### 与 SAP 的交互
存储过程内读取 SAP B1 数据库对象:
- 生产管理_装配中心_缺料查询: SAP.SBO_YL.dbo.UBT_OPKL_MissQty
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `生产管理_装配中心_缺料查询``select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`
- `销售管理_销售订单状态``CREATE PROCEDURE [dbo].[销售管理_销售订单状态]``@计划完成1 nvarchar(50) = '', ``@计划完成2 nvarchar(50) = '', ``@排产状态 nvarchar(50) = '全部', ``@发货状态 nvarchar(50) = '全部', ``@入库状态 nvarchar(50) = '全部'``拣配状态, ``isnull(发货状态, 0) as [发货状态], `
- `MES_OrderPlanned_DescriptionEdit``@未完成说明 nvarchar(50) = '', ``@派工特殊说明 nvarchar(500) = '', ``Update [MES_接口_生产计划_生产任务] set``未完成说明 = @未完成说明, ``派工特殊说明 = @派工特殊说明, `
### 数据库调用链
- `src/views/SaleManagement/saleorderstatus/index.vue` -> `生产管理_装配中心_缺料查询` -> SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty` -> 查询/读取数据
- `src/views/SaleManagement/saleorderstatus/index.vue` -> `销售管理_销售订单状态` -> 视图:`View_生产订单_MES` -> 业务存储过程调用
- `src/views/SaleManagement/saleorderstatus/index.vue` -> `MES_OrderPlanned_DescriptionEdit` -> 表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务` -> 更新/保存业务数据
- `src/views/SaleManagement/saleorderstatus/index.vue` -> `Prog_MES_LoadStations` -> 表:`MES_资源主数据` -> 查询/读取数据
### 存储过程处理逻辑明细
- `生产管理_装配中心_缺料查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、读取 SAP B1 数据库对象。 读取/关联对象SAP/链接库:`SAP.SBO_YL.dbo.UBT_OPKL_MissQty`。 入参/分页参数:`@ItemCode nvarchar(500),`、`@订单号 int`。 主要返回字段线索:`*`。 关键过滤/匹配条件:`select * from SAP.SBO_YL.dbo.UBT_OPKL_MissQty where DocEntry = @订单号`。 实现特征:读取 SAP 数据库对象。
- `销售管理_销售订单状态` 属于 销售/订单状态,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 业务存储过程调用。 数据库处理摘要:查询、处理报工/工时、处理质检数据、处理计划/派工、处理外协业务。 读取/关联对象:视图:`View_生产订单_MES`。 入参/分页参数:`@订单号 int`、`@物料类型 nvarchar(50)`、`@合同号 nvarchar(50)`、`@产品编码 nvarchar(50)`、`@产品名称 nvarchar(50)`、`@工序名称 nvarchar(50)`、`@要求完工日期1 nvarchar(50)`、`@要求完工日期2 nvarchar(50)`、`@计划开始1 nvarchar(50)`、`@计划开始2 nvarchar(50)`、`@计划完成1 nvarchar(50)`、`@计划完成2 nvarchar(50)`、`@排产状态 nvarchar(50)`、`@指派对象 nvarchar(50)`、`@计划号 nvarchar(50)`、`@发货状态 nvarchar(50)`、`@入库状态 nvarchar(50)`。 主要返回字段线索:`top 200`、`v.计划号, `、`拣配状态, `、`入库数量, `、`要求发货日期, `、`isnull(发货状态, 0) as [发货状态], `、`case`、`when isnull(发料状态, 0) = 1 then ''发料齐套''`、`when isnull(发料状态, 0) = 2 then ''发料缺件''`、`when isnull(发料状态, 0) = 0 then ''未发料''`。 关键过滤/匹配条件:`DECLARE @selectStrWhere NVARCHAR(4000) = ' WHERE [物料类型] = ''pit_Resource'' and 自制件属性 LIKE ''%装配%'' '``WHERE 质检类型 = ''终检''``WHERE 质检类型 = ''收检''``SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''``SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] > = ''' + @要求完工日期1 + ''''`。 关键写入/状态处理语句线索:`SET @selectStr = N'``SET @selectStrWhere = @selectStrWhere + ' AND [订单编号] = ' + CONVERT(VARCHAR(10), @订单号)``SET @selectStrWhere = @selectStrWhere + ' AND v.[计划号] = '''+@计划号+''''``SET @selectStrWhere = @selectStrWhere + ' AND [合同号] LIKE ''%' + @合同号 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料编号] LIKE ''%' + @产品编码 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [物料描述] LIKE ''%' + @产品名称 + '%'''``SET @selectStrWhere = @selectStrWhere + ' AND [工序名称] = ''' + @工序名称 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] > = ''' + @要求完工日期1 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成] < = ''' + @要求完工日期2 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] > = ''' + @计划开始1 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划开始时间] < = ''' + @计划开始2 + ''''``SET @selectStrWhere = @selectStrWhere + ' AND [计划完成时间] > = ''' + @计划完成1 + ''''`。 排序/分组/分页线索:`GROUP BY TaskAID``SET @selectStrWhere = @selectStrWhere + ' ORDER BY [合同号] DESC, [订单编号] DESC '`。
- `MES_OrderPlanned_DescriptionEdit` 属于 计划排产,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、处理计划/派工。 读取/关联对象:表:`MES_接口_生产计划`、`MES_接口_生产计划_生产任务`。 写入或更新对象:`MES_接口_生产计划_生产任务`。 入参/分页参数:`@订单号 int,`、`@订单行号 int,`、`@订单拆分内码 int,`、`@优先级 nvarchar(50)`、`@未完成说明 nvarchar(50)`、`@派工特殊说明 nvarchar(500)`、`@最后编辑人 nvarchar(500)`。 关键过滤/匹配条件:`WHERE 订单编号 = @订单号 and 订单行号 = @订单行号 and 订单拆分内码 = @订单拆分内码`。 关键写入/状态处理语句线索:`Update [MES_接口_生产计划_生产任务] set`。
- `Prog_MES_LoadStations` 属于 通用业务,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理外协业务。 读取/关联对象:表:`MES_资源主数据`。 主要返回字段线索:`[VisCode], [Name] as OPName`。 关键过滤/匹配条件:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。 排序/分组/分页线索:`SELECT [VisCode], [Name] as OPName FROM [MES_资源主数据] where type = 'rtMachine' AND Active = 'tYES' AND IssueMethod = 'rimManual' or Name = '外协' order by VisCode`。
## 62. src/views/SystemMaintenance/MenuManagement/index.vue
**页面位置**`src/views/SystemMaintenance/MenuManagement/index.vue`
**所属模块**SystemMaintenance / MenuManagement
**源码行数**480
### 页面功能
该页面维护菜单和权限。管理员查询、增加、修改、删除菜单/角色权限配置,用于动态路由和按钮权限。
页面可见的操作/字段包括 “取消”、“确定”、“item.label”、“模块名称”、“模块路径”、“请选择”、“输入关键字进行过滤”、“新增一级模块”这些是判断页面业务范围的主要线索。
后端主要围绕 `菜单系统模块_项目角色_查询数据_MESWORK` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `菜单系统模块_项目角色_查询数据_MESWORK` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`取消`、`确定`、`item.label`、`模块名称`、`模块路径`、`请选择`、`输入关键字进行过滤`、`新增一级模块`
主要方法线索:`returnModule`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `模块名称` | - | `模块名称` |
| 显示列 | `模块路径` | - | `模块路径` |
| 输入字段 | `roleName` | - | - |
| 输入字段 | `filterTextLeft` | - | - |
| 输入字段 | `filterText` | - | - |
| 输入字段 | `data.AuthButtonsAll` | - | - |
| 输入字段 | `data.SearchData` | - | - |
| 输入字段 | `data.AddData` | - | - |
| 输入字段 | `data.EditData` | - | - |
| 输入字段 | `data.DeleteData` | - | - |
| 输入字段 | `filterTextRight` | - | - |
| 输入字段 | `form1.moduleName` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 434 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/SystemMaintenance/MenuManagement/index.vue` -> `菜单系统模块_项目角色_查询数据_MESWORK` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
### 存储过程处理逻辑明细
- `菜单系统模块_项目角色_查询数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@角色功能 nvarchar(50)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)``set @where = ' 1 = 1 AND Roles_number ! = 1 '``set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''``PRINT @where``exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @where = ' 1 = 1 AND Roles_number ! = 1 '``set @tbname = '登录基础数据_角色信息'``set @fieldkey = ' Roles_number '``set @fieldOrder = ' Roles_number '``set @fieldshow = ''``set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`。 实现特征:分页。
## 63. src/views/SystemMaintenance/OperationLog/index.vue
**页面位置**`src/views/SystemMaintenance/OperationLog/index.vue`
**所属模块**SystemMaintenance / OperationLog
**源码行数**183
### 页面功能
该页面查询操作日志或报工操作记录,用于审计用户操作和追踪异常。
页面可见的操作/字段包括 “查询”、“订单编号”、“操作人”、“序号”、“操作类别”、“工序名称”、“工位名称”、“合同号”、“物料编号”、“物料描述”,这些是判断页面业务范围的主要线索。
后端主要围绕 `系统管理_报工操作记录_查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `系统管理_报工操作记录_查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`订单编号`、`操作人`、`序号`、`操作类别`、`工序名称`、`工位名称`、`合同号`、`物料编号`、`物料描述`、`操作数值`、`开始时间`、`结束时间`、`人员工时`、`设备工时`、`最后编辑人`、`最后编辑时间`、`操作描述`
主要方法线索:`searchData`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.queryParams.订单编号` | `@订单编号` | - |
| 参数 | `this.queryParams.操作人` | `@操作人` | - |
| 显示列 | `序号` | - | `序号` |
| 显示列 | `订单编号` | - | `订单编号` |
| 显示列 | `操作类别` | - | `操作类别` |
| 显示列 | `工序名称` | - | `工序名称` |
| 显示列 | `工位名称` | - | `工位名称` |
| 显示列 | `操作人` | - | `操作人` |
| 显示列 | `合同号` | - | `合同号` |
| 显示列 | `物料编号` | - | `物料编号` |
| 显示列 | `物料描述` | - | `物料描述` |
| 显示列 | `操作数值` | - | `操作数值` |
| 显示列 | `开始时间` | - | `开始时间` |
| 显示列 | `结束时间` | - | `结束时间` |
| 显示列 | `人员工时` | - | `总时长` |
| 显示列 | `设备工时` | - | `实际工时` |
| 显示列 | `最后编辑人` | - | `最后编辑人` |
| 显示列 | `最后编辑时间` | - | `最后编辑时间` |
| 显示列 | `操作描述` | - | `操作描述` |
| 输入字段 | `queryParams.订单编号` | `@订单编号` | - |
| 输入字段 | `queryParams.操作人` | `@操作人` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 115 | 11当前通用存储过程查询/执行) | `系统管理_报工操作记录_查询` | 查询/读取数据 | 查询、处理报工/工时 | 表:`YL_加工中心_操作记录表` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
- `系统管理_报工操作记录_查询``FROM [dbo].[YL_加工中心_操作记录表]`
### 数据库调用链
- `src/views/SystemMaintenance/OperationLog/index.vue` -> `系统管理_报工操作记录_查询` -> 表:`YL_加工中心_操作记录表` -> 查询/读取数据
### 存储过程处理逻辑明细
- `系统管理_报工操作记录_查询` 属于 生产执行/工时,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询、处理报工/工时。 读取/关联对象:表:`YL_加工中心_操作记录表`。 入参/分页参数:`@订单编号 NVARCHAR(100)`、`@操作人 NVARCHAR(100)`。 主要返回字段线索:`top 100`、`*`。 关键过滤/匹配条件:`WHERE 1 = 1``AND (@订单编号 IS NULL OR 订单编号 = @订单编号)``AND (@操作人 IS NULL OR 操作人 = @操作人)`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;`。 排序/分组/分页线索:`ORDER BY AID DESC`。
## 64. src/views/SystemMaintenance/OrgManagement/index.vue
**页面位置**`src/views/SystemMaintenance/OrgManagement/index.vue`
**所属模块**SystemMaintenance / OrgManagement
**源码行数**240
### 页面功能
该页面维护组织/角色类基础数据,支持新增、修改、删除和查询。
页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“部门名称”、“请输入部门名称”、“新增部门”、“编辑部门”,这些是判断页面业务范围的主要线索。
后端主要围绕 `菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `菜单系统模块_项目角色_查询数据_MESWORK` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> `菜单系统模块_项目角色_增加_MESWORK` -> `菜单系统模块_项目角色_删除_MESWORK` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`新增`、`编辑`、`删除`、`确 定`、`取消`、`部门名称`、`请输入部门名称`、`新增部门`、`编辑部门`
主要方法线索:`searchData`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `部门名称` | - | `部门名称` |
| 显示列 | `编辑` | - | `编辑` |
| 输入字段 | `RoleFunctioning` | - | - |
| 输入字段 | `form.角色功能` | - | - |
| 输入字段 | `form2.角色功能` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 120 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 |
| 145 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_修改数据_MESWORK` | 更新/保存业务数据 | 查询、更新 | 表:`登录基础数据_角色信息` |
| 175 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_增加_MESWORK` | 新增业务数据 | 查询、新增 | 表:`登录基础数据_角色信息` |
| 202 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_删除_MESWORK` | 删除业务数据 | 查询、删除 | 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_查询数据_MESWORK` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> 表:`登录基础数据_角色信息` -> 更新/保存业务数据
- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_增加_MESWORK` -> 表:`登录基础数据_角色信息` -> 新增业务数据
- `src/views/SystemMaintenance/OrgManagement/index.vue` -> `菜单系统模块_项目角色_删除_MESWORK` -> 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` -> 删除业务数据
### 存储过程处理逻辑明细
- `菜单系统模块_项目角色_查询数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@角色功能 nvarchar(50)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)``set @where = ' 1 = 1 AND Roles_number ! = 1 '``set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''``PRINT @where``exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @where = ' 1 = 1 AND Roles_number ! = 1 '``set @tbname = '登录基础数据_角色信息'``set @fieldkey = ' Roles_number '``set @fieldOrder = ' Roles_number '``set @fieldshow = ''``set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`。 实现特征:分页。
- `菜单系统模块_项目角色_修改数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50),`、`@角色编号 int`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能 AND [Roles_number] ! = @角色编号``WHERE [Roles_number] = @角色编号`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_角色信息]``SET`。
- `菜单系统模块_项目角色_增加_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50)`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能`。 关键写入/状态处理语句线索:`INSERT INTO [dbo].[登录基础数据_角色信息]( [Roles_Function])`。
- `菜单系统模块_项目角色_删除_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色编号 int`。 主要返回字段线索:`@是否分配菜单 = COUNT(*)`。 关键过滤/匹配条件:`select @是否分配菜单 = COUNT(*) from [dbo].[登录基础数据_二级菜单] where 账号代码 = @角色编号``select @是否分配人员 = COUNT(*) from [dbo].[登录基础数据_人员权限角色] where Roles_number = @角色编号``delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。
## 65. src/views/SystemMaintenance/PersonnelManagement/index.vue
**页面位置**`src/views/SystemMaintenance/PersonnelManagement/index.vue`
**所属模块**SystemMaintenance / PersonnelManagement
**源码行数**526
### 页面功能
该页面维护人员账号。管理员维护人员、部门、角色、启用状态等登录和权限基础数据。
页面可见的操作/字段包括 “查询”、“新增”、“重置密码”、“编辑”、“确 定”、“取消”、“item.label”、“姓名”、“工号”、“密码”这些是判断页面业务范围的主要线索。
后端主要围绕 `人员管理_角色信息初始化查询_查询`、`登录基础数据_人员信息_切换是否用户`、`人员管理_人员信息查询_查询`、`人员管理_人员信息修改_编辑`、`人员管理_人员信息修改_删除`、`人员管理_人员信息新增_新增` 等过程 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `人员管理_角色信息初始化查询_查询` -> `登录基础数据_人员信息_切换是否用户` -> `人员管理_人员信息查询_查询` -> `人员管理_人员信息修改_编辑` -> `人员管理_人员信息修改_删除` -> `人员管理_人员信息新增_新增` -> `WEB_摄像头查看权限_查询` -> `WEB_登录基础数据_人员信息_重置密码` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`新增`、`重置密码`、`编辑`、`确 定`、`取消`、`item.label`、`姓名`、`工号`、`密码`、`角色`、`操作`、`请输入姓名`、`请选择角色`、`请输入工号`、`请输入密码`、`title`、`title1`
主要方法线索:`getPersonalrole`、`for`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `姓名` | - | `姓名` |
| 显示列 | `工号` | - | `工号` |
| 显示列 | `密码` | - | `密码` |
| 显示列 | `角色` | - | `角色` |
| 显示列 | `操作` | - | `操作` |
| 输入字段 | `PersonalName` | - | - |
| 输入字段 | `PersonalroleValue` | - | - |
| 输入字段 | `scope.row.personnel_name` | - | - |
| 输入字段 | `scope.row.account` | - | - |
| 输入字段 | `scope.row.password` | - | - |
| 输入字段 | `form.PersonalName` | - | - |
| 输入字段 | `form.account` | - | - |
| 输入字段 | `form.password` | - | - |
| 输入字段 | `form.PersonalroleValue` | - | - |
| 输入字段 | `form1.PersonalName` | - | - |
| 输入字段 | `form1.account` | - | - |
| 输入字段 | `form1.password` | - | - |
| 输入字段 | `form1.PersonalroleValue` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 193 | 11当前通用存储过程查询/执行) | `人员管理_角色信息初始化查询_查询` | 查询/读取数据 | 查询 | 未在 SQL 中解析到明确依赖 |
| 207 | 12当前通用存储过程写入/业务动作) | `登录基础数据_人员信息_切换是否用户` | 基础权限/人员数据处理 | 未找到过程体 | 未知 |
| 243 | 11当前通用存储过程查询/执行) | `人员管理_人员信息查询_查询` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 |
| 296 | 12当前通用存储过程写入/业务动作) | `人员管理_人员信息修改_编辑` | 更新/保存业务数据 | 更新 | 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` |
| 325 | 12当前通用存储过程写入/业务动作) | `人员管理_人员信息修改_删除` | 更新/保存业务数据 | 更新、删除 | 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` |
| 374 | 11当前通用存储过程查询/执行) | `人员管理_人员信息新增_新增` | 新增业务数据 | 查询、新增 | 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` |
| 410 | 11当前通用存储过程查询/执行) | `WEB_摄像头查看权限_查询` | 查询/读取数据 | 未找到过程体 | 未知 |
| 429 | 12当前通用存储过程写入/业务动作) | `WEB_登录基础数据_人员信息_重置密码` | 基础权限/人员数据处理 | 查询、更新 | 表:`登录基础数据_人员信息` |
| 441 | 11当前通用存储过程查询/执行) | `WEB_人员设备查看权限_查询` | 查询/读取数据 | 未找到过程体 | 未知 |
| 459 | 12当前通用存储过程写入/业务动作) | `WEB_人员设备查看权限_权限切换` | 查询/读取数据 | 未找到过程体 | 未知 |
| 479 | 12当前通用存储过程写入/业务动作) | `WEB_人员摄像头查看权限_权限切换` | 查询/读取数据 | 未找到过程体 | 未知 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_角色信息初始化查询_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `登录基础数据_人员信息_切换是否用户` -> 过程体未解析 -> 基础权限/人员数据处理
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息查询_查询` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息修改_编辑` -> 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` -> 更新/保存业务数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息修改_删除` -> 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` -> 更新/保存业务数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `人员管理_人员信息新增_新增` -> 表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色` -> 新增业务数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_摄像头查看权限_查询` -> 过程体未解析 -> 查询/读取数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_登录基础数据_人员信息_重置密码` -> 表:`登录基础数据_人员信息` -> 基础权限/人员数据处理
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_人员设备查看权限_查询` -> 过程体未解析 -> 查询/读取数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_人员设备查看权限_权限切换` -> 过程体未解析 -> 查询/读取数据
- `src/views/SystemMaintenance/PersonnelManagement/index.vue` -> `WEB_人员摄像头查看权限_权限切换` -> 过程体未解析 -> 查询/读取数据
### 存储过程处理逻辑明细
- `人员管理_角色信息初始化查询_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 主要返回字段线索:`*`。 关键过滤/匹配条件:`where [Roles_number] 1`。
- `登录基础数据_人员信息_切换是否用户` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 基础权限/人员数据处理。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `人员管理_人员信息查询_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@姓名_check int`、`@姓名 nvarchar(500)`、`@角色代码_check int`、`@角色代码 nvarchar(500)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)``set @where = ' 1 = 1 '``set @where = @where + ' and Personnel_Number is not null'``set @where = @where+' and Personnel_Name like '+substring(@a, 1, 1)+'%'+@姓名+substring(@a, 1, 1) + '+'+substring(@a, 1, 1)+'%'+substring(@a, 1, 1)``set @where = @where+' and Roles_number = ' + CAST(@角色代码 AS NVARCHAR(50))``exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @where = ' 1 = 1 '``set @tbname = '登录基础数据_管理人员权限视图'``set @fieldkey = ' Personnel_Number '``set @fieldOrder = ' Personnel_Number desc '``set @fieldshow = ''``set @a = ''''``set @where = @where + ' and Personnel_Number is not null'``set @where = @where+' and Personnel_Name like '+substring(@a, 1, 1)+'%'+@姓名+substring(@a, 1, 1) + '+'+substring(@a, 1, 1)+'%'+substring(@a, 1, 1)``set @where = @where+' and Roles_number = ' + CAST(@角色代码 AS NVARCHAR(50))`。 实现特征:分页。
- `人员管理_人员信息修改_编辑` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新。 读取/关联对象:表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 写入或更新对象:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 入参/分页参数:`@Personnel_Number int`、`@account nvarchar(50)`、`@password nvarchar(50)`、`@Personnel_Name nvarchar(50)`、`@Roles_number int`。 关键过滤/匹配条件:`where Personnel_Number = @Personnel_Number`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_人员信息]``SET``UPDATE [dbo].[登录基础数据_人员权限角色]`。
- `人员管理_人员信息修改_删除` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:更新、删除。 读取/关联对象:表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 写入或更新对象:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 入参/分页参数:`@Personnel_Number int`。 关键过滤/匹配条件:`where Personnel_Number = @Personnel_Number``delete from [dbo].[登录基础数据_人员权限角色] where Personnel_Number = @Personnel_Number`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_人员信息]``SET``delete from [dbo].[登录基础数据_人员权限角色] where Personnel_Number = @Personnel_Number`。
- `人员管理_人员信息新增_新增` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 写入或更新对象:`登录基础数据_人员信息`、`登录基础数据_人员权限角色`。 入参/分页参数:`@account nvarchar(50)`、`@password nvarchar(50)`、`@Personnel_Name nvarchar(50)`、`@Roles_number int`。 主要返回字段线索:`count(*)`。 关键过滤/匹配条件:`if(select count(*) from [登录基础数据_人员信息] where account = @account ) = 0``where account = @account`。 关键写入/状态处理语句线索:`INSERT INTO [登录基础数据_人员信息]``INSERT INTO [登录基础数据_人员权限角色]`。
- `WEB_摄像头查看权限_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_登录基础数据_人员信息_重置密码` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询、更新。 读取/关联对象:表:`登录基础数据_人员信息`。 写入或更新对象:`登录基础数据_人员信息`。 入参/分页参数:`@Personnel_Number int`。 关键过滤/匹配条件:`update 登录基础数据_人员信息 set password = '123456' where [Personnel_Number] = @Personnel_Number`。 关键写入/状态处理语句线索:`update 登录基础数据_人员信息 set password = '123456' where [Personnel_Number] = @Personnel_Number`。
- `WEB_人员设备查看权限_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_人员设备查看权限_权限切换` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_人员摄像头查看权限_权限切换` 属于 系统基础资料/权限,前端以 type=12当前通用存储过程写入/业务动作)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
## 66. src/views/SystemMaintenance/SystemRrolemaintenance/index.vue
**页面位置**`src/views/SystemMaintenance/SystemRrolemaintenance/index.vue`
**所属模块**SystemMaintenance / SystemRrolemaintenance
**源码行数**276
### 页面功能
该页面维护系统角色。管理员查询、新增、修改、删除角色数据。
页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“角色功能”、“角色名称”、“请输入角色功能”、“新增角色”,这些是判断页面业务范围的主要线索。
后端主要围绕 `菜单系统模块_项目角色_查询数据_MESWORK`、`菜单系统模块_项目角色_修改数据_MESWORK`、`菜单系统模块_项目角色_增加_MESWORK`、`菜单系统模块_项目角色_删除_MESWORK` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `菜单系统模块_项目角色_查询数据_MESWORK` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> `菜单系统模块_项目角色_增加_MESWORK` -> `菜单系统模块_项目角色_删除_MESWORK` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`新增`、`编辑`、`删除`、`确 定`、`取消`、`角色功能`、`角色名称`、`请输入角色功能`、`新增角色`、`编辑角色`
主要方法线索:`searchData`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `角色功能` | - | `角色功能` |
| 显示列 | `编辑` | - | `编辑` |
| 输入字段 | `RoleFunctioning` | - | - |
| 输入字段 | `form.角色功能` | - | - |
| 输入字段 | `form2.角色功能` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 156 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_查询数据_MESWORK` | 查询/读取数据 | 分页 | 未在 SQL 中解析到明确依赖 |
| 181 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_修改数据_MESWORK` | 更新/保存业务数据 | 查询、更新 | 表:`登录基础数据_角色信息` |
| 211 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_增加_MESWORK` | 新增业务数据 | 查询、新增 | 表:`登录基础数据_角色信息` |
| 238 | 11当前通用存储过程查询/执行) | `菜单系统模块_项目角色_删除_MESWORK` | 删除业务数据 | 查询、删除 | 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_查询数据_MESWORK` -> 未在 SQL 中解析到明确依赖 -> 查询/读取数据
- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_修改数据_MESWORK` -> 表:`登录基础数据_角色信息` -> 更新/保存业务数据
- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_增加_MESWORK` -> 表:`登录基础数据_角色信息` -> 新增业务数据
- `src/views/SystemMaintenance/SystemRrolemaintenance/index.vue` -> `菜单系统模块_项目角色_删除_MESWORK` -> 表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` -> 删除业务数据
### 存储过程处理逻辑明细
- `菜单系统模块_项目角色_查询数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:分页。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@角色功能 nvarchar(50)`、`@PageCurrent int,`、`@PageSize int,`、`@PageCount int`、`@ItemCount int`。 关键过滤/匹配条件:`declare @where nvarchar(1000)``set @where = ' 1 = 1 AND Roles_number ! = 1 '``set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''``PRINT @where``exec dbo.sp_xt_pagesplit @tbname, @fieldkey, @where, @fieldshow, @fieldOrder, @PageCurrent, @PageSize, @PageCount out, @ItemCount out`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``set @where = ' 1 = 1 AND Roles_number ! = 1 '``set @tbname = '登录基础数据_角色信息'``set @fieldkey = ' Roles_number '``set @fieldOrder = ' Roles_number '``set @fieldshow = ''``set @where = @where + ' AND [Roles_Function] like ' +'''' + '%' + @角色功能 + '%'+''''`。 实现特征:分页。
- `菜单系统模块_项目角色_修改数据_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50),`、`@角色编号 int`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能 AND [Roles_number] ! = @角色编号``WHERE [Roles_number] = @角色编号`。 关键写入/状态处理语句线索:`UPDATE [dbo].[登录基础数据_角色信息]``SET`。
- `菜单系统模块_项目角色_增加_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`登录基础数据_角色信息`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色功能 nvarchar(50)`。 主要返回字段线索:`@同名角色是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名角色是否存在 = count(*) FROM [登录基础数据_角色信息] WHERE [Roles_Function] = @角色功能`。 关键写入/状态处理语句线索:`INSERT INTO [dbo].[登录基础数据_角色信息]( [Roles_Function])`。
- `菜单系统模块_项目角色_删除_MESWORK` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:表:`登录基础数据_角色信息`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单`。 写入或更新对象:`登录基础数据_角色信息`。 入参/分页参数:`@角色编号 int`。 主要返回字段线索:`@是否分配菜单 = COUNT(*)`。 关键过滤/匹配条件:`select @是否分配菜单 = COUNT(*) from [dbo].[登录基础数据_二级菜单] where 账号代码 = @角色编号``select @是否分配人员 = COUNT(*) from [dbo].[登录基础数据_人员权限角色] where Roles_number = @角色编号``delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``delete from [dbo].[登录基础数据_角色信息] where Roles_number = @角色编号`。
## 67. src/views/SystemMaintenance/WorkstationManagement/index.vue
**页面位置**`src/views/SystemMaintenance/WorkstationManagement/index.vue`
**所属模块**SystemMaintenance / WorkstationManagement
**源码行数**306
### 页面功能
该页面维护工位资源。管理员在 MES 侧新增、修改、删除工位,同时调用 SAP B1 Resources 新增或更新资源主数据。
页面可见的操作/字段包括 “查询”、“新增”、“编辑”、“删除”、“确 定”、“取消”、“工位名称”、“工位号”、“请输入工位名称”、“新增工位”,这些是判断页面业务范围的主要线索。
后端主要围绕 `MES_登录_工位与名称_查询`、`系统管理_工位管理_工位信息修改`、`系统管理_工位管理_工位信息增加`、`系统管理_工位管理_工位信息删除` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `MES_登录_工位与名称_查询` -> `系统管理_工位管理_工位信息修改` -> `系统管理_工位管理_工位信息增加` -> `系统管理_工位管理_工位信息删除` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`查询`、`新增`、`编辑`、`删除`、`确 定`、`取消`、`工位名称`、`工位号`、`请输入工位名称`、`新增工位`、`编辑工位`
主要方法线索:`searchData`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `工位名称` | - | `[Name] as 工位名称` |
| 显示列 | `工位号` | - | `[VisCode] as 工位号` |
| 显示列 | `编辑` | - | `编辑` |
| 输入字段 | `RoleFunctioning` | - | - |
| 输入字段 | `form.工位名称` | - | - |
| 输入字段 | `form.工位号` | - | - |
| 输入字段 | `form2.工位名称` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
- SAP B1 Service Layer`src/api/b1s.js`
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 168 | 11当前通用存储过程查询/执行) | `MES_登录_工位与名称_查询` | 查询/读取数据 | 查询 | 视图:`View_基础数据_工位` |
| 192 | 11当前通用存储过程查询/执行) | `系统管理_工位管理_工位信息修改` | 更新/保存业务数据 | 查询、更新 | 表:`MES_资源主数据` |
| 228 | 11当前通用存储过程查询/执行) | `系统管理_工位管理_工位信息增加` | 新增业务数据 | 查询、新增 | 表:`MES_资源主数据` |
| 268 | 11当前通用存储过程查询/执行) | `系统管理_工位管理_工位信息删除` | 删除业务数据 | 查询、删除 | 表:`MES_资源主数据`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` |
### 与 SAP 的交互
页面直接 SAP/接口调用:
- 第 201 行:`patchB1("/Resources('")`
- 第 235 行:`postB1("/Resources")`
### SAP 接口级说明
| 行号 | 方法 | 接口 | 调用时机/影响判断 | 提交字段线索 |
|---:|---|---|---|---|
| 201 | `patchB1` | `/Resources('` | 新增或更新 SAP 资源主数据。失败会导致 MES 工位与 SAP 资源不一致。 | `Name`、`message`、`type`、`VisCode`、`ForeignName` |
| 235 | `postB1` | `/Resources` | 新增或更新 SAP 资源主数据。失败会导致 MES 工位与 SAP 资源不一致。 | `VisCode`、`Name`、`ForeignName`、`Type`、`Group`、`UnitOfMeasure`、`IssueMethod`、`Active`、`Inactive`、`Remarks`、`Allocation`、`confirmButtonText` |
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `MES_登录_工位与名称_查询` -> 视图:`View_基础数据_工位` -> 查询/读取数据
- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `系统管理_工位管理_工位信息修改` -> 表:`MES_资源主数据` -> 更新/保存业务数据
- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `系统管理_工位管理_工位信息增加` -> 表:`MES_资源主数据` -> 新增业务数据
- `src/views/SystemMaintenance/WorkstationManagement/index.vue` -> `系统管理_工位管理_工位信息删除` -> 表:`MES_资源主数据`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单` -> 删除业务数据
### 存储过程处理逻辑明细
- `MES_登录_工位与名称_查询` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 数据库处理摘要:查询。 读取/关联对象:视图:`View_基础数据_工位`。 主要返回字段线索:`[VisCode] as 工位代码`、`[VisCode] as MesWebCode`、`[VisCode] as 工位号`、`[Name] as 指南工位号`、`[Name] as 工位名称`。 排序/分组/分页线索:`order by [VisCode]`。
- `系统管理_工位管理_工位信息修改` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:表:`MES_资源主数据`。 写入或更新对象:`MES_资源主数据`。 入参/分页参数:`@工位名称 nvarchar(50),`、`@工位号 nvarchar(50)`。 主要返回字段线索:`@同名工位是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名工位是否存在 = count(*) FROM [MES_资源主数据] WHERE [Name] = @工位名称``WHERE [VisCode] = @工位号`。 关键写入/状态处理语句线索:`UPDATE [dbo].[MES_资源主数据]``SET`。
- `系统管理_工位管理_工位信息增加` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 新增业务数据。 数据库处理摘要:查询、新增。 读取/关联对象:表:`MES_资源主数据`。 写入或更新对象:`MES_资源主数据`。 入参/分页参数:`@工位名称 nvarchar(50),`、`@工位号 nvarchar(50)`。 主要返回字段线索:`@同名工位是否存在 = count(*)`。 关键过滤/匹配条件:`SELECT @同名工位是否存在 = count(*) FROM [MES_资源主数据] WHERE [Name] = @工位名称`。 关键写入/状态处理语句线索:`INSERT INTO [dbo].[MES_资源主数据]( [Name], [VisCode], [Type], [Active], [IssueMethod], [Allocation], [SyncTime], [ResourceGroup], [ForeignName], [UnitOfMeasure])`。
- `系统管理_工位管理_工位信息删除` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 删除业务数据。 数据库处理摘要:查询、删除。 读取/关联对象:表:`MES_资源主数据`、`登录基础数据_人员权限角色`、`登录基础数据_二级菜单`。 写入或更新对象:`MES_资源主数据`。 入参/分页参数:`@工位号 nvarchar(50)`。 关键过滤/匹配条件:`delete from [dbo].[MES_资源主数据] where [VisCode] = @工位号`。 关键写入/状态处理语句线索:`SET NOCOUNT ON;``delete from [dbo].[MES_资源主数据] where [VisCode] = @工位号`。
## 68. src/views/dashboard/index.vue
**页面位置**`src/views/dashboard/index.vue`
**所属模块**dashboard / index.vue
**源码行数**356
### 页面功能
该页面是系统首页或欢迎页,用于承载看板入口或基础统计展示。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`toView`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 69. src/views/layout/Layout.vue
**页面位置**`src/views/layout/Layout.vue`
**所属模块**layout / Layout.vue
**源码行数**72
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`handleClickOutside`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 70. src/views/layout/components/AppMain.vue
**页面位置**`src/views/layout/components/AppMain.vue`
**所属模块**layout / components
**源码行数**32
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:无
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 71. src/views/layout/components/Navbar.vue
**页面位置**`src/views/layout/components/Navbar.vue`
**所属模块**layout / components
**源码行数**380
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
页面可见的操作/字段包括 “[ &nbsp 登出 &nbsp ] &nbsp--> Log Off”、“取 消”、“提 交”、“旧密码”、“新密码”、“确认密码”、“修改密码”,这些是判断页面业务范围的主要线索。
后端主要围绕 `登录基础数据_人员信息_登陆检查密码`、`登录基础数据_人员信息_修改密码`、`WEB_报警查询_未读报警记录_查询`、`WEB_报警查询_未读报警记录_未读条数查询` 取数或提交业务动作。
### 页面流程图
通用流程:用户输入查询/维护条件 -> 调用 `登录基础数据_人员信息_登陆检查密码` -> `登录基础数据_人员信息_修改密码` -> `WEB_报警查询_未读报警记录_查询` -> `WEB_报警查询_未读报警记录_未读条数查询` -> 后端读写 SQL Server -> 页面刷新表格或弹窗结果。
### 用户操作与页面线索
可见按钮/字段线索:`[ &nbsp 登出 &nbsp ] &nbsp--> Log Off`、`取 消`、`提 交`、`旧密码`、`新密码`、`确认密码`、`修改密码`
主要方法线索:`toErrorPage`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 参数 | `this.$store.state.user.id` | `@Personnel_Number` | - |
| 参数 | `this.$store.state.user.id` | `@userId` | - |
| 参数 | `this.updatePasswordForm.oldPassword` | `@旧密码` | - |
| 参数 | `this.updatePasswordForm.newPassword1` | `@新密码1` | `if (@新密码1 = '') begin` |
| 参数 | `this.updatePasswordForm.newPassword2` | `@新密码2` | - |
| 参数 | `this.id` | `@personnel_Number` | - |
| 输入字段 | `updatePasswordForm.oldPassword` | `@旧密码` | - |
| 输入字段 | `updatePasswordForm.newPassword1` | `@新密码1` | - |
| 输入字段 | `updatePasswordForm.newPassword2` | `@新密码2` | - |
### 技术路线
- Vue 2 Options API
- Element UI
- `CreateData` + `ExecDatabase` 调用后端过程
### 调用的存储过程总览
| 行号 | type | 存储过程 | 前端用途 | SQL摘要 | 依赖对象 |
|---:|---|---|---|---|---|
| 119 | 11当前通用存储过程查询/执行) | `登录基础数据_人员信息_登陆检查密码` | 基础权限/人员数据处理 | 查询 | 未在 SQL 中解析到明确依赖 |
| 163 | 11当前通用存储过程查询/执行) | `登录基础数据_人员信息_修改密码` | 更新/保存业务数据 | 查询、更新 | 未在 SQL 中解析到明确依赖 |
| 187 | 11当前通用存储过程查询/执行) | `WEB_报警查询_未读报警记录_查询` | 查询/读取数据 | 未找到过程体 | 未知 |
| 205 | 11当前通用存储过程查询/执行) | `WEB_报警查询_未读报警记录_未读条数查询` | 查询/读取数据 | 未找到过程体 | 未知 |
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
- `src/views/layout/components/Navbar.vue` -> `登录基础数据_人员信息_登陆检查密码` -> 未在 SQL 中解析到明确依赖 -> 基础权限/人员数据处理
- `src/views/layout/components/Navbar.vue` -> `登录基础数据_人员信息_修改密码` -> 未在 SQL 中解析到明确依赖 -> 更新/保存业务数据
- `src/views/layout/components/Navbar.vue` -> `WEB_报警查询_未读报警记录_查询` -> 过程体未解析 -> 查询/读取数据
- `src/views/layout/components/Navbar.vue` -> `WEB_报警查询_未读报警记录_未读条数查询` -> 过程体未解析 -> 查询/读取数据
### 存储过程处理逻辑明细
- `登录基础数据_人员信息_登陆检查密码` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 基础权限/人员数据处理。 数据库处理摘要:查询。 读取/关联对象:未在 SQL 中解析到明确依赖。 入参/分页参数:`@Personnel_Number int`。 主要返回字段线索:`top 1 @password = password`。 关键过滤/匹配条件:`select top 1 @password = password from 登录基础数据_人员信息 where [Personnel_Number] = @Personnel_Number`。
- `登录基础数据_人员信息_修改密码` 属于 系统基础资料/权限,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 更新/保存业务数据。 数据库处理摘要:查询、更新。 读取/关联对象:未在 SQL 中解析到明确依赖。 写入或更新对象:`登录基础数据_人员信息`。 入参/分页参数:`@userId int`、`@旧密码 nvarchar(50)`、`@新密码1 nvarchar(50)`、`@新密码2 nvarchar(50)`。 主要返回字段线索:`2 as result, '两次密码不一致!' as msg`、`return`、`end`、`if (@新密码1 = '') begin`、`select 2 as result, '新密码不能为空!' as msg`、`DECLARE @count int`、`SELECT @count = count(1)`。 关键过滤/匹配条件:`SELECT @count = count(1) FROM 登录基础数据_人员信息 WHERE [Personnel_Number] = @userId and password = @旧密码``update 登录基础数据_人员信息 set password = @新密码1 where [Personnel_Number] = @userId and password = @旧密码`。 关键写入/状态处理语句线索:`update 登录基础数据_人员信息 set password = @新密码1 where [Personnel_Number] = @userId and password = @旧密码`。
- `WEB_报警查询_未读报警记录_查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
- `WEB_报警查询_未读报警记录_未读条数查询` 属于 设备与实时数据,前端以 type=11当前通用存储过程查询/执行)调用,页面用途是 查询/读取数据。 当前工作区 SQL 中没有解析到该过程体,因此只能确认前端调用关系,不能准确说明内部读写表、过滤条件和状态变更。
## 72. src/views/layout/components/Sidebar/Item.vue
**页面位置**`src/views/layout/components/Sidebar/Item.vue`
**所属模块**layout / components / Sidebar
**源码行数**30
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`render`、`if`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 73. src/views/layout/components/Sidebar/SidebarItem.vue
**页面位置**`src/views/layout/components/Sidebar/SidebarItem.vue`
**所属模块**layout / components / Sidebar
**源码行数**111
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
页面可见的操作/字段包括 “onlyOneChild.meta.title”、“item.meta.title”、“child.meta.title”这些是判断页面业务范围的主要线索。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:`onlyOneChild.meta.title`、`item.meta.title`、`child.meta.title`
主要方法线索:`hasOneShowingChild`、`if`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 74. src/views/layout/components/Sidebar/index.vue
**页面位置**`src/views/layout/components/Sidebar/index.vue`
**所属模块**layout / components / Sidebar
**源码行数**84
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`showLogo`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 75. src/views/layout/components/TagsView.vue
**页面位置**`src/views/layout/components/TagsView.vue`
**所属模块**layout / components
**源码行数**219
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`generateRoute`、`if`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 76. src/views/layout/components/index.js
**页面位置**`src/views/layout/components/index.js`
**所属模块**layout / components
**源码行数**5
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:无
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 77. src/views/layout/mixin/ResizeHandler.js
**页面位置**`src/views/layout/mixin/ResizeHandler.js`
**所属模块**layout / mixin
**源码行数**53
### 页面功能
该文件属于系统布局组件,负责菜单、导航、标签页、内容承载或窗口自适应,不承载具体业务流程。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:无
主要方法线索:`isMobile`
### 字段映射表
未从页面模板中抽取到明确的 `v-model`、表格列或 `param.push` 字段映射。
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## 78. src/views/login/index.vue
**页面位置**`src/views/login/index.vue`
**所属模块**login / index.vue
**源码行数**501
### 页面功能
该页面是登录入口负责账号密码登录、角色选择、Token/Cookie 写入、路由权限初始化和密码修改入口。
页面可见的操作/字段包括 “修改密码”、“登录”、“取消”、“确定”、“角色名称”、“工号”、“原始密码”、“新密码”、“确认密码”、“请输入用户名”,这些是判断页面业务范围的主要线索。
### 页面流程图
该页面未发现后端存储过程调用,通常不形成完整业务流程。
### 用户操作与页面线索
可见按钮/字段线索:`修改密码`、`登录`、`取消`、`确定`、`角色名称`、`工号`、`原始密码`、`新密码`、`确认密码`、`请输入用户名`、`请输入密码`、`请选择登录角色`
主要方法线索:`showPwd`、`if`
### 字段映射表
| 类型 | 前端字段/显示列 | 存储过程参数或表达式 | SQL返回字段/数据库字段线索 |
|---|---|---|---|
| 显示列 | `角色名称` | - | `角色名称` |
| 输入字段 | `loginForm.username` | - | - |
| 输入字段 | `loginForm.password` | - | - |
| 输入字段 | `loginForm.checked` | - | - |
| 输入字段 | `form.Account` | - | - |
| 输入字段 | `form.beforPassword` | - | - |
| 输入字段 | `form.newPassword` | - | - |
| 输入字段 | `form.againPassword` | - | - |
### 技术路线
- Vue 2 Options API
- Element UI
- 未发现页面级后端存储过程调用
### 调用的存储过程总览
未发现 `CreateData(...)` 存储过程调用。
### 与 SAP 的交互
未发现页面直接调用 SAP B1 Service Layer相关存储过程也未解析到 `SAP.SBO_YL` 链接库引用。
### SAP 接口级说明
页面无直接 SAP Service Layer 调用。
### 状态流转说明
未从当前 SQL 静态解析到明确的状态字段变更。
### 数据库调用链
无数据库调用链。
### 存储过程处理逻辑明细
无页面级存储过程调用。
## SQL 对象总览
脚本中解析到表/视图 76 个、存储过程 345 个。
### 表/视图清单
- 表:`MES_资源主数据`
- 视图:`View_基础数据_工位`
- 表:`生产管理_工时校验_校验工时表`
- 表:`物料基础数据_零件图纸`
- 表:`MES_接口_生产计划`
- 表:`MES_接口_生产计划_生产任务`
- 视图:`View_生产订单_MES`
- 表:`工位人员绑定表`
- 表:`登录基础数据_人员信息`
- 视图:`View_工位人员绑定数`
- 表:`YL_加工中心_操作记录表`
- 视图:`View_生产工时视图`
- 视图:`View_图纸视图`
- 表:`YL_质量检验_质检记录`
- 视图:`View_质量检验_质检记录_外协收检`
- 视图:`View_生产订单全部包括已关闭`
- 视图:`View_外协质检`
- 视图:`View_装配信息`
- 视图:`View_生产计划零件图纸视图`
- 表:`登录基础数据_角色信息`
- 表:`登录基础数据_人员权限角色`
- 表:`登录基础数据_二级菜单`
- 视图:`View_账号权限信息`
- 表:`车间生产管理工艺_零件工序_工艺库`
- 视图:`计划任务视图`
- 表:`基础表_工序`
- 视图:`View_标准工艺视图`
- 表:`车间生产管理工艺_零件生产工艺_工艺库`
- 视图:`View_生产工艺视图`
- 视图:`View_报工人员`
- 表:`班次表`
- 表:`班次人员绑定表`
- 视图:`View_设备工位人员`
- 表:`YL_质量检验_不合格品处理`
- 表:`YL_质量检验_不合格品处理_处理节点`
- 视图:`View_质量检验_不合格品处理`
- 视图:`View_校验后的生产工时`
- 表:`登录基础数据_部门`
- 视图:`登录基础数据_管理人员权限视图`
- 视图:`View_生产订单完工`
- 视图:`View_终检状态`
- 视图:`View_质检明细`
- 视图:`View_外协报表视图`
- 视图:`View_质量检验_质检记录`
- 视图:`v_CurrentProductionStatus`
- 视图:`View_生产订单Temp_ERP`
- 表:`_日志`
- 表:`Attachments`
- 表:`BOM数据`
- 表:`CaChe_Var`
- 表:`MES_接口_工艺路线主数据`
- 表:`YL_基础表_数据字典`
- 表:`YL_加工中心_报工记录`
- 表:`YL_设备管理_工时记录`
- 表:`YL_设备管理_设备台账`
- 表:`YL_设备管理_维修记录`
- 表:`YL_质量检验_检测标准`
- 表:`YL_质量检验_量具信息`
- 表:`YL_质量检验_质检记录_检测零件`
- 表:`YL_质量检验_质检记录_检测数据`
- 表:`报警_记录_历史`
- 表:`报警_记录_历史_缓存`
- 表:`基础数据_设备工位点检表`
- 表:`记录_日志_项目运行日志`
- 表:`历史_工位设备状态每分钟记录`
- 表:`历史_设备数据_定时`
- 表:`流程表`
- 表:`流程节点表`
- 表:`流程完成记录表`
- 表:`流程转办表`
- 表:`设备信息缓存表`
- 表:`审批记录表`
- 表:`物料基础数据_工艺图纸`
- 表:`物料基础数据_零件图纸删除记录`
- 表:`物料数据`
- 表:`质量检验_质检任务_SAP`
## 同级项目数据看板补充分析
本节补充 `MES_Manage_View_V20` 同级目录下的大屏/看板项目。它们与主系统 `src/views` 的区别是:页面本身基本不做业务写入,主要通过统一接口 `CreateData('11', 存储过程名, [])` 或 `ExecDatabaseByParam('11', 存储过程名, 参数)` 调用 SQL Server 存储过程,把 MES、SAP 同步表、设备采集缓存和质检记录加工成 KPI、滚动表格和 ECharts/DataV 图表。因此它们虽然“不操作业务”,但会直接放大统计口径问题:主系统一旦新增字段、状态、报工类型或 SAP 同步逻辑,看板上的齐套率、未及时开工、加急、在制、质检未清、设备运行状态可能同步失真。
### 看板项目总体技术路线
| 项目 | 技术栈 | 入口页面 | 数据访问方式 | 主要刷新/展示方式 |
|---|---|---|---|---|
| `生产任务看板` | Vue 3 + Vite + Element Plus/DataV | `src/views/index.vue` | `CreateData('11', 生产任务综合看板_*)` | 固定 1920x1080 大屏自适应缩放定时钟KPI + 表格 |
| `装配任务看板` | Vue 3 + Vite | `src/views/index.vue`、`ProductionTaskDashboard.vue` | `CreateData('11', 装配中心任务看板_*)`;另一个页面复用生产任务看板过程 | 多列表 2 秒循环滚动 |
| `质检任务看板` | Vue 3 + Vite + ECharts + DataV | `src/views/index.vue` | `CreateData('11', 质量任务看板_*)` | 未清/完成/趋势/明细大屏,标签轮播 |
| `机加设备生产运营看板` | Vue 3 + Vite + ECharts + DataV | `src/views/index.vue`、`machiningOperationTwo.vue` | `CreateData('11', 机加设备生产运营看板_*)`,部分复用 `质量任务看板_*` | 设备状态、计划执行率、在制/加急/不良滚动表 |
| `机加设备生产运营看板二` | Vue 3 + Vite | `src/views/index.vue` | 与 `machiningOperationTwo.vue` 基本同源 | 在制、加急、关键工序汇总 |
| `TableTV` | Vue 3 + Vite | `src/views/index.vue` | `ExecDatabaseByParam('11', '设备管理_设备状态_查询', [['设备名称','']])` | 工位任务卡片,每 5 秒刷新,自动滚动 |
| `board_view` | Vue 2 + Webpack + DataV + vue-seamless-scroll + ECharts | `src/views/left.vue` | `CreateData1('11', 看板_*)`、`ExecDatabase2`,访问 `MESCommonBase.ashx` | 综合项目大屏30 秒级刷新,分区轮播 |
| `新建文件夹` | Vue 3 + Vite | `index.vue`、`ProductionTaskDashboard.vue`、`AssemblyCenterTaskDashboard.vue` | `index.vue` 调用 `Visualization_QcTask_*`;另两个多为静态/样例或旧版页面 | 试验版质检可视化,过程名在当前 SQL 未落库 |
统一调用链如下:
```mermaid
flowchart LR
A[看板 Vue 页面] --> B[CreateData / ExecDatabaseByParam]
B --> C[MESCommonBase.ashx type=11]
C --> D[SQL Server 存储过程]
D --> E[MES 表/视图]
D --> F[SAP.SBO_YL 跨库表或 SAP 同步表]
D --> G[设备采集缓存 CaChe_Var]
D --> H[质量/工时/操作记录]
E --> I[response.data]
F --> I
G --> I
H --> I
I --> J[KPI、滚动表格、图表]
```
### 1. `生产任务看板/src/views/index.vue`:生产任务综合看板
**页面功能**:这是管理层生产任务总览大屏,首屏展示“按期齐套率、待排产任务、待处理销售订单、工艺 BOM 待完成、采购未及时到货、机加未及时开工、质检及时率、未及时入库、加急件”等 KPI并在下方展示“未按期齐套任务”和“加急件明细”。页面本身没有新增、修改、审核等业务写入动作只把多个业务链条汇总成一张风险看板齐套风险、排产风险、工艺准备风险、开工风险和加急风险。
**调用存储过程与处理逻辑**
| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 |
|---|---|---|---|
| 按期齐套率 | `生产任务综合看板_按期齐套率` | 统计近一个月、计划开始早于当前 3 天、`自制件属性 like '%装配%'` 的任务,按 `齐套` 计算总任务数、齐套任务数、未齐套任务数、齐套率,并按 `发料状态` 细分发料齐套、发料缺件、未发料。 | `View_生产订单_MES` |
| 待排产/无工艺 | `生产任务综合看板_未排产无工艺查询` | 用三个子查询返回未排产任务数、装配未排产数、无生产工艺计划数。页面再用“未排产任务数 - 装配未排产数”推导机加待排产。 | `View_生产订单_MES`、`MES_接口_生产计划` |
| 加急件明细 | `生产任务综合看板_加急任务查询` | 从 SAP 加急物料跨库表读取加急数量大于 0 的非装配属性数据,再左连 MES 生产计划补下达日期、计划开始、计划完成、计划数量,并用 `COUNT(*) OVER()` 返回加急订单总数。 | `SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`、`MES_接口_生产计划` |
| 机加未及时开工 | `生产任务综合看板_未及时开工查询` | 查询已排产、非装配/非外协/非走手续等任务,要求 `开工时间 IS NULL`、`加工状态 = 0`、计划开始早于当天,并通过质检记录反查合格数,最终只保留 `合格数 = 0` 的未及时开工任务。 | `View_生产订单_MES`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务`、`登录基础数据_人员信息` |
| 未按期齐套任务 | `生产任务综合看板_未按期齐套任务` | 返回计划开始已过、近一个月同步、`齐套=0`、装配属性任务的完整任务行,用于下方表格展示。 | `View_生产订单_MES` |
**字段映射**
| 前端显示 | 前端字段 | 存储过程返回字段 | 数据库来源/含义 |
|---|---|---|---|
| 按期齐套率 | `complete.completeset` | `齐套率` | `View_生产订单_MES.齐套` 汇总计算 |
| 未齐套数 | `complete.untasknum` | `未齐套任务数` | `齐套=0` 的装配属性任务数 |
| 应齐套数 | `complete.tasknum` | `总任务数` | 符合时间和装配属性条件的任务数 |
| 待排产总数 | `noProcessStats.total` | `未排产任务数` | `排产状态=0` 的生产订单 |
| 机加待排产 | `noProcessStats.machining` | 前端计算 | `未排产任务数 - 装配未排产数` |
| 装配待排产 | `noProcessStats.assembly` | `装配未排产数` | 未排产且自制件属性包含装配 |
| 工艺 BOM 待完成 | `topStats[1].value` | `无生产工艺计划数` | `MES_接口_生产计划.生产工艺=0` |
| 加急件数 | `Urgentnum` | `加急订单总数` | SAP 加急物料表中过滤后的总行数 |
| 加急件明细 | `urgentRows` | `合同号、订单编号、物料描述、物料编号、自制件属性、计划数量、下达日期、计划开始、计划完成` | SAP 加急表 + MES 计划 |
| 未按期齐套表 | `kitRows` | `订单编号、物料描述、物料编号、计划数量、计划开始时间、计划完成时间、合同号、拣配状态、发料状态` | `View_生产订单_MES` |
**SAP 交互**:页面没有直接调用 B1 Service LayerSAP 依赖体现在 SQL 过程 `生产任务综合看板_加急任务查询` 读取 `SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`。这意味着加急件数取决于 SAP 加急物料表是否同步及时,且页面把 SAP 加急记录与 MES 计划的连接键默认放在 `docentry/订单编号` 上。
**状态/口径影响**
- `齐套`、`发料状态`、`拣配状态` 是看板核心口径若主系统新增“部分齐套、手续确认、SAP 发料失败、缺件预计到货”等中间状态,当前页面只能显示二元结果,容易把中间状态误判为未齐套或未发料。
- `未及时开工` 用 `开工时间 IS NULL + 加工状态=0 + 计划开始<今天 + 合格数=0` 判断。新增设计/编程前置、二次派工、异常暂停后,如果不扩展排除条件,会把“不能开工”也统计为“未及时开工”。
- 页面里“采购未及时到货、质检及时率、未及时入库”仍是静态或未接入真实过程的显示项,后续若作为管理指标使用,必须补存储过程和来源字段,否则大屏会出现半真半假的 KPI。
### 2. `装配任务看板/src/views/index.vue`:装配中心任务看板
**页面功能**:围绕装配中心的当天/近期执行情况,展示及时送检数、加急任务数、装配合格率、异常未关闭消息数、缺勤人员,以及四类滚动明细:发货状态列表、装配任务列表、在制任务缺件明细、已完工作务。页面通过 2 秒循环滚动让班组现场持续看到装配交付、缺件、质量和异常风险。
**调用存储过程与处理逻辑**
| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 |
|---|---|---|---|
| 异常未关闭 | `装配中心任务看板_异常未关闭总数` | 当前实现统计 `流程表` 中 `完成人 is null` 的流程数量,作为未关闭异常数;注释中曾尝试统计装配开始加工未结束记录。 | `流程表` |
| 发货状态列表 | `装配中心任务看板_发货状态查询` | 查询装配属性、`发货状态=1`、任务状态未完成的生产订单,左连操作记录取操作人,左连 SAP 发货/交货中间表取交货数量,按要求发货日期排序。 | `View_生产订单_MES`、`YL_加工中心_操作记录表`、`SAP.SBO_YL.dbo.UBT_ODRF_ODLNMES` |
| 在制任务缺件 | `装配中心任务看板_在制品缺件查询` | 从 SAP 加急/缺件物料表读取非装配属性缺件,再连 MES 生产计划,筛选 MES 自制件属性为装配的主计划,用于展示装配在制缺件。 | `SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL`、`MES_接口_生产计划` |
| 加急任务数 | `装配中心任务看板_加急任务总数查询` | 统计已排产、指派对象包含装配、任务状态为待执行/可执行/已开工的任务中 `加急总数>0` 的数量。 | `View_生产订单_MES` |
| 装配任务列表 | `装配中心任务看板_装配任务查询` | 查询已排产、装配指派对象、未完成任务,返回订单、合同、物料、工序、分配数、完成数量、齐套、发料、拣配、任务状态、加工状态等字段。 | `View_生产订单_MES` |
| 装配合格率 | `装配中心任务看板_装配合格率` | 统计近 3 天 `工序名称='装配'` 的质检记录,按合格数/检验数量计算总合格率。 | `View_质量检验_质检记录` |
| 已完成任务 | `装配中心任务看板_已完成任务` | 查询近 3 天装配工序质检记录,按单条记录计算单项合格率,用于完成列表。 | `View_质量检验_质检记录` |
**字段映射**
| 前端显示 | 前端字段 | 存储过程返回字段 | 数据库来源/含义 |
|---|---|---|---|
| 加急任务数 | `summaryCards[1].value` | `加急总数` | 装配任务中加急总数大于 0 的任务数 |
| 装配合格率 | `summaryCards[2].value` | `总合格率` | 近 3 天装配质检合格数 / 检验数量 |
| 异常未关闭 | `summaryCards[3].value` | `装配异常未关闭总数` | `流程表.完成人 is null` |
| 发货状态 | `deliveryRows` | `订单编号、合同号、物料描述、物料编号、齐套、发料状态、操作人、交货数量、要求发货日期、任务状态` | MES 任务 + SAP 发货中间表 |
| 装配任务 | `taskRows` | `订单号、合同号、零件名称、零件编码、工序名称、齐套、发料状态、加急总数、分配数、完成数量、指派对象` | `View_生产订单_MES` |
| 在制缺件 | `materialRows` | `DocEntry、U_Name、ItemCode、加急数量` | SAP 加急/缺件物料表和 MES 计划 |
| 已完工作务 | `doneRows` | `计划号、零件名称、零件编码、单项合格率` | 装配质检记录 |
**SAP 交互**:前端不直接调 SAPSQL 层直接读取两个 SAP 库对象:`SAP.SBO_YL.dbo.UBT_ODRF_ODLNMES` 提供发货/交货数量,`SAP.SBO_YL.dbo.ubt_OPKL_UrgentMaterials_ALL` 提供缺件/加急物料。装配看板因此同时依赖 MES 任务状态和 SAP 缺件/发货同步状态。
**状态/口径影响**
- 发货状态只筛 `发货状态=1` 且任务状态未完成,如果 SAP 发货通知、MES 发货状态、仓库出库状态不是同一个语义,页面标题“发货状态列表”会混合多个阶段。
- `装配异常未关闭总数` 当前直接统计所有 `流程表` 未完成人记录,没有限定装配任务;如果流程表中包含机加、质检、外协异常,大屏会高估装配异常。
- 缺件逻辑把 SAP 缺件子项与 MES 装配主计划关联,若新增主子订单关系、替代料、部分到货、预计齐套时间,需要扩展过程返回字段,否则只能看到“缺件”,看不到是否可恢复生产。
### 3. `质检任务看板/src/views/index.vue`:质检任务看板
**页面功能**:质检大屏聚合未清任务、加急任务、未清任务分类、未清明细、质检及时率、近七日趋势、关键工序检验任务、当天已完成任务汇总和明细。页面使用 DataV 滚动表格和 ECharts 图表,未清明细支持按“全部、采购入库检、序检收检、原料退库检、销售退货检、终检、其他入库检”自动切换。
**调用存储过程与处理逻辑**
| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 |
|---|---|---|---|
| 未清任务数/加急数/分类 | `质量任务看板_未完成统计` | 建临时表分 6 类插入未完成统计:工序收检、其他入库、原材料退库、销售退货、采购入库、终检;最后追加 `【汇总】` 行。 | `YL_质量检验_质检记录`、`YL_加工中心_操作记录表`、`质量检验_质检任务_SAP`、`MES_接口_生产计划_生产任务`、`View_生产订单_MES` |
| 未清任务明细 | `质量任务看板_未完成明细查询` | 与统计过程同源,但返回逐条明细:任务类型、订单号、物料、工序、已检/合格/不合格、加急、最近检测说明,并按加急优先排序。 | 同上 |
| 当天完成汇总 | `质量任务看板_当天已完成汇总` | 按当天检测时间统计质检记录中的任务数、合格数、不合格数。 | `View_质量检验_质检记录` |
| 当天完成明细 | `质量任务看板_当天已完成明细` | 按检测类型编号和订单类型归类为采购入库检、序检收检、终检、其他入库检、原料退库检、销售退货检等,按 TaskAID 聚合检验数量、合格数、不合格数,并关联 `View_生产订单_MES` 判断加急。 | `View_质量检验_质检记录`、`View_生产订单_MES` |
**存储过程具体处理重点**
- 工序收检未完成:用 `YL_加工中心_操作记录表` 中报工/辅助结束数量作为应检数量,用 `YL_质量检验_质检记录` 的检测类型 6 已检数量作为已检数量,`已检 < 完成数量` 即为未完成。
- 入库/退库/退货类未完成:从 `质量检验_质检任务_SAP` 读取 SAP 同步来的质检任务,按订单类型区分 `20` 采购入库、`59` 其他入库、`202-60` 原材料退库、`234000031` 销售退货,并比较已合格+不合格数量与到货数/入库数量。
- 终检未完成:找每个订单最大订单行号作为最后工序,再用操作记录与检测类型 6/8 的检验数量判断是否终检不足。
- 加急判断:工序类从 `View_生产订单_MES.加急状态` 判断SAP 质检任务类从 `质量检验_质检任务_SAP.加急状态` 判断。
**字段映射**
| 前端显示 | 前端字段 | 返回字段 | 含义 |
|---|---|---|---|
| 未清任务数 | `summary.pendingCount` | `【汇总】.未完成数量` | 六类未完成质检任务合计 |
| 加急任务数 | `summary.urgentCount` | `【汇总】.加急数量` | 六类未完成任务中的加急数 |
| 分类卡片 | `categoryStats` | `质检类型、未完成数量、加急数量` | 过程分类名映射到页面六类标签 |
| 未清明细 | `pendingRows` | `taskType、orderNo、materialName、materialCode、processName、inspectQty、passQty、failQty、urgentQty、inspectRemark、status` | 质检待办明细 |
| 当天完成 | `todayDoneSummary` | `totalCount、passCount、failCount` | 当天质检完成量 |
| 当天完成明细 | `todayDoneRows` | `taskType、orderNo、materialName、materialCode、processName、inspectQty、passQty、failQty、urgentQty` | 当天已检任务列表 |
**SAP 交互**:前端无直接 SAP 调用;质检看板强依赖 `质量检验_质检任务_SAP`,该表是 SAP 入库、退库、销售退货等质检任务同步到 MES 的落地表。当天完成过程主要读 MES 质检记录,未完成过程同时读 SAP 同步任务和 MES 报工记录。
**状态/口径影响**
- “未清”不是单表状态,而是跨 `操作记录表`、`质检任务_SAP`、`质检记录` 计算出来的结果;新增质检类型、复检、返工、让步接收、批量检验时,必须同步扩展统计和明细过程。
- 页面显示了“质检及时率”和趋势图,但当前正式过程只覆盖未完成与当天完成。若要成为真实指标,需要补“应检时间、送检时间、完成检验时间、超期规则、责任部门”的过程。
- 检测说明字段通过最近一条质检记录取值,只能解释“已有检测记录”的任务;完全未检任务的原因需要另建待检原因或送检说明字段。
### 4. `机加设备生产运营看板/src/views/index.vue`:机加设备生产运营看板(一)
**页面功能**:面向机加工段,展示设备总数、运行/待机/报警/关机数量、在制任务数、未及时开工、当天完成、合格率、不良品、计划执行率,并展示未及时开工、当天完成、不良品等滚动明细和 ECharts 图表。
**调用存储过程与处理逻辑**
| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 |
|---|---|---|---|
| 设备任务数 | `机加设备生产运营看板_设备任务查询` | 对 `View_生产订单_MES` 中加工状态为辅助开始/开始加工的任务去重后计数,排除外协和装配指派对象。 | `View_生产订单_MES`、`View_设备工位人员` |
| 设备运行状态 | `机加设备生产运营看板_设备运行状态查询` | 从 `CaChe_Var` 读取 `TagName='设备状态'`,把 -1/0/1/2 转成关机/待机/运行/报警,再汇总各状态数量。 | `CaChe_Var` |
| 未及时开工 | `机加设备生产运营看板_未及时开工查询` | 查询已排产、非装配/非外协、未开工、计划开始已过的机加任务,返回任务明细并用窗口函数返回总记录数。 | `View_生产订单_MES`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务` |
| 当天完成汇总 | `质量任务看板_当天已完成汇总` | 复用质检完成汇总,页面据此计算 `passCount/(passCount+failCount)` 作为合格率。 | `View_质量检验_质检记录` |
| 当天完成明细 | `机加设备生产运营看板_当天已完成明细` | 只统计当天检测类型 6/8即序检收检和终检返回任务类型、订单、物料、工序、检验数、合格数、不合格数、加急数。 | `View_质量检验_质检记录`、`View_生产订单_MES` |
| 不良品查询 | `机加设备生产运营看板_不良品查询` | 查询昨天的收检/终检质检记录中 `不合格数 > 0` 的记录,并返回总记录数。 | `View_质量检验_质检记录` |
| 计划执行率 | `机加设备生产运营看板_计划执行率` | 当月计划开始且已到计划开始时间的机加任务,按 `开工时间 <= 计划开始时间 + 1天` 计算按期开始率,排除装配、外协、走手续、打磨、钻床等非目标工位。 | `View_生产订单_MES` |
**SAP 交互**:页面不直接调用 SAP当前过程主要读 MES 视图和设备采集缓存,没有直接访问 SAP 表。SAP 对它的影响通过 `View_生产订单_MES` 中的计划、任务、加急、齐套等同步字段间接体现。
**状态/口径影响**
- 设备状态来自 `CaChe_Var` 最新缓存,任务状态来自 `View_生产订单_MES`,两者时间粒度不同。设备显示“运行”但任务未开工、或任务已开工但设备缓存待机,都会造成 OEE 和现场状态不一致。
- `当天完成` 实际复用质检记录,不等于生产报工完成。若管理层理解为“机加当天完成任务”,需要改成报工/任务完成口径,或者明确是“当天质检完成”。
- 不良品查询用“昨天”而不是当天,且只看收检/终检,若页面标题没有说明,会与当天完成合格率产生时间口径冲突。
### 5. `机加设备生产运营看板/src/views/machiningOperationTwo.vue` 与 `机加设备生产运营看板二/src/views/index.vue`
**页面功能**:这是机加二屏,重点不是设备状态,而是任务池:在制任务汇总、加急任务汇总、关键工序任务、已开工/在制明细、缺勤人员等。两个项目中的页面结构和调用过程基本一致。
**调用存储过程与处理逻辑**
| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 |
|---|---|---|---|
| 加急任务汇总/明细 | `机加设备生产运营看板_加急任务查询` | 读取 `View_生产订单_MES` 中 `加急数量 > 0` 且非装配指派对象的数据,返回订单、合同、物料、计划数量、工序、指派对象、加急数量,并用窗口函数返回加急订单总数。 | `View_生产订单_MES` |
| 已开工/当前进行 | `机加设备生产运营看板_机加在制查询` | 查询加工状态为辅助开始或开始加工的任务,按指派对象和开工时间排序去重,排除外协、装配,返回当前各工位正在处理的任务。 | `View_生产订单_MES` |
| 在制任务池 | `机加设备生产运营看板_机加在制查询2` | 查询已排产、未完成、非装配/非外协/非打磨/非走手续的任务,临时表落地后返回总记录数、计划开始早于今天/今天及之后的数量,并计算上序合格数。 | `View_生产订单_MES`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务` |
**字段映射**
| 前端显示 | 返回字段 | 说明 |
|---|---|---|
| 在制任务汇总 | `总记录数、计划开始_今天之前_数量、计划开始_今天及之后_数量` | 页面拆成总在制、超期/当前计划两个子指标 |
| 加急任务汇总 | `加急订单总数` | 首页卡片和加急明细共用 |
| 在制/关键工序明细 | `订单号、合同号、零件名称、零件编码、分配数、工序名称、指派对象、完成数量、上序合格数、加急` | 用于滚动任务表和进度百分比 |
**状态/口径影响**
- `机加在制查询` 用加工状态 2/4 代表“正在执行”,`机加在制查询2` 用排产状态和任务状态代表“任务池”。这两个“在制”不是一个口径,文档和页面标题必须区分“当前执行在制”和“已排产未完成在制”。
- 上序合格数来自检测类型 6 的质检记录。如果新增返修、让步接收或免检,关键工序是否可开工不能只看上序合格数。
### 6. `TableTV/src/views/index.vue`:工位生产监控看板
**页面功能**:这是更接近车间电视屏的工位任务卡片页面。它每 5 秒调用一次 `设备管理_设备状态_查询`,把返回的任务按卡片显示,顶部统计总任务数、加急数、完成数量、不合格数量。卡片字段包括任务/工位、物料、工序、加工状态/任务状态、计划/完成/不合格、人员等。
**调用存储过程**`设备管理_设备状态_查询 @设备名称=''`。
**存储过程处理逻辑**
- 根据当前时间判断白班/夜班,用 `View_设备工位人员` 拼接当前班次人员名称。
- 从 `View_生产订单_MES` 查询加工状态为辅助开始/开始加工的任务。
- 计算上序合格数、收检合格数、收检不合格数。
- 按指派对象、开工时间、订单/工序去重,返回任务状态、加工状态、首检、序检、人员名称等字段。
**涉及对象**`View_生产订单_MES`、`View_设备工位人员`、`YL_质量检验_质检记录`、`MES_接口_生产计划_生产任务`。
**SAP 交互**:无直接 SAP 调用;显示的订单、计划、加急、齐套信息来自 MES 视图,受 SAP 同步结果间接影响。
**状态/口径影响**
- 该页面按当前班次显示人员,班次切换阈值在存储过程中写死为白班 7.5、夜班 16.5。若主系统班次管理修改了班次时间,但此过程不改,大屏人员归属会错。
- 5 秒刷新会放大数据库压力;若 `设备管理_设备状态_查询` 继续执行复杂子查询和 XML 拼接,需要索引或缓存层支持。
### 7. `board_view/src/views/left.vue`:综合项目数据看板
**页面功能**:这是综合项目/生产经营大屏。页面分为左侧订单/装配/未完成,中央合同/订单主体和订单明细,右侧设备/质量/环境/水电气等监控区域,并包含计划执行曲线、质量饼图、设备问题柱状图和实时 OEE 区域。页面使用 `vue-seamless-scroll`、DataV 边框、ECharts定时刷新并支持中间主体订单点击钻取明细。
**调用存储过程与处理逻辑**
| 页面区域 | 存储过程 | 过程处理了什么 | 主要表/视图 |
|---|---|---|---|
| 顶部/主页关键指标 | `看板_主页六个关键数据_查询` | 计算当月当前计划、当前产量、计划完成率、工时消耗、齐套率、合格率,同时返回环境/水/电/气的占位数据。 | `View_生产订单_MES`、`View_生产工时视图` |
| 左上订单看板 | `看板_左上订单看板_表格_查询` | 按订单聚合合同号、最大计划完成、工艺部进度、装配部进度,并取最后工序完成率作为生产部进度;采购部当前为 0。 | `View_生产订单_MES` |
| 左中装配看板 | `看板_左中装配看板_表格_查询` | 查询机械/电气装配订单,展示内部合同号、产品名称、要求发货时间、出库状态。 | `View_生产订单_MES` |
| 左下未完成 | `看板_左下未完成看板_表格_查询` | 查询未完工任务,左连工时视图求已完工工时,左连工艺视图取标准工时,计算未完工工时。 | `View_生产订单_MES`、`View_生产工时视图`、`View_生产工艺视图` |
| 计划执行曲线 | `看板_左上计划执行情况_曲线_查询` | 近 10 天按计划完成日期统计工艺、采购、生产、装配进度。采购部当前仍为 0。 | `View_生产订单_MES` |
| 中间主体订单 | `看板_中间主体订单_表格_查询` | 按订单聚合工艺/采购/生产/装配进度,供中央列表和点击钻取使用。 | `View_生产订单_MES` |
| 中间主体订单详情 | `看板_中间主体订单详情_表格_查询 @合同号` | 按合同号返回物料描述、编码、属性、额定数量、总需求等字段,库存/待出/可用等字段当前为 0。 | `View_生产订单_MES` |
| 设备状态列表 | `设备管理_设备状态_查询` | 与 `TableTV` 同源,返回当前加工任务和设备/人员/质检状态。 | `View_生产订单_MES` 等 |
| 设备采集变量 | `Event_CaChe_Var_看板查询` | 读取设备采集缓存变量,前端把操作模式、设备状态数值翻译成中文。 | `CaChe_Var` |
| 质量表/饼图 | `看板_右下质量看板_表格_查询`、`看板_右下质量看板_饼图_查询` | 当前 SQL 中表格返回空结果集、饼图返回“无/0”属于占位实现。 | 占位 |
| 实时 OEE | `看板_中间实时OEE数据展示_查询` | 当前 SQL 插入临时表返回两台加工中心的固定 OEE、时间利用率、性能利用率、合格率、设备状态、进度属于样例/占位数据。 | 临时表常量 |
**SAP 交互**`board_view` 的正式过程主要读 MES 视图,没有直接 B1 API但 `View_生产订单_MES` 很可能承载 SAP 生产订单同步数据。看板右侧合同、库存、采购、质量等区域当前有多个占位字段,说明它并未完整打通 SAP 库存、采购、发货、质量问题链路。
**状态/口径影响**
- 综合大屏把工艺、采购、生产、装配进度放在同一张合同进度表,但 SQL 中采购进度多处为 0占位字段很多。新增采购到货、发货通知、及时齐套需求后这里必须接入真实采购和库存口径。
- 中间订单详情库存/在购/占用等字段当前全为 0若客户把它作为“项目齐套/可用库存”看板,必须补 SAP 库存和采购在途数据。
- OEE 当前是固定样例,不应作为真实设备绩效依据;若要上线,需要统一设备运行时长、程序时长、报工数量、合格率的计算口径。
### 8. `新建文件夹`:试验版/副本看板
**页面功能与状态**
- `src/views/index.vue` 是新版质检可视化试验页,页面能力比 `质检任务看板` 更完整,包含未清、加急、分类、及时率汇总、及时率趋势、关键工序汇总/明细、当天完成汇总/明细。
- 它调用的过程是 `Visualization_QcTask_PendingSummary_Query`、`Visualization_QcTask_UrgentSummary_Query`、`Visualization_QcTask_CategorySummary_Query`、`Visualization_QcTask_PendingDetail_Query`、`Visualization_QcTask_RateSummary_Query`、`Visualization_QcTask_RateTrend_Query`、`Visualization_QcTask_KeyProcessSummary_Query`、`Visualization_QcTask_KeyProcessDetail_Query`、`Visualization_QcTask_TodayDoneSummary_Query`、`Visualization_QcTask_TodayDoneDetail_Query`。
- 当前 `MES_Manage_View_V20/script.sql` 和 `board_view/sql/存储过程.sql` 未发现这些 `Visualization_QcTask_*` 过程定义,因此这套页面要么是试验版接口命名,要么依赖未纳入脚本的数据库对象。不能把它当作已完整落库的正式看板。
- `ProductionTaskDashboard.vue` 和 `AssemblyCenterTaskDashboard.vue` 分别是生产任务、装配中心看板的静态/样例或旧版页面,当前未看到正式 `CreateData` 调用链,不应作为已接入数据库的正式页面判断。
**隐含价值**:虽然未落库,但这套试验页暴露了客户后续可能要的质检能力:及时率汇总、趋势、关键工序质量、未清任务钻取、当天完成明细。这些能力与正式 `质量任务看板_*` 过程高度相关,后续可考虑把正式过程扩展为统一质检看板服务,而不是并行维护两套命名。
### 看板与主系统页面的依赖关系
| 看板指标 | 依赖主系统动作 | 如果主系统新增/修改会影响什么 |
|---|---|---|
| 齐套率、未齐套任务 | 排产、拣配、发料、SAP 缺件同步 | 新增部分齐套、手续确认、预计齐套日期后,生产任务看板和 board_view 必须改过程 |
| 未及时开工 | 计划开始、开工时间、加工状态、上序合格数 | 新增设计/编程前置、异常暂停、二次派工后,需要避免误判 |
| 加急任务 | SAP 加急表、MES 加急状态/加急数量 | 加急从订单级改到工序/物料级后,所有加急总数和明细都要重算 |
| 装配发货/缺件 | SAP 发货/缺件中间表、MES 装配计划 | 发货通知、仓库出库、交货数量、缺件替代料需要统一解释 |
| 质检未清 | 报工完成、SAP 质检任务、质检记录 | 新增复检、返工、免检、让步接收后,未清统计和明细都要扩展 |
| 设备运行 | `CaChe_Var`、历史设备状态、加工任务 | 若引入真实 OEE必须同步设备采集、报工、质检合格率 |
| 工时消耗/未完工工时 | 报工记录、生产工艺标准工时 | 设计/编程/装配/质检工时纳入后board_view 工时口径必须重构 |
### 同级看板的数据库调用链汇总
```mermaid
flowchart TD
A1[生产任务看板] --> P1[生产任务综合看板_*]
A2[装配中心看板] --> P2[装配中心任务看板_*]
A3[质检任务看板] --> P3[质量任务看板_*]
A4[机加运营看板一/二] --> P4[机加设备生产运营看板_*]
A5[TableTV] --> P5[设备管理_设备状态_查询]
A6[board_view 综合大屏] --> P6[看板_* / Event_CaChe_Var_看板查询]
P1 --> V1[View_生产订单_MES]
P1 --> S1[SAP 加急物料表]
P2 --> V1
P2 --> S2[SAP 发货/缺件表]
P3 --> Q1[质量检验_质检任务_SAP]
P3 --> Q2[YL_质量检验_质检记录]
P3 --> O1[YL_加工中心_操作记录表]
P4 --> V1
P4 --> C1[CaChe_Var]
P4 --> Q2
P5 --> V1
P5 --> R1[View_设备工位人员]
P6 --> V1
P6 --> H1[View_生产工时视图]
P6 --> C1
```
### 设备数据采集与大屏新增需求补充
本次新增讨论的需求把“设备采集、设备档案、OEE、工时异常、条码拣配、质检/机加/装配现场大屏”纳入同一条业务链。结合现有页面和存储过程,落点如下。
#### 1. 设备档案管理:标准工时、主要设备
**涉及页面**
- `DeviceManagement/DeviceInformation/index.vue`:设备信息维护。
- `SystemMaintenance/WorkstationManagement/index.vue`:工位和 SAP Resource 维护。
- `ProductionManagement/PersonnelBinding/index.vue`、`ShiftManagement/index.vue`:人员、班次、工位绑定。
- 工艺维护类页面:生产工艺/标准工艺中已有 `标准工时`、`准备工时`、`工时合计` 等字段线索。
**现有数据基础**
- 设备相关过程:`设备管理_设备信息_查询`、`设备管理_设备信息_增加`、`设备管理_设备信息_编辑`、`设备管理_设备状态_查询`、`设备管理_设备数据查询`、`设备管理_设备数据_历史查询`、`设备管理_设备数据_统计数据查询`。
- 现有表/视图:`基础数据_设备工位点检表`、`View_设备工位人员`、`CaChe_Var`、`历史_设备数据_定时`、`历史_工位设备状态每分钟记录`、`YL_设备管理_工时记录`。
- 工艺标准工时来源:`车间生产管理工艺_零件生产工艺_工艺库`、`车间生产管理工艺_零件工序_工艺库`、`View_生产工艺视图`。
**新增需求分析**
设备档案不能只新增一个“标准工时”字段就结束,因为标准工时至少有三种含义:
| 标准工时类型 | 建议来源 | 用途 |
|---|---|---|
| 工艺标准单件工时 | 生产工艺/标准工艺 | 性能开动率、工时异常 |
| 设备可用标准工时 | 设备档案或班次日历 | 设备利用率 |
| 任务计划标准工时 | 生产任务快照 | 计划执行、未完工工时 |
因此设备档案应重点维护“是否主要设备、是否参与 OEE、设备/工位关系、采集点位、设备能力参数”,标准单件工时优先从工艺或设备+工序能力表取。否则同一设备加工不同零件时,单台设备 OEE 会被固定标准工时误导。
#### 2. 设备数据采集:程序工时、单件工时、设备状态
**涉及页面/看板**
- `TableTV/src/views/index.vue`:当前每 5 秒调用 `设备管理_设备状态_查询` 展示工位任务。
- `机加设备生产运营看板/src/views/index.vue`:调用 `机加设备生产运营看板_设备运行状态查询` 读取 `CaChe_Var` 当前设备状态。
- `board_view/src/views/left.vue`:调用 `Event_CaChe_Var_看板查询` 展示设备采集变量。
- 主系统设备数据页面:`设备管理_设备数据查询`、`设备管理_设备数据_历史查询`、`设备管理_设备数据_统计数据查询`。
**当前处理方式**
- `机加设备生产运营看板_设备运行状态查询` 只从 `CaChe_Var` 读取当前 `TagName='设备状态'` 并汇总关机/待机/运行/报警数量。
- `设备管理_设备数据查询` 会把 `操作模式` 和 `设备状态` 的数值翻译成中文。
- `设备管理_设备数据_统计数据查询` 已经从 `历史_工位设备状态每分钟记录` 统计停机、关机、报警时长,并从 `YL_设备管理_工时记录` 汇总程序时长。
**新增需求需要补的处理链**
```mermaid
flowchart LR
A[设备采集原始点位] --> B[采集原始表]
B --> C[当前缓存 CaChe_Var]
B --> D[设备状态历史]
B --> E[程序/循环时间历史]
D --> F[设备状态时长汇总]
E --> G[程序工时/单件工时]
F --> H[设备利用率/OEE]
G --> I[性能开动率/工时异常]
```
**必须新增或明确的字段**
- 设备编号/工位号
- 采集时间
- 设备状态
- 操作模式
- 程序号
- 循环时间
- 程序开始/结束时间
- 当前任务或条码
- 采集质量标识
如果没有“设备采集数据与 MES 任务的绑定字段”,程序工时只能按设备和时间段估算,不能准确回写到订单、工序和人员。
#### 3. OEE 与设备指标:公式和数据来源
**需求公式**
| 指标 | 公式 | 需要的数据 |
|---|---|---|
| 产能利用率(单台) | 实际产量 / 计划产量 * 100% | 设备维度计划产量、实际产量 |
| 设备利用率(单台) | 设备工时 / 标准工时 | 设备运行工时、设备/班次标准工时 |
| 设备性能开动率(单台) | 标准单件工时 / 实际单件工时 | 工艺标准单件工时、设备采集单件工时 |
| 产品合格率(工位) | 良品数 / 总产量 | 质检合格数或报工良品数、总产量 |
| OEE | 设备利用率 * 开动率 * 合格率 | 上述三项同口径结果 |
**当前页面差距**
- `board_view` 的 `看板_中间实时OEE数据展示_查询` 当前返回固定样例数据,不是实际 OEE。
- `机加设备生产运营看板` 当前有设备状态、计划执行率、不良品、当天完成,但没有完整的设备利用率、性能开动率、产品合格率三段计算链。
- `TableTV` 当前以任务卡片为主,没有展示单件工时/OEE。
**建议新增数据库层**
| 建议对象 | 作用 |
|---|---|
| `设备采集_原始数据表` | 保存设备原始采集值,避免丢失追溯 |
| `设备状态_分钟汇总表` | 按设备、时间段统计运行/待机/报警/关机时长 |
| `设备程序工时_明细表` | 保存程序号、循环时间、设备、任务绑定 |
| `View_设备OEE_班次指标` | 按设备、日期、班次输出产能利用率、设备利用率、开动率、合格率、OEE |
| `View_设备单件工时异常` | 输出实际单件工时大于标准工时的异常明细 |
#### 4. 工时异常报表:单件工时大于标准工时
**涉及页面**
- `ProductionManagement/Timesheet`、工时统计类页面。
- `ProductionManagement/WorkHoursCheck`:工时校验。
- 后续新增“工时异常报表”页面。
**现有过程线索**
- `工时统计_任务工时_查询`
- `工时统计_设备工时_查询`
- `工时统计_作业者工时_查询`
- `工时校验_保存校验记录`
- `设备管理_设备数据_统计数据查询`
**新增报表逻辑**
| 字段 | 来源建议 | 说明 |
|---|---|---|
| 标准单件工时 | 生产工艺/标准工艺 | 应做任务快照 |
| 实际单件工时 | 设备采集循环时间,或设备运行时长/产量 | 无采集时可降级为人工工时/完成数量 |
| 超出时长 | 实际单件工时 - 标准单件工时 | 大于 0 进入异常 |
| 超出比例 | 超出时长 / 标准单件工时 | 用于排序和预警颜色 |
| 异常原因 | 人工确认或规则分类 | 后续闭环需要 |
**隐性影响**:工时异常报表会反向要求 `WorkHoursCheck` 能解释“人工工时、程序工时、设备工时”三者差异。否则设备采集显示异常,但人工报工正常,页面无法判断该不该上传 SAP 或计入绩效。
#### 5. 及时拣配(机加/装配):条码到 MES
**涉及页面**
- `ProductionManagement/MachiningCenter/index.vue`:机加领料/发料/退库/开工相关。
- `ProductionManagement/AssemblyCenter/index.vue`:装配领料/发料/缺件/开工相关。
- `生产任务看板`:齐套率、未按期齐套任务。
- `装配任务看板`:在制缺件、发货状态、装配任务列表。
**新增业务流程**
```mermaid
flowchart LR
A[扫描条码] --> B[解析条码类型]
B --> C[查 MES 任务/物料/BOM]
C --> D{匹配任务?}
D -- 否 --> E[异常提示/记录]
D -- 是 --> F[保存拣配记录]
F --> G[更新拣配状态]
G --> H[重算齐套/缺件]
H --> I[影响可开工/看板]
```
**需要新增或确认的表/字段**
- 条码类型、条码值
- 生产订单/任务 AID
- 物料编码、批次、数量
- 拣配人、拣配时间
- 拣配结果
- 异常原因
- 是否写回 `拣配状态`
- 是否写回 `齐套`
- 是否触发 `发料状态`
**SAP 影响**:条码拣配如果涉及库存占用或发料,必须确认 SAP 是否同步校验库存。否则 MES 已拣配、SAP 库存不足,会造成生产看板显示可开工但实际不能发料。
#### 6. 一楼质检大屏幕:质检及时率与关键工序
**涉及页面/看板**
- `质检任务看板/src/views/index.vue`
- `新建文件夹/src/views/index.vue` 试验版质检可视化
- 主系统 `QualityManagement/QualityCenter`、各类 `CheckTask`
- 工艺维护页面
**需求口径**
- 质检及时率:报检任务超过 2 天未检验;起算时间取最后一次生产完成时间。
- 关键工序检验任务汇总数和明细:工艺编辑工艺时标记关键工序。
**当前差距**
- `质量任务看板_未完成统计` 和 `质量任务看板_未完成明细查询` 能算未完成质检,但没有明确返回“最后一次生产完成时间、超期天数、是否关键工序”。
- 试验版 `Visualization_QcTask_RateSummary_Query`、`Visualization_QcTask_RateTrend_Query` 等过程名在当前脚本未落库。
**需要改造的存储过程**
| 过程 | 改造点 |
|---|---|
| `质量任务看板_未完成统计` | 增加超 2 天未检数量、关键工序未检数量 |
| `质量任务看板_未完成明细查询` | 增加最后生产完成时间、超期天数、是否关键工序、关键工序排序 |
| `质量任务看板_当天已完成明细` | 增加关键工序标识,便于完成闭环 |
| 新增 `质量任务看板_质检及时率` | 专门输出应检、及时检、超期未检、及时率 |
**关键工序字段建议**
- 工艺库字段:`是否关键工序`
- 生产任务快照字段:`是否关键工序`
- 看板优先读任务快照,避免工艺后改影响历史任务。
#### 7. 机加现场大屏幕:缺勤人员与关键工序任务
**涉及页面/看板**
- `机加设备生产运营看板/src/views/machiningOperationTwo.vue`
- `机加设备生产运营看板二/src/views/index.vue`
- `TableTV/src/views/index.vue`
- 班次/人员/工位绑定页面
**需求**
- 缺勤人员:岗位、工位(一对多合并显示)、姓名。
- 关键工序任务汇总数和明细:工艺编辑时标记关键工序。
**当前差距**
- 机加二屏现在有“缺勤人员”展示结构,但仍是静态/样例数据。
- `机加设备生产运营看板_机加在制查询2` 返回在制任务,但没有 `是否关键工序`。
- 缺勤不能从“没有报工”反推,必须有应到人员与实到人员来源。
**建议新增过程**
| 过程 | 返回字段 |
|---|---|
| `机加现场大屏_缺勤人员查询` | 岗位、工位列表、姓名、班次、应到时间、缺勤原因 |
| `机加现场大屏_关键工序任务汇总` | 关键工序任务数、加急数、超期数、进行中数 |
| `机加现场大屏_关键工序任务明细` | 订单、合同、物料、工序、工位、指派对象、计划开始、完成数量、上序合格数、加急 |
**涉及对象**`View_生产订单_MES`、`View_设备工位人员`、班次表、班次人员绑定表、工艺/生产任务关键工序标识表。
#### 8. 装配现场大屏幕:缺勤人员与及时送检
**涉及页面/看板**
- `装配任务看板/src/views/index.vue`
- `新建文件夹/src/views/AssemblyCenterTaskDashboard.vue`
- 主系统 `ProductionManagement/AssemblyCenter/index.vue`
**需求**
- 缺勤人员:岗位、工位、姓名,一对多合并显示。
- 及时送检任务列表:可合并到现有任务列表,通过颜色区分;排序在加急后;规则为“发料齐套后 2 天未送检”。
**当前差距**
- 装配看板 `summaryCards` 中有缺勤人员样例,但没有正式过程。
- `装配中心任务看板_装配任务查询` 返回齐套、发料状态、任务状态,但未返回发料齐套时间、送检状态、送检时间、超期天数。
- 质检任务看板能统计未检,但不是以装配“发料齐套后 2 天未送检”为起点。
**建议改造**
| 过程 | 改造点 |
|---|---|
| `装配中心任务看板_装配任务查询` | 增加发料齐套时间、是否送检、送检时间、送检超期天数、显示颜色等级 |
| 新增 `装配现场大屏_缺勤人员查询` | 返回岗位、工位列表、姓名、班次 |
| 新增 `装配现场大屏_及时送检任务查询` | 返回发料齐套后超过 2 天未送检任务,支持加急后排序 |
**状态排序建议**
1. 加急任务。
2. 发料齐套后 2 天未送检任务。
3. 发料齐套但未超期任务。
4. 缺件任务。
5. 普通未完成任务。
#### 9. 对现有看板章节的修正结论
- `机加设备生产运营看板` 当前只能作为“任务/设备状态看板”,还不能作为真实 OEE 看板。需要设备采集明细、标准工时、实际产量、质检良品数统一后才能上线 OEE。
- `board_view` 的 OEE 仍是样例值,本次需求明确后应优先替换为真实设备指标。
- `质检任务看板` 已有未完成和当天完成基础,但要满足一楼质检大屏,还必须补“超 2 天未检、最后生产完成时间、关键工序”。
- `装配任务看板` 的缺勤人员和及时送检当前不是正式数据链,需要新增过程。
- `TableTV` 可作为设备采集指标的现场承载页,但要注意 5 秒刷新频率和 SQL 性能。
## 追加修正:新增需求的页面归属与维护入口复核
本节用于修正“只按展示页面分析”的不足。新增需求不能只判断是否新增报表,还要判断字段维护入口是否已经存在。下面按现有 `src/views` 页面归属重新落点。
### 1. 标准工艺、生产工艺、关键工序
**涉及页面**
- `src/views/ProcessManagement/ProcessesDevelop/index.vue`:制定标准工艺。
- `src/views/ProcessManagement/ProcessProduct/index.vue`:生产工艺。
- `src/views/ProcessManagement/ProcedureManagement/index.vue`:工序基础数据。
- `src/views/ProcessManagement/ProcessInquiry/index.vue`:工艺查询。
**修正结论**
关键工序不是看板字段,而是工艺字段。应在标准工艺和生产工艺中维护:
| 字段 | 标准工艺维护 | 生产工艺维护 | 任务快照 |
|---|---|---|---|
| 是否关键工序 | 需要 | 需要,默认继承标准工艺,可按订单调整 | 需要 |
| 标准单件工时 | 需要 | 需要,生产订单可覆盖 | 需要 |
| 准备工时/工时合计 | 已有字段线索,应统一口径 | 需要同步 | 需要 |
| 是否影响质检及时率 | 可作为默认规则 | 订单级确认 | 快照后供质检看板读取 |
**原因**
- `ProcessProduct` 已经同时出现“标准工艺”“生产工艺”“批量生成生产工艺”“保存为标准工艺”等业务动作,是订单级工艺维护的合理入口。
- `ProcessesDevelop` 是标准工艺维护入口,适合维护默认关键工序和标准工时。
- 质检看板、机加现场大屏只应该读取 `是否关键工序`,不应该承担维护。
**必须补充的后端能力**
| 对象 | 建议改造 |
|---|---|
| `车间生产管理工艺_零件工序_工艺库` | 增加或确认 `是否关键工序`、`标准单件工时` 字段 |
| `车间生产管理工艺_零件生产工艺_工艺库` | 增加或确认订单级 `是否关键工序`、`标准单件工时` 字段 |
| 生产任务生成/下发过程 | 将关键工序和标准工时快照到任务或任务扩展表 |
| `View_标准工艺视图`、`View_生产工艺视图` | 返回关键工序标识和标准工时 |
**影响页面/看板**
- `QualityManagement/QualityCenter`、`质检任务看板`:按关键工序统计应检、未检、超期。
- `ProductionManagement/MachiningCenter`、机加现场大屏:关键工序任务汇总和明细。
- `PlanManagement/ProductionPlanTrack`:工艺路线展示时可标识关键工序。
### 2. 缺勤人员:不能由看板静态维护
**涉及页面/模块**
- `src/views/BasicData/PersonnelManagement` 或人员维护类页面。
- `src/views/BasicData/ShiftManagement`:班次管理。
- `src/views/SystemMaintenance/WorkstationManagement/index.vue`:工位和 SAP Resource 维护。
- `src/views/ProductionManagement/PersonnelBinding/index.vue`:人员绑定线索。
- `机加设备生产运营看板`、`装配任务看板`:缺勤展示。
**修正结论**
缺勤人员必须有“应到人员”和“实到人员”两个来源:
```mermaid
flowchart LR
A[班次管理/排班] --> B[应到人员]
C[工位人员绑定/岗位配置] --> B
D[考勤/上岗/登录/报工] --> E[实到人员]
B --> F[缺勤计算过程]
E --> F
F --> G[机加/装配看板缺勤人员]
```
**维护入口建议**
| 数据 | 建议入口 | 说明 |
|---|---|---|
| 人员基础信息 | 人员管理 | 姓名、岗位、班组、状态 |
| 班次规则 | 班次管理 | 班次开始/结束、跨天规则 |
| 应到人员/排班 | 若现有班次管理不能承载,需要新增或扩展排班维护 | 缺勤判断的前置条件 |
| 工位/岗位/人员关系 | 工位管理或人员绑定页面 | 支持一人多工位、多岗位合并显示 |
| 实到记录 | 考勤、上岗绑定、登录或报工记录 | 需要最终确认哪个是权威来源 |
**不建议**
- 不建议从“没有报工”直接推断缺勤。
- 不建议在大屏页面手工维护缺勤人员。
- 不建议用静态数组或样例过程长期支撑现场看板。
**建议新增/改造过程**
| 过程 | 用途 |
|---|---|
| `机加现场大屏_缺勤人员查询` | 返回岗位、工位列表、姓名、班次、应到时间、实到状态、缺勤原因 |
| `装配现场大屏_缺勤人员查询` | 同上,按装配岗位/工位过滤 |
| `班次排班_应到人员查询` | 统一给看板和报表复用 |
### 3. 报表页和维护页的拆分原则
现有新增需求里有很多“新增页面”,但页面类型并不相同:
| 需求 | 页面类型 | 是否承担维护 |
|---|---|---|
| 机加班次产量表 | 报表查询页 | 不承担班次维护,只读班次规则和报工记录 |
| 及时检验报表 | 催办/查询页 | 不维护质检结果,质检仍在质检中心处理 |
| 生产日报-送检 | 日报查询页 | 不维护送检/检验结果 |
| 让步接收记录 | 查询追溯页 | 不维护让步接收,来源是质检中心/不合格处置 |
| 发货通知列表 | SAP 数据查询页 | 默认不维护 SAP 发货通知;如需备注另建扩展表 |
| 手续确认报表 | 待办确认页 | 可以维护 `手续确认`、确认人、确认时间 |
| 及时齐套跟踪结果报表 | 查询 + 部分维护页 | 可维护预计可执行时间、主子订单人工关系,但要留日志 |
| 装配已排产需求 | 交付进度页 + 部分过程字段维护页 | 可维护钣金/泵、备注、人工日期类字段,不能替代装配中心所有业务动作 |
| 设计任务报工 | 新业务操作页 | 维护设计任务和设计工时 |
| 编程任务清单/编程报工 | 新业务操作页 | 维护编程任务、程序号、编程工时 |
### 4. 现有页面需补的字段归属
| 现有页面 | 应补字段/能力 | 说明 |
|---|---|---|
| `ProcessManagement/ProcessesDevelop` | `是否关键工序`、标准单件工时、保存提示 | 标准来源 |
| `ProcessManagement/ProcessProduct` | 自动带出标准工艺、订单级关键工序、生产工艺快照提示 | 生产任务使用来源 |
| `ProcessManagement/ProcedureManagement` | 工序是否需要 SAP 同步状态、是否允许作为关键工序候选 | 工序主数据 |
| `BasicData/ShiftManagement` | 班次业务日、跨天规则、是否参与缺勤/OEE | 班次产量和缺勤基础 |
| `SystemMaintenance/WorkstationManagement` | 工位-设备-岗位-人员关系、SAP Resource 映射 | 缺勤、OEE、设备看板基础 |
| `DeviceManagement/DeviceInformation` | 主要设备、是否参与 OEE、采集点位、设备能力参数 | 不独立承担所有工艺标准工时 |
| `ProductionManagement/MachiningCenter` | 报异常入口、扫码拣配、设备采集任务绑定、关键工序提示 | 机加执行入口 |
| `ProductionManagement/AssemblyCenter` | 报异常入口、发料齐套时间、送检状态、手续确认关联 | 装配执行入口 |
| `QualityManagement/QualityCenter` | 关键工序质检、让步接收、最后生产完成时间、超期天数 | 质检执行入口 |
| `PlanManagement/PlannOrderClose` | 批量关闭 SAP、逐单结果、失败原因、重试 | 关闭动作不应新建孤立页面 |
### 5. 对看板章节的修正
看板章节中出现的“缺勤人员”“关键工序”“及时率”“OEE”都不是单纯前端字段
| 看板字段 | 必须有的业务维护入口 | 看板只负责 |
|---|---|---|
| 缺勤人员 | 班次/排班、人员工位绑定、实到来源 | 汇总展示和滚动明细 |
| 关键工序 | 标准工艺、生产工艺、任务快照 | 汇总关键工序任务和未检任务 |
| 质检及时率 | 质检中心、报工完成时间、送检记录 | 计算应检、已检、超期 |
| OEE | 设备档案、采集点位、工艺标准工时、报工/质检数量 | 展示设备指标和下钻 |
| 齐套/缺件 | SAP 缺件、MES 拣配、发料、主子订单关系 | 展示缺件状态和预计可执行时间 |
后续修改看板时,应先检查维护入口和统一过程是否存在。没有维护入口时,看板开发只能算“展示壳”,不能算需求闭环。