自动化立体仓库 - WMS系统
whycq
2023-08-26 82bcd0328dddbaad65933e2fada22bc68e82b3d5
src/main/webapp/views/api_index.html
@@ -7,6 +7,8 @@
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" />
    <link rel="stylesheet" href="../static/css/api_index/api_index.css">
    <link rel="stylesheet" href="../static/css/prism.css">
    <script src="../static/css/prism.js"></script>
    <title>api | AS / RS</title>
</head>
<body>
@@ -16,18 +18,20 @@
    <div class="siderbar">
        <div >
            <ul>
                <li>背景</li>
                <li><a href="#background">背景</a></li>
<!--                <li><a href="#background">背景</a></li>-->
                <li><a href="#Url">URL及数据包格式规范</a></li>
            </ul>
        </div>
    </div>
    <div class="main">
        <div class="main-box">
            <h1>背景</h1>
            <h1 id="background">背景</h1>
            <p>本文旨在为自动化立体仓库数据同步条件的平台开放服务,提供统一的HTTP接口调用与交互规范。</p>
            <p>本文中描述的规范包括AS/RS功能模块的数据同步接口。</p>
            <h1>规范适用对象说明</h1>
            <p>本规范仅适用于由平台之间服务器端发起调用请求,包括POST提交数据以及GET请求数据。</p>
            <h2>名词解释</h2>
            <h1>名词解释</h1>
            <ul>
                <li><span>AS/RS:自动化立体仓库仓储系统</span></li>
                <li><span>WMS:仓库管理系统。</span></li>
@@ -36,7 +40,7 @@
                <li><span>全部同步:不管数据有无变化,同步周期内全部数据同步上传。</span></li>
                <li><span>增量同步:同步周期内有变化(新增、修改、更新)的数据同步上传。</span></li>
            </ul>
            <h1>URL及数据包格式规范</h1>
            <h1 id="Url">URL及数据包格式规范</h1>
            <h2>URL</h2>
            <ul>
                <li><span>服务器提供如下风格的HTTP接口。</span></li>
@@ -57,29 +61,34 @@
            <p>遵守数据交换规范中业务级通用参数的约定。</p>
            <p>表格4-2业务级参数的通用约定</p>
            <p>ERP遵守数据交换规范中业务级通用参数的约定。</p>
            <h2>响应数据包格式规范</h2>
            <h1>响应数据包格式规范</h1>
            <p>目前接口的返回格式全部采用JSON格式。</p>
            <h3>JSON输出格式</h3>
            <h2>JSON输出格式</h2>
            <p>响应包符合如下规范的标准JSON字符串:</p>
            <ul>
                <li>http响应头中的Content-Type指定:application/json;charset=utf-8</li>
                <li>字符串编码格式是utf-8</li>
            </ul>
            <h3>接口响应输出格式</h3>
            <h2>接口响应输出格式</h2>
            <ur><li>响应输出格式</li></ur>
            <code>
                {
                "code":200,
                "msg":"操作成功",
                "data":null
                }
            </code>
            <div class="code language-css">
                <pre class="">
                    <code class="">
    {
        "code":200,
        "msg":"操作成功",
        "data":null
    }
                    </code>
                </pre>
            </div>
            <ur><li>获取成功信息</li></ur>
            <table border="1">
                <tr><td>code</td><td>msg</td><td>data</td></tr>
                <tr><th>code</th><th>msg</th><th>data</th></tr>
                <tr><td>200</td><td>操作成功</td><td>接口返回业务数据</td></tr>
            </table>
            <h3>错误响应输出格式</h3>
            <h2>错误响应输出格式</h2>
            <p>错误响应输出内容符合以下规范:</p>
            <ur><li>返回内容由code,msg,data此三类属性组成,分别用于描述错误编码,以及错误信息。</li></ur>
            <p>{
@@ -97,6 +106,308 @@
                <tr><td>407</td><td>请勿重复提交</td></tr>
                <tr><td>500</td><td>服务器错误</td></tr>
            </table>
            <h1>相关业务接口</h1>
            <h2>商品信息同步</h2>
            <h3>接口前言</h3>
            <ul>
                <li>接口提供方:AS/RS</li>
                <li>接口调用方:ERP</li>
                <li>业务类型:入库作业</li>
                <li>场景描述:ERP系统中新增或修改商品基础信息以后,调用此接口,将商品信息同步至AS/RS。</li>
            </ul>
            <h3>请求规范</h3>
            <p>请求头:</p>
            <table border="1">
                <tr><th>参数名</th><th>描述</th></tr>
                <tr><td>Method</td><td>Post</td></tr>
                <tr><td>Url</td><td>http://{prefix}/open/asrs/order/matSync/default/v1</td></tr>
                <tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
                <tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
            </table>
            <p>注:appkey、prefix由管理员提供</p>
            <p>请求体:</p>
            <table border="1">
                <tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
                <tr><td>createTime</td><td>是</td><td>字符串</td><td>单据时间(yyyy-MM-ddHH:mm:ss)</td></tr>
                <tr><td>matDetails</td><td>是</td><td>列表</td><td>单据明细</td></tr>
            </table>
            <p>注:JSON提交</p>
            <p>matDetails列表对象</p>
            <table border="1">
                <tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
                <tr><td>matnr</td><td>是</td><td>字符串</td><td>商品编号</td></tr>
                <tr><td>maktx</td><td>是</td><td>字符串</td><td>商品名称</td></tr>
                <tr><td>groupCode</td><td>是</td><td>字符串</td><td>商品分类</td></tr>
                <tr><td>groupName</td><td>是</td><td>字符串</td><td>分类名称</td></tr>
                <tr><td>name</td><td>否</td><td>字符串</td><td>存货代码</td></tr>
                <tr><td>specs</td><td>否</td><td>字符串</td><td>规格</td></tr>
                <tr><td>model</td><td>否</td><td>字符串</td><td>型号</td></tr>
                <tr><td>color</td><td>否</td><td>字符串</td><td>颜色</td></tr>
                <tr><td>brand</td><td>否</td><td>字符串</td><td>品牌</td></tr>
                <tr><td>unit</td><td>否</td><td>字符串</td><td>单位</td></tr>
                <tr><td>price</td><td>否</td><td>字符串</td><td>单价</td></tr>
                <tr><td>sku</td><td>否</td><td>字符串</td><td>sku</td></tr>
                <tr><td>units</td><td>否</td><td>Double</td><td>单位量</td></tr>
                <tr><td>barcode</td><td>否</td><td>字符串</td><td>条码</td></tr>
                <tr><td>origin</td><td>否</td><td>字符串</td><td>产地</td></tr>
                <tr><td>manu</td><td>否</td><td>字符串</td><td>厂家</td></tr>
                <tr><td>manuDate</td><td>否</td><td>Double</td><td>生产日期</td></tr>
                <tr><td>itemNum</td><td>否</td><td>字符串</td><td>品项数</td></tr>
                <tr><td>safeQty</td><td>否</td><td>Double</td><td>安全库存量</td></tr>
                <tr><td>weight</td><td>否</td><td>Double</td><td>重量</td></tr>
                <tr><td>length</td><td>否</td><td>Double</td><td>长度</td></tr>
                <tr><td>volume</td><td>否</td><td>Double</td><td>体积</td></tr>
                <tr><td>threeCode</td><td>否</td><td>字符串</td><td>三方编码</td></tr>
                <tr><td>Supp</td><td>否</td><td>字符串</td><td>供应商</td></tr>
                <tr><td>suppCode</td><td>否</td><td>字符串</td><td>供应商编码</td></tr>
                <tr><td>beBatch</td><td>否</td><td>Integer</td><td>是否批次1:是0:否</td></tr>
                <tr><td>deadTime</td><td>否</td><td>字符串</td><td>保质期</td></tr>
                <tr><td>deadWarn</td><td>否</td><td>Integer</td><td>预警天数</td></tr>
                <tr><td>source</td><td>否</td><td>Integer</td><td>制购1:制造2:采购3:外协</td></tr>
                <tr><td>inspect</td><td>否</td><td>Integer</td><td>要求检验1:是0:否</td></tr>
                <tr><td>danger</td><td>是</td><td>Integer</td><td>危险品1:是0:否</td></tr>
                <tr><td>status</td><td>是</td><td>Integer</td><td>状态1:正常0:禁用</td></tr>
                <tr><td>createBy</td><td>是</td><td>Long</td><td>填1即可</td></tr>
                <tr><td>createTime</td><td>是</td><td>Date</td><td>添加时间</td></tr>
                <tr><td>memo</td><td>是</td><td>字符串</td><td>备注</td></tr>
            </table>
            <p>请求示例:</p>
            <div class="code language-css">
                <pre>
                    <code>
                        {
"createTime":"2022-04-1109:28:10",
"matDetails":[
{
"matnr":"Y9000P",
"maktx":"联想拯救者电脑",
"groupCode":"A01",
"groupName":"laptop",
"name":"联想笔记本电脑",
"specs":"3070显卡",
"model":"非公模具",
"color":"黑色",
"brand":"联想",
"unit":"台",
"price":10999,
"sku":"无sku",
"units":1000,
"barcode":"90000001",
"origin":"中国",
"manu":"中国联想",
"manuDate":"2022-04-1109:28:10",
"itemNum":"1000",
"safeQty":30,
"weight":5,
"length":3,
"volume":10,
"threeCode":"无三方编码",
"supp":"浙江中扬立库",
"suppCode":"supp01",
"beBatch":1,
"deadTime":"2022-08-1109:28:10",
"deadWarn":1,
"source":1,
"inspect":1,
"danger":2,
"status":1,
"createBy":1,
"createTime":"2022-08-1109:28:10",
"memo":"测试用"
}
]
}
                    </code>
                </pre>
            </div>
            <h3>返回值</h3>
            <p>响应字段:</p>
            <table border="1">
                <tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
                <tr><td>code</td><td>数字</td><td>响应码</td></tr>
                <tr><td>msg</td><td>字符串</td><td>响应描述</td></tr>
                <tr><td>data</td><td>列表</td><td>响应内容</td></tr>
            </table>
            <p>响应示例:</p>
            <div class="code language-css">
                <pre>
                    <code>
{
"msg":"操作成功",
"code":200
}
                    </code>
                </pre>
            </div>
            <h2>生成入库单据</h2>
            <h3>接口前言</h3>
            <ul>
                <li>接口提供方:AS/RS</li>
                <li>接口调用方:ERP</li>
                <li>业务类型:入库作业</li>
                <li>场景描述:根据ERP入库单据(生产、采购、调拨、销售退回、其他等)进行入库作业,此任务仅为
                    生成AS/RS入库通知单数据,然后由现场人员操作PDA进行入库,并不表示调用此接口后即表示入库完成。
                </li>
            </ul>
            <h3>请求规范</h3>
            <p>请求头:</p>
            <table border="1">
                <tr><th>参数名</th><th>描述</th></tr>
                <tr><td>Method</td><td>Post</td></tr>
                <tr><td>Url</td><td>Post</td></tr>
                <tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
                <tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
            </table>
            <p>注:appkey、prefix由管理员提供</p>
            <p>请求体:</p>
            <table border="1">
                <tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
                <tr><td>orderNo</td><td>是</td><td>字符串</td><td>单据编号</td></tr>
                <tr><td>orderType</td><td>是</td><td>字符串</td><td>单据类型</td></tr>
                <tr><td>orderTime</td><td>是</td><td>字符串</td><td>单据时间(yyyy-MM-ddHH:mm:ss)</td></tr>
                <tr><td>orderDetails</td><td>是</td><td>列表</td><td>单据明细</td></tr>
            </table>
            <p>注:JSON提交</p>
            <p>注:如果orderDetails中出现两条有相同商品编号(matnr)和相同生产批号(batch)的
                信息,立库仅会生成一条,并将数量累加.</p>
            <p>orderDetails列表对象:</p>
            <table border="1">
                <tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
                <tr><td>matnr</td><td>是</td><td>字符串</td><td>商品编号(确保此商品已同步至立库)</td></tr>
                <tr><td>batch</td><td>否</td><td>字符串</td><td>生产批号</td></tr>
                <tr><td>anfme</td><td>是</td><td>数字型</td><td>入库数量</td></tr>
            </table>
            <p>请求示例:</p>
            <div class="code language-css">
                <pre>
                    <code>
{
"orderNo":"963007546090586112",
"orderTime":"2022-04-1109:28:10",
"orderType":"采购入库单",
"orderDetails":[
{
"matnr":"MDH020030530",
"anfme":18.0,
"batch":"500"
},
{
"matnr":"LSH90152025",
"anfme":50.0
}
]
}
                    </code>
                </pre>
            </div>
            <h3>返回值</h3>
            <p>响应字段:</p>
            <table border="1">
                <tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
                <tr><td>code</td><td>数字</td><td>响应码</td></tr>
                <tr><td>msg</td><td>字符串</td><td>响应描述</td></tr>
                <tr><td>data</td><td>列表</td><td>响应内容</td></tr>
            </table>
            <p>响应示例:</p>
            <div class="code language-css">
                <pre>
                    <code>
{
"msg":"操作成功",
"code":200
}
                    </code>
                </pre>
            </div>
            <h2>入库完成回写</h2>
            <h3>接口前言</h3>
            <ul>
                <li>接口提供方:ERP</li>
                <li>接口调用方:AS/RS</li>
                <li>业务类型:入库作业</li>
                <li>场景描述:AS/RS执行ERP入库单据,完成货物的组托、入库后,上报已入库完成
                    数量。入库完成策略以整个单据为单位上报。</li>
            </ul>
            <h3>请求规范</h3>
            <p>请求头:</p>
            <table border="1">
                <tr><th>参数名</th><th>描述</th></tr>
                <tr><td>Method</td><td>Post</td></tr>
                <tr><td>Url</td><td>http://{prefix}/open/asrs/order/matSync/default/v1</td></tr>
                <tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
                <tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
            </table>
            <p>注:appkey、prefix由管理员提供</p>
            <p>请求体:</p>
            <table border="1">
                <tr><th>字段名称</th><th style="width: 50px">必需</th><th style="width: 50px">类型</th><th>说明</th></tr>
                <tr><td>orderNo</td><td>否</td><td>字符串</td><td>单据编号(此参数为空时,获取所有已
                    完成的入库单据,数据被获取后,下次
                    请求此接口,数据不会重复出现;反
                    之,则获取指定单据编号数据,指定单
                    据数据可重复出现。</td></tr>
            </table>
            <h3>返回值</h3>
            <p>响应字段:</p>
            <table border="1">
                <tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
                <tr><td>code</td><td>数字</td><td>响应码</td></tr>
                <tr><td>msg</td><td>字符串</td><td>响应描述</td></tr>
                <tr><td>data</td><td>列表</td><td>响应内容</td></tr>
            </table>
            <p>data列表对象:</p>
            <table border="1">
                <tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
                <tr><td>orderNo</td><td>字符串</td><td>单据编号</td></tr>
                <tr><td>orderType</td><td>字符串</td><td>单据类型</td></tr>
                <tr><td>orderTime</td><td>字符串</td><td>单据时间(yyyy-MM-ddHH:mm:ss)</td></tr>
                <tr><td>orderDetails</td><td>列表</td><td>单据明细</td></tr>
            </table>
            <p>orderDetails列表对象:</p>
            <table border="1">
                <tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
                <tr><td>matnr</td><td>字符串</td><td>商品编号</td></tr>
                <tr><td>batch</td><td>字符串</td><td>生产批号</td></tr>
                <tr><td>anfme</td><td>数字型</td><td>入库数量</td></tr>
                <tr><td>orderNo</td><td>字符串</td><td>单据编号</td></tr>
            </table>
            <p>响应示例:</p>
            <div class="code language-css">
                <pre>
                    <code>
{
    "msg":"操作成功",
    "code":200,
    "data":[
        {
            "orderNo":"963007546090586112",
            "orderType":"采购入库单",
            "orderTime":"2022-04-11 09:30:35",
            "orderDetils":[
                    {
                        "orderNo":"963007546090586112",
                        "matnr":"MDH020030530",
                        "batch":"500",
                        "anfme":18.0
                    },
                    {
                        "orderNo":"963007546090586112",
                        "matnr":"MDH020030530",
                        "batch":"500",
                        "anfme":18.0
                    }
            ]
        }
    ]
}
                    </code>
                </pre>
            </div>
        </div>
    </div>
</body>