Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit dc5bb044
由
LN
编写于
2022-03-29 09:28:00 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
调用mes接口完善
1 个父辈
fe0b0488
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
300 行增加
和
29 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrderItem.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/hikvision/HikApi.java
src/main/java/com/neotel/smfcore/hikvision/HikvisionApiController.java
src/main/java/com/neotel/smfcore/hikvision/bean/InOutApiInfo.java
src/main/java/com/neotel/smfcore/hikvision/bean/ReservedOrderItem.java
src/main/resources/config/application.yml
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
dc5bb04
package
com
.
neotel
.
smfcore
.
core
.
device
.
handler
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.base.Strings
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.device.api.CodeValidateParam
;
import
com.neotel.smfcore.core.device.api.IOpAuthApi
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.inList.util.InListCache
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
...
...
@@ -22,17 +19,15 @@ import com.neotel.smfcore.core.system.util.DevicesStatusUtil;
import
com.neotel.smfcore.core.system.websocket.MsgType
;
import
com.neotel.smfcore.core.system.websocket.SocketMsg
;
import
com.neotel.smfcore.core.system.websocket.WebSocketServer
;
import
com.neotel.smfcore.hikvision.HikApi
;
import
com.neotel.smfcore.hikvision.bean.InOutApiInfo
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.service.po.Group
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -371,6 +366,10 @@ public class NLPShelfHandler extends BaseDeviceHandler{
String
msg
=
queueTask
.
getBarcode
()
+
"入库到"
+
pos
.
getPosName
()
+
"成功"
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
INFO
,
"smfclient.nlp.inputOk"
,
new
String
[]{
queueTask
.
getBarcode
(),
pos
.
getPosName
()}));
//入库完成,调用 7.5入库上架过账接口
boolean
result
=
HikApi
.
putInApi
(
""
,
InOutApiInfo
.
inputInfo
(
queueTask
.
getInType
(),
queueTask
.
getBarcode
(),
queueTask
.
getNum
()));
break
;
}
catch
(
Exception
e
)
{
log
.
error
(
"入库出错"
,
e
);
...
...
@@ -417,6 +416,10 @@ public class NLPShelfHandler extends BaseDeviceHandler{
String
msg
=
queueTask
.
getBarcode
()+
"从"
+
posName
+
"出库成功"
;
log
.
error
(
msg
);
WebSocketServer
.
sendMsg
(
""
,
new
SocketMsg
(
msg
,
MsgType
.
INFO
,
"smfclient.nlp.outputOk"
,
new
String
[]{
queueTask
.
getBarcode
(),
posName
}));
//出库完成,调用 ,7.6出库下架过账接口
boolean
result
=
HikApi
.
checkOutApi
(
""
,
InOutApiInfo
.
outInfo
(
queueTask
.
getOutType
(),
queueTask
.
getBarcode
(),
queueTask
.
getNum
(),
queueTask
.
getBaseCode
(),
queueTask
.
getLgort
()));
break
;
}
catch
(
Exception
e
)
{
log
.
error
(
"出库出错"
,
e
);
...
...
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
查看文件 @
dc5bb04
...
...
@@ -23,6 +23,8 @@ import com.neotel.smfcore.core.system.util.TaskService;
import
com.neotel.smfcore.core.system.websocket.MsgType
;
import
com.neotel.smfcore.core.system.websocket.SocketMsg
;
import
com.neotel.smfcore.core.system.websocket.WebSocketServer
;
import
com.neotel.smfcore.hikvision.HikApi
;
import
com.neotel.smfcore.hikvision.bean.api.ResponseParam
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.po.Group
;
...
...
@@ -163,6 +165,28 @@ public class SingleInController {
}
Barcode
barcode
=
resolveBarcode
(
code
);
//唯一码校验接口
ResponseParam
param
=
HikApi
.
riCheckApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
(),
""
,
""
);
if
(
ObjectUtil
.
isNotEmpty
(
param
))
{
if
(
param
.
getCode
().
equals
(
HikApi
.
CODE_OK
))
{
//唯一码验证成功
}
else
{
throw
new
ValidateException
(
"smfcore.riCheckApi.error"
,
"唯一码["
+
barcode
.
getBarcode
()
+
"]验证失败:"
+
param
.
getCode
()
+
"="
+
param
.
getMessage
()
+
""
,
new
String
[]{
param
.
getCode
(),
param
.
getMessage
()});
}
}
//判断如果是退料入库,需要获取数量
if
(
inType
.
equals
(
4
))
{
int
num
=
HikApi
.
returnMaterialApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
());
if
(
num
>
0
)
{
barcode
.
setAmount
(
num
);
barcodeManager
.
saveBarcode
(
barcode
);
log
.
info
(
"退料入库,二维码 "
+
barcode
.
getBarcode
()
+
" 从接口获得新数量:"
+
num
+
",并更新"
);
}
}
String
pn
=
barcode
.
getPartNumber
();
String
reelId
=
barcode
.
getBarcode
();
String
num
=
barcode
.
getAmount
()
+
""
;
...
...
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
dc5bb04
...
...
@@ -125,6 +125,10 @@ public class LiteOrder extends BasePo implements Serializable {
* 工单类型,默认1=PN,2=RI
*/
private
int
type
=
1
;
/**
* 操作用户名
*/
private
String
operateUser
;
/**
* 订单的详细信息
...
...
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrderItem.java
查看文件 @
dc5bb04
...
...
@@ -92,6 +92,14 @@ public class LiteOrderItem extends BasePo implements Serializable ,Comparable<Li
return
this
.
getId
().
compareTo
(
o
.
getId
());
}
public
void
UpdateData
(
LiteOrderItem
item
){
setReason
(
item
.
getReason
());
setIncrement
(
item
.
getIncrement
());
setOverFlag
(
item
.
getOverFlag
());
setQty
(
item
.
getQty
());
setStation
(
item
.
getStation
());
}
// /**
// * 物料编号 materialNo
...
...
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
dc5bb04
...
...
@@ -208,8 +208,20 @@ public class DataLog extends BasePo implements Serializable {
* 入库类型:1=普通入库,2=并盘入库,3=截料入库,4=退料入库
*/
private
int
inType
;
/**
* 出库类型: 0=普通出库,1=并盘出库 ,2=湿敏出库
*/
private
int
outType
;
/**
* 基地
*/
private
String
baseCode
;
/**
* 库位
*/
private
String
lgort
;
/**
* MSD附加信息
*/
private
MSDAppendInfo
msdAppendInfo
;
...
...
src/main/java/com/neotel/smfcore/hikvision/HikApi.java
查看文件 @
dc5bb04
...
...
@@ -11,7 +11,6 @@ import com.neotel.smfcore.hikvision.util.JsonUtil;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
springfox.documentation.spring.web.json.Json
;
import
javax.annotation.PostConstruct
;
import
java.text.SimpleDateFormat
;
...
...
@@ -21,19 +20,32 @@ import java.util.*;
public
class
HikApi
{
//读取配置中的地址
private
static
String
mesServer
=
""
;
@Value
(
"${hik.server:}"
)
public
void
set
Host
(
String
host
)
{
public
void
set
MesServer
(
String
mesServer
)
{
HikApi
.
mesServer
=
mesServer
;
}
private
static
String
baseCode
=
""
;
@Value
(
"${hik.baseCode:}"
)
public
void
setBaseCode
(
String
baseCode
)
{
HikApi
.
baseCode
=
baseCode
;
}
private
static
String
lgort
=
""
;
@Value
(
"${hik.lgort:}"
)
public
void
setLgort
(
String
lgort
)
{
HikApi
.
lgort
=
lgort
;
}
@Autowired
private
DataCache
dataCache
;
@PostConstruct
public
void
init
(){
mesServer
=
dataCache
.
GetConfigCache
(
"hik.server"
,
"hik.server"
,
mesServer
);
log
.
info
(
"HIK服务器地址:"
+
mesServer
);
baseCode
=
dataCache
.
GetConfigCache
(
"hik.baseCode"
,
"hik.baseCode"
,
baseCode
);
lgort
=
dataCache
.
GetConfigCache
(
"hik.lgort"
,
"hik.lgort"
,
lgort
);
log
.
info
(
"HIK服务器地址:"
+
mesServer
+
",baseCode="
+
baseCode
+
",lgort="
+
lgort
);
}
/**
...
...
@@ -293,14 +305,34 @@ public class HikApi {
* @param param
* @return 入库上架过账 是否成功,true=成功
*/
public
static
boolean
input
Api
(
String
userName
,
InOutApiInfo
param
){
String
apiName
=
"Hik 入库上架过账接口 (
input
Api): "
;
public
static
boolean
putIn
Api
(
String
userName
,
InOutApiInfo
param
){
String
apiName
=
"Hik 入库上架过账接口 (
putIn
Api): "
;
String
url
=
getUrl
(
"入库上架过账接口"
);
// warehousingType Integer 是 入库类型(0普通入库1退料入库2并盘入库3截料入库)
// trayId String 41 是 料盘ID/唯一码
// qty Integer 是 数量
// baseCode String 16 是 基地
// lgort String 16 是 库位
int
inType
=
0
;
if
(
param
.
getInType
().
equals
(
2
)){
//入库类型(1=普通入库,2=并盘入库,3=截料入库,4=退料入库)
inType
=
2
;
}
else
if
(
param
.
getInType
().
equals
(
3
)){
inType
=
3
;
}
else
if
(
param
.
getInType
().
equals
(
4
)){
inType
=
1
;
}
param
.
setInType
(
inType
);
if
(
ObjectUtil
.
isEmpty
(
param
.
getBaseCode
())&&
ObjectUtil
.
isNotEmpty
(
baseCode
)){
param
.
setBaseCode
(
baseCode
);
}
if
(
ObjectUtil
.
isEmpty
(
param
.
getLgort
())&&
ObjectUtil
.
isNotEmpty
(
lgort
)){
param
.
setLgort
(
lgort
);
}
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<
String
,
Object
>();
dataMap
.
put
(
"warehousingType"
,
param
.
getInType
());
//入库类型(0普通入库1退料入库2并盘入库3截料入库)
dataMap
.
put
(
"trayId"
,
param
.
getTrayId
());
//料盘ID/唯一码
...
...
@@ -357,6 +389,14 @@ public class HikApi {
dataMap
.
put
(
"baseCode"
,
param
.
getBaseCode
());
//基地
dataMap
.
put
(
"lgort"
,
param
.
getLgort
());
//库位
if
(
ObjectUtil
.
isEmpty
(
param
.
getBaseCode
())&&
ObjectUtil
.
isNotEmpty
(
baseCode
)){
param
.
setBaseCode
(
baseCode
);
}
if
(
ObjectUtil
.
isEmpty
(
param
.
getLgort
())&&
ObjectUtil
.
isNotEmpty
(
lgort
)){
param
.
setLgort
(
lgort
);
}
String
data
=
JsonUtil
.
toJsonStr
(
dataMap
);
RequestParam
info
=
new
RequestParam
(
getReqCode
(),
userName
,
data
);
...
...
@@ -391,12 +431,13 @@ public class HikApi {
* @param orderNo 工单号、合单号
* @return 保存下架过账信息 是否成功,true=成功
*/
public
static
List
<
O
rderItemInfo
>
check
OrderApi
(
String
userName
,
String
orderNo
){
String
apiName
=
"Hik 工单发料状态查询接口 (
check
OrderApi): "
;
public
static
List
<
O
bject
>
update
OrderApi
(
String
userName
,
String
orderNo
){
String
apiName
=
"Hik 工单发料状态查询接口 (
update
OrderApi): "
;
String
url
=
getUrl
(
"工单发料状态查询接口"
);
// data String 16 是 工单号/合单号
RequestParam
info
=
new
RequestParam
(
getReqCode
(),
userName
,
orderNo
);
HikApiRequest
request
=
new
HikApiRequest
(
1
,
url
,
new
Date
(),
info
);
List
<
Object
>
resultList
=
new
ArrayList
<>();
log
.
info
(
apiName
+
" 发送"
+
info
.
getData
());
try
{
ResponseParam
responseInfo
=
HttpHelper
.
postJson
(
url
,
info
);
...
...
@@ -409,11 +450,22 @@ public class HikApi {
}
else
if
(
responseInfo
.
getCode
().
equals
(
CODE_PARAMERROR
)
||
responseInfo
.
getCode
().
equals
(
CODE_REPEAT
))
{
needResend
=
true
;
log
.
info
(
apiName
+
"返回code="
+
responseInfo
.
getCode
()
+
",需要重发,"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
}
else
{
}
else
if
(
responseInfo
.
getCode
().
equals
(
33
)){
// code Integer 结果码(33关闭)
//工单已关闭
log
.
info
(
apiName
+
"返回code="
+
responseInfo
.
getCode
()
+
",工单已关闭,无法出库"
);
resultList
.
add
(
33
);
resultList
.
add
(
new
ArrayList
<>());
return
resultList
;
}
else
{
log
.
info
(
apiName
+
"返回"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
String
dataStr
=
responseInfo
.
getData
();
List
<
OrderItemInfo
>
list
=
JsonUtil
.
toList
(
dataStr
,
OrderItemInfo
.
class
);
return
list
;
resultList
.
add
(
responseInfo
.
getCode
());
resultList
.
add
(
list
);
return
resultList
;
}
}
catch
(
Exception
e
)
{
...
...
@@ -434,6 +486,16 @@ public class HikApi {
public
static
ResponseParam
riCheckApi
(
String
userName
,
String
trayId
,
String
baseCode
,
String
lgort
){
String
apiName
=
"Hik 唯一码校验接口 (riCheckApi): "
;
String
url
=
getUrl
(
"唯一码校验接口"
);
if
(
ObjectUtil
.
isEmpty
(
baseCode
)&&
ObjectUtil
.
isNotEmpty
(
HikApi
.
baseCode
)){
baseCode
=
HikApi
.
baseCode
;
}
if
(
ObjectUtil
.
isEmpty
(
lgort
)&&
ObjectUtil
.
isNotEmpty
(
HikApi
.
lgort
)){
lgort
=
HikApi
.
lgort
;
}
// trayId String 41 是 料盘ID
// baseCode String 16 是 基地
// lgort String 16 是 库位
...
...
@@ -474,9 +536,10 @@ public class HikApi {
* @param replenishmentNo 补料单号
* @return 返回备料列表
*/
public
static
List
<
O
rderItemInfo
>
check
ReplenishmentOrderApi
(
String
userName
,
String
replenishmentNo
){
String
apiName
=
"Hik 补料单发料状态查询接口 (
check
ReplenishmentOrderApi): "
;
public
static
List
<
O
bject
>
update
ReplenishmentOrderApi
(
String
userName
,
String
replenishmentNo
){
String
apiName
=
"Hik 补料单发料状态查询接口 (
update
ReplenishmentOrderApi): "
;
String
url
=
getUrl
(
"补料单发料状态查询接口"
);
List
<
Object
>
resultList
=
new
ArrayList
<>();
// data String 41 是 补料单号
RequestParam
info
=
new
RequestParam
(
getReqCode
(),
userName
,
replenishmentNo
);
HikApiRequest
request
=
new
HikApiRequest
(
1
,
url
,
new
Date
(),
info
);
...
...
@@ -492,9 +555,68 @@ public class HikApi {
}
else
if
(
responseInfo
.
getCode
().
equals
(
CODE_PARAMERROR
)
||
responseInfo
.
getCode
().
equals
(
CODE_REPEAT
))
{
needResend
=
true
;
log
.
info
(
apiName
+
"返回code="
+
responseInfo
.
getCode
()
+
",需要重发,"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
}
else
if
(
responseInfo
.
getCode
().
equals
(
33
)){
// code Integer 结果码(33关闭)
//工单已关闭
log
.
info
(
apiName
+
"返回code="
+
responseInfo
.
getCode
()
+
",工单已关闭,无法出库"
);
resultList
.
add
(
33
);
resultList
.
add
(
new
ArrayList
<>());
return
resultList
;
}
else
{
List
<
OrderItemInfo
>
list
=
JsonUtil
.
toList
(
responseInfo
.
getData
(),
OrderItemInfo
.
class
);
return
list
;
log
.
info
(
apiName
+
"返回"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
String
dataStr
=
responseInfo
.
getData
();
List
<
OrderItemInfo
>
list
=
JsonUtil
.
toList
(
dataStr
,
OrderItemInfo
.
class
);
resultList
.
add
(
responseInfo
.
getCode
());
resultList
.
add
(
list
);
return
resultList
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
apiName
+
"出错"
,
e
);
}
HikApiCache
.
addFailedRequest
(
request
);
return
null
;
}
/**
* 7.10 预留单转储出库接口
* @param userName
* @param docNo 预留单号
* @param businessType 单据类型(0 线边仓间转储,1 )
* @return 返回预留单详情列表
*/
public
static
List
<
ReservedOrderItem
>
reservedOrderApi
(
String
userName
,
String
docNo
,
int
businessType
){
String
apiName
=
"Hik 预留单转储出库接口 (updateReplenishmentOrderApi): "
;
String
url
=
getUrl
(
"预留单转储出库接口"
);
// 接口名 预留单转储出库接口
// data docNo String 16 是 预留单号
// BusinessType Integer 是 单据类型(0 线边仓间转储,1 )
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"docNo"
,
docNo
);
dataMap
.
put
(
"BusinessType"
,
businessType
);
String
data
=
JsonUtil
.
toJsonStr
(
dataMap
);
RequestParam
info
=
new
RequestParam
(
getReqCode
(),
userName
,
data
);
HikApiRequest
request
=
new
HikApiRequest
(
1
,
url
,
new
Date
(),
info
);
log
.
info
(
apiName
+
" 发送"
+
info
.
getData
());
try
{
ResponseParam
responseInfo
=
HttpHelper
.
postJson
(
url
,
info
);
boolean
needResend
=
false
;
if
(
responseInfo
==
null
||
responseInfo
.
getCode
().
equals
(-
1
))
{
needResend
=
true
;
log
.
info
(
apiName
+
" 未收到返回值,需要重发"
);
}
else
if
(
responseInfo
.
getCode
().
equals
(
CODE_PARAMERROR
)
||
responseInfo
.
getCode
().
equals
(
CODE_REPEAT
))
{
needResend
=
true
;
log
.
info
(
apiName
+
"返回code="
+
responseInfo
.
getCode
()
+
",需要重发,"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
}
else
{
log
.
info
(
apiName
+
"返回"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
String
dataStr
=
responseInfo
.
getData
();
List
<
ReservedOrderItem
>
list
=
JsonUtil
.
toList
(
dataStr
,
ReservedOrderItem
.
class
);
return
list
;
}
}
catch
(
Exception
e
)
{
...
...
@@ -503,4 +625,51 @@ public class HikApi {
HikApiCache
.
addFailedRequest
(
request
);
return
null
;
}
/**
* 7.11订单发料完成通知接口
* @param userName
* @param orderNo 工单号
* @return 返回备料列表
*/
public
static
boolean
orderEndApi
(
String
userName
,
String
orderNo
){
// 7.11订单发料完成通知接口
// 接口名 订单发料完成通知接口
// 功能说明 提供订单发料完成通知能
// 提供方 MES
// 调用方 SMF
// 请求参数 参数名 数据类型 最大长度 是否必填 备注
// reqCode String 32 是 唯一请求号
// userCode String 32 是 操作人
// data String 16 是 工单号
// 返回结果 code Integer 结果码
// message String 64 结果描述
// reqCode String 32 唯一请求号
String
apiName
=
"Hik 订单发料完成通知接口 (orderEndApi): "
;
String
url
=
getUrl
(
"订单发料完成通知接口"
);
// data String 41 是 补料单号
RequestParam
info
=
new
RequestParam
(
getReqCode
(),
userName
,
orderNo
);
HikApiRequest
request
=
new
HikApiRequest
(
1
,
url
,
new
Date
(),
info
);
log
.
info
(
apiName
+
" 发送"
+
info
.
getData
());
try
{
ResponseParam
responseInfo
=
HttpHelper
.
postJson
(
url
,
info
);
boolean
needResend
=
false
;
if
(
responseInfo
==
null
||
responseInfo
.
getCode
().
equals
(-
1
))
{
needResend
=
true
;
log
.
info
(
apiName
+
" 未收到返回值,需要重发"
);
}
else
if
(
responseInfo
.
getCode
().
equals
(
CODE_PARAMERROR
)
||
responseInfo
.
getCode
().
equals
(
CODE_REPEAT
))
{
needResend
=
true
;
log
.
info
(
apiName
+
"返回code="
+
responseInfo
.
getCode
()
+
",需要重发,"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
}
else
{
log
.
info
(
apiName
+
" 返回"
+
JsonUtil
.
toJsonStr
(
responseInfo
));
return
true
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
apiName
+
"出错"
,
e
);
}
HikApiCache
.
addFailedRequest
(
request
);
return
false
;
}
}
src/main/java/com/neotel/smfcore/hikvision/HikvisionApiController.java
查看文件 @
dc5bb04
...
...
@@ -108,12 +108,13 @@ public class HikvisionApiController {
order
.
UpdateOutInfo
(
outInfo
);
LiteOrderItem
item
=
outInfo
.
crateOrderItem
(
orderNo
);
item
=
liteOrderItemManager
.
save
(
item
);
List
<
LiteOrderItem
>
items
=
order
.
getOrderItems
();
items
.
add
(
item
);
order
.
setOrderItems
(
items
);
liteOrderManager
.
save
(
order
);
order
=
liteOrderCache
.
updateOrderItem
(
order
,
item
);
// item = liteOrderItemManager.save(item);
// List<LiteOrderItem> items = order.getOrderItems();
// items.add(item);
// order.setOrderItems(items);
// liteOrderManager.save(order);
liteOrderCache
.
addOrderToMap
(
order
);
}
...
...
src/main/java/com/neotel/smfcore/hikvision/bean/InOutApiInfo.java
查看文件 @
dc5bb04
...
...
@@ -25,6 +25,16 @@ public class InOutApiInfo {
// qty Integer 是 数量
// baseCode String 16 是 基地
// lgort String 16 是 库位
public
static
InOutApiInfo
inputInfo
(
int
inType
,
String
trayId
,
int
qty
)
{
return
new
InOutApiInfo
(
inType
,
0
,
trayId
,
qty
,
""
,
""
);
}
public
static
InOutApiInfo
outInfo
(
int
outType
,
String
trayId
,
int
qty
,
String
baseCode
,
String
lgort
){
return
new
InOutApiInfo
(
0
,
outType
,
trayId
,
qty
,
baseCode
,
lgort
);
}
/**
* 入库类型(0普通入库1退料入库2并盘入库3截料入库)
*/
...
...
src/main/java/com/neotel/smfcore/hikvision/bean/ReservedOrderItem.java
0 → 100644
查看文件 @
dc5bb04
package
com
.
neotel
.
smfcore
.
hikvision
.
bean
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
*7.10 预留单转储出库接口 返回列表
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ReservedOrderItem
{
/**
* docNo String 32 单据号
*/
private
String
docNo
;
/**
* outLgort String 16 转出库位
*/
private
String
outLgort
;
/**
* inLgort String 16 转入库位
*/
private
String
inLgort
;
/**
* materialNo String 16 物料号
*/
private
String
materialNo
;
/**
*baseCode String 16 基地编号
*/
private
String
baseCode
;
/**
* dumpQty Integer 转出数量
*/
private
Integer
dumpQty
;
}
src/main/resources/config/application.yml
查看文件 @
dc5bb04
...
...
@@ -2,6 +2,8 @@ server:
port
:
8800
hik
:
server
:
baseCode
:
baseCode
lgort
:
lgort
# 文件存储路径
file
:
...
...
@@ -30,6 +32,5 @@ spring:
rsa
:
private_key
:
MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
app
:
version
:
'
@project.version@'
\ No newline at end of file
version
:
'
1.23.2909'
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论