4、控制出货
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>http://10.27.204.40:8080/api/ShouhuojiCtl/controlShiping</code></li>
</ul>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">macno</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>设备号</td>
</tr>
<tr>
<td style="text-align: left;">oid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td>订单号</td>
</tr>
<tr>
<td style="text-align: left;">back_url</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>设置回调地址 回调地址必填</td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>签名(md5("dlc"))</td>
</tr>
<tr>
<td style="text-align: left;">orderinfo</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>订单信息按照索引从0开始的索引数据jsonencode,然后再base64编码</td>
</tr>
</tbody>
</table>
<p>/**orderinfo 中每一个数组的字段如下***/</p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">container_no</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>货柜编号:范围1-15</td>
</tr>
<tr>
<td style="text-align: left;">sysnum</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>出货的流水,用来表示每次出货,相邻两次出货均应不相同可以每次出货加一</td>
</tr>
<tr>
<td style="text-align: left;">container_type</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>货道类型:0格子柜,1弹簧柜,2履带柜</td>
</tr>
<tr>
<td style="text-align: left;">is_lifter</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>是否带升降机:0不带,1带</td>
</tr>
<tr>
<td style="text-align: left;">is_baffle</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>是否带防盗挡板:0不带,1带</td>
</tr>
<tr>
<td style="text-align: left;">container_no_type</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>货道编号方式:0行列方式,行范围1-10,列范围1-12;1编号方式,编号范围1-100,先行再列,此编号与货道控制板的最大列数(A5命令设置)有关。当最大列数为10时,第2行第3列的编号为13,当最大列数为8时,第2行第3列的编号为11</td>
</tr>
<tr>
<td style="text-align: left;">signal_no</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>货道的行号或者编号:行号范围1-10,编号范围1-100</td>
</tr>
<tr>
<td style="text-align: left;">signal_column_no</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>货道的列号:范围1-12,编号方式时忽略</td>
</tr>
<tr>
<td style="text-align: left;">action_max_times</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>最大动作时间:单位1秒,当为0时,表示采用默认时间。(格子柜的默认时间为1秒,弹簧柜的默认时间为5秒,履带柜的默认时间为5秒)</td>
</tr>
<tr>
<td style="text-align: left;">vend_times</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>掉货检测时间:单位秒,当为0时,表示不启动掉货检测,默认为3秒。</td>
</tr>
<tr>
<td style="text-align: left;">lifter_start_position</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>升降台起始位置:0-8,表示升降台原始的位置在第几层位置,每次出货均从起始位置出发到目的层数,再回到起始位置</td>
</tr>
<tr>
<td style="text-align: left;">lifter_move_times</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>升降机升降一层最大时间:单位秒,升降机升降一层的最大时间</td>
</tr>
<tr>
<td style="text-align: left;">pick_overtime</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>取货超时时间:单位秒,货物到达出货口到货物被取走的超时时间。超过此时间取货锁将自动上锁,为0表示不带取货锁</td>
</tr>
<tr>
<td style="text-align: left;">baffle_overtime</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>防盗挡板开关超时时间:单位秒,防盗挡板开关的超时时间,超过此时间还未到位,表示防盗挡板出错。</td>
</tr>
</tbody>
</table>
<p><strong>返回示例</strong></p>
<pre><code>{
"code": "1",//0失败 1成功
"msg": "发送成功",
}</code></pre>
<p>*<em>异步通知数据返回示例 (结果返回最长等待时间为(出货个数</em>6)秒)**</p>
<pre><code>{
"code": "1",//状态码 1为成功 0为失败 2超时 需要等待后续确定推送,最大订单延迟时间为半小时 在code为2的情况下,下面字段均无效,且只有第一个订单有数据,其余订单均为失败,推送数据字段见表1。
"macno": "1",//设备号
"oid": "1",//订单号
"key_success": "1",//成功的订单数
"order_total": "1",//订单总数
"msg": "发送成功",
"data": 为json字符串// 数据如下表
}</code></pre>
<p>**data:为一个json字符串。解密后为一个多维数组(维数不超过order_total数量),从第一个开始到最后一个,分别为每个货品的出货状态,
result的值状态如下:
1则出货成功,
2未检测到货物掉出 货道可能损坏了
0或者该索引不存在 则为出货失败,一般是出货超时,原因为通信不畅</p>
<pre><code>[
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1},
{"result":1}
]</code></pre>
<p><strong>表1 ,code为2的情况 数据推送</strong></p>
<pre><code>{
"macno": "2018010200000005",//设备号
"oid": "10023",//订单号
"type": "timeout",//固定为timeout
"result": "1",// 1 为成功 0为失败
}</code></pre>