# `GetDispatchUnit` (function)


- **Type:** FUNCTION
- **Returns:** `varchar(255)`
- **Deterministic:** NO
- **SQL data access:** CONTAINS SQL

## Parameters

| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | `sWorkOrderGuid` | `varchar(100)` |
| 2 | IN | `sProcessGuid` | `varchar(100)` |
| 3 | IN | `sBrId` | `varchar(100)` |
| 4 | IN | `sSuId` | `varchar(100)` |

## Body

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

## Narrative

**Business context:** Production-report unit picker. For a given work-order + process, returns the appropriate reporting unit (`张` / `付` / `印次` / `贴` / or the product's own `sProductUnit`) based on the process's `sProductionReportId` category.

**What it does:** Reads `EleProcess.sProductionReportId` for the process, then maps via a hardcoded GUID switch — five literal GUIDs map to fixed Chinese unit names; a sixth (`6904E091-…`) falls back to `eleproduct.sProductUnit` joined from the work-order's first slave row.

**Invocation:** Orphan-via-dead-chain. Only routine caller is `Sp_Manufacture_ProductionProcess`, which itself has no form-master, gdsmodule, or Java caller (a manufacturing-search proc that appears unwired). Hardcodes tenant-specific `sProductionReportId` GUIDs — would silently default to `NULL` on any other deployment. Candidate for maintainer audit.
