### 添加工单

此接口可创建未签核的工单,工单号必须唯一。

---

### 基本信息

方法:POST

URL:http://localhost:8033/open/addWorkorder

认证:需要

---

### 请求

请求参数

| 参数名 | 类型 | 必填 | 说明 |
| :-- | :-- | :-- | :-- |
| profile | string | 是 | 厂区。 |
| code | string | 是 | 工单号。 |
| id | string | 否 | 单据内码 |
| entryId | string | 否 | 生产订单行内码(对接唯一码) |
| seq | int | 否 | 生产订单行号 |
| areaCode | string | 是 | 车间编号。 |
| typeCode | string | 否 | 工单类型编号。<br>`301` = 正常工单<br>`300` = 返工工单<br>`306` = 重工工单 |
| orderCode | string | 否 | 订单号。 |
| orderTypeCode | string | 否 | 订单类型编号。<br>`General` = 常规订单<br>`Supervision` = 监造订单 |
| customer | string | 否 | 客户。 |
| oemCustomer | string | 否 | OEM 客户。 |
| productCode | string | 是 | 产品编码。 |
| productGrade | string | 否 | 产品等级。 |
| targetNum | int | 是 | 工单交付数量。 |
| planNum | int | 是 | 计划数量,一般情况下与 `targetNum` 一致即可。 |
| warnNum | int | 是 | 预警数量,一般情况下与 `targetNum` 一致即可。 |
| beginTime | string | 是 | 开始时间。<br>参考格式:2008-08-08 20:00:00 |
| endTime | string | 是 | 结束时间。<br>参考格式:2008-08-08 20:00:00 |
| bom | Array | 是 | bom信息 |

bom字段

| 参数名 | 类型 | 必填 | 说明 |
| :-- | :-- | :-- | :-- |
| productCode | string | 是 | 产品编码 |
| materialCode | string | 是 | 物料编码 |
| isPrimary | int | 是 | 是否主料 0否,1是|
| primaryPart | string | 是 | 主料物料编码,如果isPrimary=1,则与materialCode相同 |
| ProcessCode | string | 否 | 工序代码 |
| serialRequirement | double | 是 | 物料单耗 |
| uom | string | 否 | 单位 |
| partType | string | 否 | 物料类别 |
| lostRatio | string | 否 | 物料损耗 |
| origBatchNbr | string | 否 | 母批号 |

请求示例

```
{
    "data":  {
        "profile": "测试",
        "code": "NewWorkorder001",
        "id": "",
        "entryId": "",
        "seq": 1,
        "areaCode": "1",
        "typeCode": "301",
        "orderCode": "NewOrder001",
        "orderTypeCode": "General",
        "customer": "客户",
        "oemCustomer": "OEM 客户",
        "productCode": "1000",
        "productGrade": "600",
        "planNum": 5200,
        "warnNum": 4800,
        "targetNum": 5000,
        "beginTime": "2008-08-08 20:00:00",
        "endTime": "2008-08-24 20:00:00",
        "bom": [{
			"productCode": "PD004",
			"materialCode": "CELL001",
			"isPrimary": 1,
			"primaryPart": "CELL001",
			"ProcessCode": "M15",
			"SerialRequirement": 3.2,
			"Uom": "pcs",
			"PartType": "CELL",
			"LostRatio": 0.01,
			"OrigBatchNbr": ""
		}, {
			"productCode": "PD004",
			"materialCode": "CELL002",
			"isPrimary": 0,
			"primaryPart": "CELL001",
			"ProcessCode": "M15",
			"SerialRequirement": 3.2,
			"Uom": "pcs",
			"PartType": "CELL",
			"LostRatio": 0.01,
			"OrigBatchNbr": ""
		}]
    }
}
```

---

### 响应

响应字段

| 字段 | 类型 |  说明 |
| :-- | :-- | :-- |
| workorder | object | 工单。 |
| - code | string | 工单号。 |
| - areaCode | string | 车间编号。 |
| - areaDesc | string | 车间描述。 |
| - typeCode | string | 工单类型。 |
| - typeDesc | string | 工单类型。 |
| - orderCode | string | 订单号。 |
| - orderTypeCode | string | 订单类型。 |
| - orderTypeDesc | string | 订单类型。 |
| - customer | string | 客户。 |
| - oemCustomer | string | OEM 客户。 |
| - productCode | string | 产品编码。 |
| - productGrade | string | 产品等级。 |
| - planNum | int | 计划数量。 |
| - warnNum | int | 预警数量。 |
| - targetNum | int | 工单交付数量。 |
| - beginTime | string | 工单开始时间。 |
| - endTime | string | 工单结束时间 |
| - createTime | string | 工单创建时间。 |

成功时的响应示例:

```
{
    "clock": "2023-01-01 20:00:00.000",
    "status": "ok",
    "data": {
        "workorder": {
            "code": "NewWorkorder001",
            "areaCode": "1",
            "areaDesc": null,
            "typeCode": "301",
            "typeDesc": "正常工单",
            "orderCode": "NewOrder001",
            "orderTypeCode": "General",
            "orderTypeDesc": "常规订单",
            "customer": "客户",
            "oemCustomer": "OEM 客户",
            "productCode": "1000",
            "productGrade": "600",
            "planNum": 5200,
            "warnNum": 4800,
            "targetNum": 5000,
            "beginTime": "2008-08-08 20:00:00",
            "endTime": "2008-08-24 20:00:00",
            "createTime": "2023-01-01 20:00:00"
        }
    }
}
```