# `Sp_WorkOpsOutProcess` (procedure)


- **Type:** PROCEDURE
- **Deterministic:** NO
- **SQL data access:** CONTAINS SQL

## Parameters

| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | `sLoginId` | `varchar(100)` |
| 2 | IN | `sBrId` | `varchar(100)` |
| 3 | IN | `sSuId` | `varchar(100)` |
| 4 | IN | `bFilter` | `longtext` |
| 5 | IN | `pageNum` | `int` |
| 6 | IN | `pageSize` | `int` |
| 7 | OUT | `totalCount` | `int` |
| 8 | IN | `countCloumn` | `longtext` |
| 9 | OUT | `countMapJson` | `longtext` |
| 10 | IN | `sFilterOrderBy` | `longtext` |
| 11 | IN | `sGroupby_select_sql` | `longtext` |
| 12 | IN | `sGroupby_group_sql` | `longtext` |

## Body

_Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_WorkOpsOutProcess`'`._

## Narrative

**Business context:** 生产管理 / 生产工单工序发外 — paged report listing work-order operations sent to outside processors. The signature matches the standard form-master report data-source contract (`bFilter`, `pageNum`/`pageSize`, `totalCount`, `countCloumn`/`countMapJson`, `sFilterOrderBy`, `sGroupby_select_sql`/`sGroupby_group_sql`) used elsewhere for paged grids backed by `Sp_Outstanding_Query`.

**What it does:** Builds dynamic SQL against `mftworkordermaster` joined to `mftworkorderProcess` (and friends) to materialise temp table `TMP_viw_mftworkorderprocessextralnew_Nsyn` — every column maps to the 工序发外 grid: `sMaterialsId/Name/No`, `sCustomerId/Name`, `sProductId/No/Name`, `dOutsideQty`, `dOutsideProcessQty`, `sProcessId/Name`, `sParamsV`, `sKnifeMouldId`, `tCheckDate`, etc. Applies `Fun_bFilter_toWhere` to convert the front-end filter JSON, scopes by `Fun_GetLookCustomer(sLoginId, sBrId, sSuId)` for per-user customer visibility, then runs the paging/count path.

**Invocation:** Status: appears orphaned. No `gdsconfigformmaster` binds it as `sSqlStr`/`sConfigSqlStr`/`sSqlCondition`, no `gdsmodule` hook references it, no other DB routine calls it, and xly-src has no hits. The signature is identical to live report procs (a strong tell), but the corresponding form-master row is missing — likely deployed for an in-progress 工序发外 report that hasn't been wired up, or its form was removed. Candidate for maintainer audit.
