/api{
"code": 200,
"message": "success",
"data": {}
}
接口地址: GET /delivery-schedule/list
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | number | 否 | 页码,默认1 |
| pageSize | number | 否 | 每页条数,默认20 |
| ponumber | string | 否 | 采购单号(模糊查询) |
| dsnum | string | 否 | 交货单号(模糊查询) |
| itemnum | string | 否 | 物料编码(模糊查询) |
| suppliercode | string | 否 | 供应商(模糊查询) |
| status | string | 否 | 状态:N-初始,P-已发布,C-关闭 |
| keywords | string | 否 | 关键词搜索 |
| searchMode | string | 否 | 搜索模式:AND-全部包含,OR-任一包含 |
| startDate | string | 否 | 开始日期 YYYY-MM-DD |
| endDate | string | 否 | 结束日期 YYYY-MM-DD |
SQL查询:
SELECT
ss.Id as id,
ss.domain,
ss.icdsid,
ss.dsnum,
ss.status,
ss.itemnum,
im.Descr,
im.UM as um,
ss.purgroup,
ss.suppliercode,
ss.supplier,
ss.submitdate,
ss.requestdate,
ss.needdate,
ss.ponumber,
ss.poline,
ss.schedqty,
ss.lastsentdate,
ss.lastsentqty,
ss.sentqty,
ss.restqty
FROM srm_polist_ds ss
LEFT JOIN ItemMaster im ON ss.domain = im.Domain AND ss.itemnum = im.ItemNum
WHERE ss.isactive = 1
-- 添加查询条件
ORDER BY ss.Id DESC
LIMIT :pageSize OFFSET :offset
响应数据:
{
"code": 200,
"message": "success",
"data": {
"list": [
{
"id": "1",
"dsnum": "DS2024001",
"status": "N",
"itemnum": "MAT001",
"Descr": "物料描述",
"um": "PC",
"purgroup": "PG01",
"suppliercode": "SUP001",
"supplier": "供应商名称",
"requestdate": "2024-01-15",
"needdate": "2024-01-20",
"schedqty": 100.00,
"sentqty": 50.00,
"restqty": 50.00,
"lastsentdate": "2024-01-10",
"lastsentqty": 50.00,
"submitdate": null,
"ponumber": "PO2024001",
"poline": "10"
}
],
"total": 100
}
}
接口地址: POST /delivery-schedule/generate
请求参数:
{
"domain": "组织编号",
"operator": "操作人账号"
}
业务逻辑: 调用存储过程或业务逻辑生成新的交货单
响应数据:
{
"code": 200,
"message": "生成交货单成功",
"data": null
}
接口地址: POST /delivery-schedule/publish
请求参数:
{
"ids": ["1", "2", "3"]
}
SQL更新:
UPDATE srm_polist_ds
SET status = 'P', submitdate = NOW()
WHERE id IN (:ids)
响应数据:
{
"code": 200,
"message": "发布成功",
"data": null
}
接口地址: POST /delivery-schedule/unpublish
请求参数:
{
"id": "1"
}
SQL更新:
UPDATE srm_polist_ds
SET status = 'N', submitdate = NULL
WHERE id = :id
响应数据:
{
"code": 200,
"message": "取消发布成功",
"data": null
}
接口地址: POST /delivery-schedule/void
请求参数:
{
"id": "1"
}
SQL更新:
UPDATE srm_polist_ds
SET status = 'C', isactive = 0
WHERE id = :id
响应数据:
{
"code": 200,
"message": "作废成功",
"data": null
}
接口地址: POST /delivery-schedule/batch-add
请求参数:
{
"ponumber": "PO2024001",
"domain": "组织编号",
"operator": "操作人账号"
}
存储过程调用:
EXEC pr_MES_GenerateJHD
@ponumber = :ponumber,
@domain = :domain,
@operator = :operator
响应数据:
{
"code": 200,
"message": "批量添加成功",
"data": null
}
接口地址: GET /purchase-order/list
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| page | number | 否 | 页码,默认1 |
| pageSize | number | 否 | 每页条数,默认20 |
| ponumber | string | 否 | 采购单号(模糊查询) |
| itemnum | string | 否 | 物料编码(模糊查询) |
| supplier | string | 否 | 供应商(模糊查询) |
| sortField | string | 否 | 排序字段 |
| sortOrder | string | 否 | 排序方向:asc-升序,desc-降序 |
SQL查询:
SELECT DISTINCT
m.PurOrd,
d.Line,
d.ItemNum,
d.UM,
m.Supp,
s.Name,
d.DueDate,
d.QtyOrded,
m.Buyer,
m.Domain
FROM PurOrdMaster m
INNER JOIN PurOrdDetail d ON m.RecID = d.PurOrdRecID
LEFT JOIN srm_polist_ds ds ON d.PurOrd = ds.ponumber
AND d.Line = ds.poline
AND ds.isactive = 1
LEFT JOIN ConsigneeAddressMaster s ON m.Domain = s.Domain
AND m.Supp = s.Address
AND s.Typed = 'Supp'
WHERE m.Status <> 'C'
AND d.Status <> 'C'
AND (ISNULL(ds.dsnum, '') = '' OR (ds.status = 'C' AND d.QtyOrded - d.RctQty > 0))
-- 添加查询条件和排序
ORDER BY m.PurOrd DESC
LIMIT :pageSize OFFSET :offset
响应数据:
{
"code": 200,
"message": "success",
"data": {
"list": [
{
"PurOrd": "PO2024001",
"Line": "10",
"ItemNum": "MAT001",
"UM": "PC",
"Supp": "SUP001",
"Name": "供应商名称",
"DueDate": "2024-01-20",
"QtyOrded": 100.00,
"Buyer": "PG01",
"Domain": "DOMAIN01"
}
],
"total": 50
}
}
| 错误码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 |
| 403 | 无权限 |
| 404 | 资源不存在 |
| 500 | 服务器错误 |
YYYY-MM-DD 或 YYYY-MM-DD HH:mmLIKE '%keyword%' 方式Authorization: Bearer {token} 进行身份验证