Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1dd96a52
由
zshaohui
编写于
2023-12-14 14:04:42 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.南瑞切换成正式环境
2.获取入库单,返回具体详情 3.提供根据条码获取宽和高给客户端
1 个父辈
f205d79a
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
59 行增加
和
50 行删除
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/inList/rest/InListController.java
src/main/java/com/neotel/smfcore/custom/nanrui/NanRuiApi.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
1dd96a5
...
@@ -11,9 +11,12 @@ import com.neotel.smfcore.common.exception.ValidateException;
...
@@ -11,9 +11,12 @@ import com.neotel.smfcore.common.exception.ValidateException;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.ReelLockPosUtil
;
import
com.neotel.smfcore.common.utils.ReelLockPosUtil
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.api.SmfApi
;
import
com.neotel.smfcore.core.api.SmfApi
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.device.bean.PosInfo
;
import
com.neotel.smfcore.core.device.bean.PosInfo
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
...
@@ -63,6 +66,9 @@ public class DeviceController {
...
@@ -63,6 +66,9 @@ public class DeviceController {
@Autowired
@Autowired
private
IStoragePosManager
storagePosManager
;
private
IStoragePosManager
storagePosManager
;
@Autowired
private
IComponentManager
componentManager
;
/**
/**
* 权限验证API列表
* 权限验证API列表
*/
*/
...
@@ -629,4 +635,29 @@ public class DeviceController {
...
@@ -629,4 +635,29 @@ public class DeviceController {
data
.
put
(
"plateH"
,
pos
.
getBarcode
().
getHeight
()
+
""
);
data
.
put
(
"plateH"
,
pos
.
getBarcode
().
getHeight
()
+
""
);
return
ResultBean
.
newOkResult
(
data
);
return
ResultBean
.
newOkResult
(
data
);
}
}
@ApiOperation
(
"根据条码返回尺寸信息"
)
@RequestMapping
(
"/service/store/getHeightandWidthByCode"
)
@ResponseBody
@AnonymousAccess
public
ResultBean
getHeightandWidthByCode
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
code
=
paramMap
.
get
(
"code"
);
if
(
StringUtils
.
isNotBlank
(
code
))
{
Barcode
barcode
=
codeResolve
.
resolveCode
(
code
);
if
(
barcode
!=
null
)
{
String
partNumber
=
barcode
.
getPartNumber
();
Component
component
=
componentManager
.
findOneByPN
(
partNumber
);
if
(
component
!=
null
)
{
Map
<
String
,
Object
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"partNumber"
,
partNumber
);
resultMap
.
put
(
"plateSize"
,
component
.
getPlateSize
());
resultMap
.
put
(
"height"
,
component
.
getHeight
());
return
ResultBean
.
newOkResult
(
resultMap
);
}
}
}
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"commpont"
,
code
});
}
}
}
src/main/java/com/neotel/smfcore/core/inList/rest/InListController.java
查看文件 @
1dd96a5
...
@@ -191,10 +191,11 @@ public class InListController {
...
@@ -191,10 +191,11 @@ public class InListController {
String
inListName
=
params
.
get
(
"inListName"
);
String
inListName
=
params
.
get
(
"inListName"
);
String
storageId
=
params
.
get
(
"storageId"
);
String
storageId
=
params
.
get
(
"storageId"
);
String
groupId
=
params
.
get
(
"groupId"
);
String
groupId
=
params
.
get
(
"groupId"
);
InList
inList
=
null
;
if
(
ObjectUtil
.
isEmpty
(
inListName
))
{
if
(
ObjectUtil
.
isEmpty
(
inListName
))
{
}
else
{
}
else
{
InList
inList
=
inListCache
.
getInList
(
inListName
);
inList
=
inListCache
.
getInList
(
inListName
);
if
(
inList
==
null
)
{
if
(
inList
==
null
)
{
//如果入库单为空的话,调用api获取
//如果入库单为空的话,调用api获取
inList
=
smfApi
.
fetchInList
(
inListName
);
inList
=
smfApi
.
fetchInList
(
inListName
);
...
@@ -233,7 +234,7 @@ public class InListController {
...
@@ -233,7 +234,7 @@ public class InListController {
}
}
}
}
}
}
return
ResultBean
.
newOkResult
(
"smfcore.inlist.setOk"
,
"设置成功"
);
return
ResultBean
.
newOkResult
(
inListMapper
.
toDto
(
inList
)
);
}
}
@ApiOperation
(
"下载入库单模板"
)
@ApiOperation
(
"下载入库单模板"
)
...
...
src/main/java/com/neotel/smfcore/custom/nanrui/NanRuiApi.java
查看文件 @
1dd96a5
package
com
.
neotel
.
smfcore
.
custom
.
nanrui
;
package
com
.
neotel
.
smfcore
.
custom
.
nanrui
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.HttpHelper
;
import
com.neotel.smfcore.common.utils.HttpHelper
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.core.api.bean.ApiResult
;
import
com.neotel.smfcore.core.api.bean.ApiResult
;
...
@@ -12,14 +10,10 @@ import com.neotel.smfcore.core.inList.service.po.InList;
...
@@ -12,14 +10,10 @@ import com.neotel.smfcore.core.inList.service.po.InList;
import
com.neotel.smfcore.core.inList.service.po.InListItem
;
import
com.neotel.smfcore.core.inList.service.po.InListItem
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.net.URL
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -29,81 +23,64 @@ import java.util.Map;
...
@@ -29,81 +23,64 @@ import java.util.Map;
@Service
@Service
public
class
NanRuiApi
extends
BaseSmfApiListener
{
public
class
NanRuiApi
extends
BaseSmfApiListener
{
@Autowired
private
LiteOrderCache
liteOrderCache
;
@Autowired
private
ILiteOrderManager
liteOrderManager
;
@Override
@Override
public
boolean
isForThisApi
(
String
apiName
)
{
public
boolean
isForThisApi
(
String
apiName
)
{
return
"nanrui"
.
equals
(
apiName
);
return
"nanrui"
.
equals
(
apiName
);
}
}
@Override
@Override
public
LiteOrder
fetchOrder
(
String
fetchOrderUrl
,
String
orderNumber
,
String
username
)
{
public
InList
fetchInList
(
String
fetchInListUrl
,
String
number
)
{
//String url, Map<String, Object> paramMap, Map<String,String> headerMap
LiteOrder
liteOrder
=
liteOrderCache
.
getLiteOrder
(
orderNumber
);
if
(
liteOrder
!=
null
){
throw
new
ValidateException
(
"smfcore.valueAlreadyExist"
,
"{0}[{1}]已存在"
,
new
String
[]{
"orderNumber"
,
orderNumber
});
}
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"api"
,
NanRuiConfig
.
api
);
paramMap
.
put
(
"api"
,
NanRuiConfig
.
api
);
paramMap
.
put
(
"format"
,
NanRuiConfig
.
format
);
paramMap
.
put
(
"format"
,
NanRuiConfig
.
format
);
Map
<
String
,
String
>
dataParamMap
=
new
HashMap
<>();
Map
<
String
,
String
>
dataParamMap
=
new
HashMap
<>();
dataParamMap
.
put
(
"number"
,
orderN
umber
);
dataParamMap
.
put
(
"number"
,
n
umber
);
String
dataStr
=
JSON
.
toJSONString
(
dataParamMap
);
String
dataStr
=
JSON
.
toJSONString
(
dataParamMap
);
//dataStr = URLEncoder.encode(dataStr);
//dataStr = URLEncoder.encode(dataStr);
paramMap
.
put
(
"data"
,
dataStr
);
paramMap
.
put
(
"data"
,
dataStr
);
Map
<
String
,
String
>
headerMap
=
new
HashMap
<>();
Map
<
String
,
String
>
headerMap
=
new
HashMap
<>();
headerMap
.
put
(
"X-DB"
,
NanRuiConfig
.
X_DB_
TEST
);
headerMap
.
put
(
"X-DB"
,
NanRuiConfig
.
X_DB_
PROD
);
headerMap
.
put
(
"Content-Type"
,
NanRuiConfig
.
contentType
);
headerMap
.
put
(
"Content-Type"
,
NanRuiConfig
.
contentType
);
try
{
String
resultStr
=
HttpHelper
.
postParam
(
fetchOrderUrl
,
paramMap
,
headerMap
);
log
.
info
(
orderNumber
+
"fetchOrder结果为:"
+
resultStr
);
ApiResult
apiResult
=
JsonUtil
.
toObj
(
resultStr
,
ApiResult
.
class
);
try
{
log
.
info
(
"调用获取入库单接口,参数"
+
JsonUtil
.
toJsonStr
(
paramMap
));
String
result
=
HttpHelper
.
postParam
(
fetchInListUrl
,
paramMap
,
headerMap
);
log
.
info
(
number
+
"获取入库单接口返回"
+
result
);
ApiResult
apiResult
=
JsonUtil
.
toObj
(
result
,
ApiResult
.
class
);
if
(
apiResult
.
isOk
())
{
if
(
apiResult
.
isOk
())
{
List
<
LiteOrderItem
>
orderItemList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
dataMap
=
(
Map
<
String
,
Object
>)
apiResult
.
getData
();
Map
<
String
,
Object
>
dataMap
=
(
Map
<
String
,
Object
>)
apiResult
.
getData
();
String
returnNumber
=
dataMap
.
get
(
"number"
).
toString
();
InList
inList
=
new
InList
();
inList
.
setName
(
returnNumber
);
List
<
InListItem
>
items
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
itemList
=
(
List
<
Map
<
String
,
Object
>>)
dataMap
.
get
(
"items"
);
List
<
Map
<
String
,
Object
>>
itemList
=
(
List
<
Map
<
String
,
Object
>>)
dataMap
.
get
(
"items"
);
for
(
Map
<
String
,
Object
>
itemMap
:
itemList
)
{
for
(
Map
<
String
,
Object
>
itemMap
:
itemList
)
{
String
partNum
=
itemMap
.
get
(
"partNum"
).
toString
();
String
partNum
=
itemMap
.
get
(
"partNum"
).
toString
();
Object
qtyStr
=
itemMap
.
get
(
"qty"
);
Object
qtyStr
=
itemMap
.
get
(
"qty"
);
Object
reelCountStr
=
itemMap
.
get
(
"reelCount"
);
Object
reelCountStr
=
itemMap
.
get
(
"reelCount"
);
InListItem
item
=
new
InListItem
();
LiteOrderItem
orderItem
=
new
LiteOrderItem
();
item
.
setPN
(
partNum
);
orderItem
.
setPn
(
partNum
);
if
(
qtyStr
!=
null
&&
!
qtyStr
.
toString
().
isEmpty
())
{
if
(
qtyStr
!=
null
&&
!
qtyStr
.
toString
().
isEmpty
())
{
orderItem
.
setNeed
Num
(
Integer
.
valueOf
(
qtyStr
.
toString
()));
item
.
set
Num
(
Integer
.
valueOf
(
qtyStr
.
toString
()));
}
}
if
(
reelCountStr
!=
null
&&
!
qtyStr
.
toString
().
isEmpty
())
{
if
(
reelCountStr
!=
null
&&
!
qtyStr
.
toString
().
isEmpty
())
{
orderItem
.
setNeed
ReelCount
(
Integer
.
valueOf
(
reelCountStr
.
toString
()));
item
.
setIn
ReelCount
(
Integer
.
valueOf
(
reelCountStr
.
toString
()));
}
}
orderItemList
.
add
(
orderI
tem
);
items
.
add
(
i
tem
);
}
}
inList
.
setInListItems
(
items
);
log
.
info
(
"获取到入库单:"
+
inList
.
getName
()
+
",共"
+
items
.
size
()
+
"条工单详情"
);
LiteOrder
order
=
new
LiteOrder
();
inList
=
inListManager
.
createWithItems
(
inList
);
order
.
setOrderNo
(
orderNumber
);
inListCache
.
addInListToMap
(
inList
);
order
.
setOrderItems
(
orderItemList
);
return
inList
;
log
.
info
(
"获取到工单单:"
+
orderNumber
+
",共"
+
orderItemList
.
size
()
+
"条工单详情"
);
liteOrderManager
.
createWithItems
(
order
);
liteOrderCache
.
addOrderToMap
(
order
);
return
order
;
}
else
{
}
else
{
throw
new
ValidateException
(
"smfcore.fetchOrder.ng"
,
"获取工单失败,MES返回ng
:"
+
apiResult
.
getMsg
());
throw
new
ApiException
(
"smfcore.fetchInList.ng"
,
"获取入库单MES返回NG
:"
+
apiResult
.
getMsg
());
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
ValidateException
(
"smfcore.fetchOrder.ng"
,
"获取工单失败:"
+
e
.
getMessage
());
log
.
error
(
number
+
"获取入库单接口出错:"
+
e
.
getMessage
());
return
null
;
}
}
}
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论