Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2d9fbf4b
由
LN
编写于
2022-04-26 15:08:21 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
齐套页面增加导出功能
1 个父辈
9e224c7d
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
67 行增加
和
21 行删除
src/main/java/com/neotel/smfcore/core/order/OrderPnCache.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/hikvision/HikApiCache.java
src/main/resources/config/application.yml
src/main/java/com/neotel/smfcore/core/order/OrderPnCache.java
查看文件 @
2d9fbf4
...
@@ -86,7 +86,16 @@ public class OrderPnCache {
...
@@ -86,7 +86,16 @@ public class OrderPnCache {
}
}
public
synchronized
void
reloadData
()
{
public
synchronized
boolean
reloadData
()
{
//如果十分钟内才更新过,就不需要再更新了
if
(
orderPnInfoMap
!=
null
&&
orderPnInfoMap
.
size
()>
0
){
long
timeSpans
=
System
.
currentTimeMillis
()-
lastUpdateDate
.
getTime
();
int
m
=(
int
)(
timeSpans
/
1000
/
60
);
if
(
m
<
10
){
return
false
;
}
}
log
.
info
(
"开始更新齐套数据----------"
);
log
.
info
(
"开始更新齐套数据----------"
);
List
<
LiteOrder
>
liteOrders
=
liteOrderManager
.
findUnEndOrdersList
();
List
<
LiteOrder
>
liteOrders
=
liteOrderManager
.
findUnEndOrdersList
();
...
@@ -137,7 +146,6 @@ public class OrderPnCache {
...
@@ -137,7 +146,6 @@ public class OrderPnCache {
continue
;
continue
;
}
}
Component
component
=
componentManager
.
findOneByPN
(
pn
);
Component
component
=
componentManager
.
findOneByPN
(
pn
);
int
reelAmount
=
1000
;
//每盘料数量
int
reelAmount
=
1000
;
//每盘料数量
if
(
component
!=
null
)
{
if
(
component
!=
null
)
{
...
@@ -148,12 +156,11 @@ public class OrderPnCache {
...
@@ -148,12 +156,11 @@ public class OrderPnCache {
OrderPnInfo
pnInfo
=
new
OrderPnInfo
(
pn
,
needNum
,
lackNum
,
stockCount
,
reelAmount
,
needReel
,
new
Date
());
OrderPnInfo
pnInfo
=
new
OrderPnInfo
(
pn
,
needNum
,
lackNum
,
stockCount
,
reelAmount
,
needReel
,
new
Date
());
orderPnInfoMap
.
put
(
pn
,
pnInfo
);
orderPnInfoMap
.
put
(
pn
,
pnInfo
);
}
}
log
.
info
(
"结束更新齐套数据,共有["
+
orderPnInfoMap
.
size
()
+
"]元器件缺料----------"
);
log
.
info
(
"结束更新齐套数据,共有["
+
orderPnInfoMap
.
size
()
+
"]元器件缺料----------"
);
lastUpdateDate
=
new
Date
();
lastUpdateDate
=
new
Date
();
return
true
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
2d9fbf4
...
@@ -8,6 +8,7 @@ import com.neotel.smfcore.common.bean.ResultBean;
...
@@ -8,6 +8,7 @@ import com.neotel.smfcore.common.bean.ResultBean;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.*
;
import
com.neotel.smfcore.common.utils.*
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.OrderPnCache
;
import
com.neotel.smfcore.core.order.OrderPnCache
;
import
com.neotel.smfcore.core.order.bean.OrderPnInfo
;
import
com.neotel.smfcore.core.order.bean.OrderPnInfo
;
...
@@ -48,7 +49,10 @@ import org.springframework.util.ObjectUtils;
...
@@ -48,7 +49,10 @@ import org.springframework.util.ObjectUtils;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.*
;
...
@@ -413,11 +417,38 @@ public class OrderController {
...
@@ -413,11 +417,38 @@ public class OrderController {
@ApiOperation
(
"齐套页面,刷新齐套数据"
)
@ApiOperation
(
"齐套页面,刷新齐套数据"
)
@PostMapping
(
"/orderSet/update"
)
@PostMapping
(
"/orderSet/update"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
public
List
<
OrderPnDto
>
updateOrderSet
(
)
{
public
ResultBean
updateOrderSet
(
HttpServletRequest
request
)
{
orderPnCache
.
reloadData
();
boolean
result
=
orderPnCache
.
reloadData
();
if
(!
result
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.orderSet.reloadData.fail"
,
"刷新数据失败,请稍后再试"
);
}
List
<
OrderPnInfo
>
orderPnInfos
=
orderPnCache
.
getDataList
();
List
<
OrderPnDto
>
dtos
=
orderPnMapper
.
toDto
(
orderPnInfos
);
return
ResultBean
.
newOkResult
(
dtos
);
}
@ApiOperation
(
"导出齐套列表"
)
@GetMapping
(
value
=
"/orderSet/download"
)
@PreAuthorize
(
"@el.check('workOrder')"
)
public
void
download
(
HttpServletResponse
response
,
HttpServletRequest
request
)
throws
IOException
{
List
<
OrderPnInfo
>
orderPnInfos
=
orderPnCache
.
getDataList
();
List
<
OrderPnInfo
>
orderPnInfos
=
orderPnCache
.
getDataList
();
List
<
OrderPnDto
>
dtos
=
orderPnMapper
.
toDto
(
orderPnInfos
);
download
(
orderPnInfos
,
response
,
request
.
getLocale
());
return
dtos
;
}
public
void
download
(
List
<
OrderPnInfo
>
orderPnInfoList
,
HttpServletResponse
response
,
Locale
locale
)
throws
IOException
{
String
pn
=
MessageUtils
.
getText
(
"smfcore.orderSet.barcode"
,
locale
,
"物料编号"
);
String
lackNum
=
MessageUtils
.
getText
(
"smfcore.orderSet.partNumber"
,
locale
,
"缺料数"
);
String
reelCount
=
MessageUtils
.
getText
(
"smfcore.orderSet.proDate"
,
locale
,
"缺料盘数"
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
OrderPnInfo
orderPnInfo
:
orderPnInfoList
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
pn
,
orderPnInfo
.
getPartNumber
());
map
.
put
(
lackNum
,
orderPnInfo
.
getLackNum
());
map
.
put
(
reelCount
,
orderPnInfo
.
getReelCount
());
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
}
private
List
<
LiteOrder
>
getExecuteOrders
(
User
user
)
{
private
List
<
LiteOrder
>
getExecuteOrders
(
User
user
)
{
...
...
src/main/java/com/neotel/smfcore/hikvision/HikApiCache.java
查看文件 @
2d9fbf4
...
@@ -18,8 +18,11 @@ import java.util.concurrent.ConcurrentHashMap;
...
@@ -18,8 +18,11 @@ import java.util.concurrent.ConcurrentHashMap;
@Repository
@Repository
public
class
HikApiCache
{
public
class
HikApiCache
{
@Autowired
private
static
DataCache
dataCache
;
private
static
DataCache
dataCache
;
@Autowired
public
void
setDataCache
(
DataCache
dataCache
){
HikApiCache
.
dataCache
=
dataCache
;
}
/**
/**
* 需要重发的指令列表
* 需要重发的指令列表
*/
*/
...
@@ -44,12 +47,12 @@ public class HikApiCache {
...
@@ -44,12 +47,12 @@ public class HikApiCache {
}
}
public
static
void
addFailedRequest
(
HikApiRequest
apiRequest
)
{
public
static
void
addFailedRequest
(
HikApiRequest
apiRequest
)
{
String
mapKey
=
apiRequest
.
getParam
().
getReqCode
();
//
String mapKey = apiRequest.getParam().getReqCode();
if
(
failedRequestMap
.
get
(
mapKey
)
==
null
)
{
//
if (failedRequestMap.get(mapKey) == null) {
log
.
info
(
mapKey
+
"通知指令发送到Hik失败,加入到缓存"
);
//
log.info(mapKey + "通知指令发送到Hik失败,加入到缓存");
failedRequestMap
.
put
(
apiRequest
.
getParam
().
getReqCode
(),
apiRequest
);
//
failedRequestMap.put(apiRequest.getParam().getReqCode(), apiRequest);
dataCache
.
updateCache
(
Constants
.
CACHE_failedRequestMap
,
failedRequestMap
);
//
dataCache.updateCache(Constants.CACHE_failedRequestMap, failedRequestMap);
}
//
}
}
}
public
static
void
removeFailedRequest
(
HikApiRequest
apiRequest
)
{
public
static
void
removeFailedRequest
(
HikApiRequest
apiRequest
)
{
...
@@ -79,6 +82,11 @@ public class HikApiCache {
...
@@ -79,6 +82,11 @@ public class HikApiCache {
* 获取失败列表,进行定时发送
* 获取失败列表,进行定时发送
*/
*/
private
static
void
sendFailedRequest
()
throws
ApiException
{
private
static
void
sendFailedRequest
()
throws
ApiException
{
if
(
failedRequestMap
==
null
){
initApiRequestMap
();
}
List
<
HikApiRequest
>
failedList
=
new
ArrayList
<>();
List
<
HikApiRequest
>
failedList
=
new
ArrayList
<>();
failedList
.
addAll
(
failedRequestMap
.
values
());
failedList
.
addAll
(
failedRequestMap
.
values
());
failedList
.
sort
(
new
Comparator
<
HikApiRequest
>()
{
failedList
.
sort
(
new
Comparator
<
HikApiRequest
>()
{
...
...
src/main/resources/config/application.yml
查看文件 @
2d9fbf4
...
@@ -15,26 +15,26 @@ hik:
...
@@ -15,26 +15,26 @@ hik:
addr_9_updateRepOrderApi
:
addr_9_updateRepOrderApi
:
addr_10_reservedOrderApi
:
addr_10_reservedOrderApi
:
addr_11_orderEndApi
:
addr_11_orderEndApi
:
key_1_transferOrderApi
:
key_1_transferOrderApi
:
"
065009142"
key_2_transferOrderInApi
:
key_2_transferOrderInApi
:
"
065009152"
key_3_scheduleTaskApi
:
"
065009097"
key_3_scheduleTaskApi
:
"
065009097"
key_4_returnMaterialApi
:
"
065009043"
key_4_returnMaterialApi
:
"
065009043"
key_5_putInApi
:
"
065009094"
key_5_putInApi
:
"
065009094"
key_6_checkOutApi
:
"
065009095"
key_6_checkOutApi
:
"
065009095"
key_7_updateOrderApi
:
"
065009096"
key_7_updateOrderApi
:
"
065009096"
key_8_riCheckApi
:
"
065009099"
key_8_riCheckApi
:
"
065009099"
key_9_updateRepOrderApi
:
key_9_updateRepOrderApi
:
"
065009225"
key_10_reservedOrderApi
:
key_10_reservedOrderApi
:
key_11_orderEndApi
:
"
065009098"
key_11_orderEndApi
:
"
065009098"
secret_1_transferOrderApi
:
secret_1_transferOrderApi
:
3RqMfgy5djpbfol4NMh6sd1TIRNZnHeEn86QdQW5hV2Z0PXA35zUSneX07d5HQEi
secret_2_transferOrderInApi
:
secret_2_transferOrderInApi
:
IBf9yJb3vWCAG60pDLncapoypGsBV6gbzpENZEnLxbEsxKgvtoYcOmDDcKlbcL02
secret_3_scheduleTaskApi
:
eR2RbW9zHVglHfDweBHPzDF2pYR0RpF1dUpHJKrVKLmYCyHErz2NjXvMsWNJoKgz
secret_3_scheduleTaskApi
:
eR2RbW9zHVglHfDweBHPzDF2pYR0RpF1dUpHJKrVKLmYCyHErz2NjXvMsWNJoKgz
secret_4_returnMaterialApi
:
sRs9lFTsRYpTvORhSI32FhjEPhJDb6TzTvIxhPudrmo9jgwwCiKJWi8go1yN8988
secret_4_returnMaterialApi
:
sRs9lFTsRYpTvORhSI32FhjEPhJDb6TzTvIxhPudrmo9jgwwCiKJWi8go1yN8988
secret_5_putInApi
:
gTLARhgpnbhSv7SNOvQtHoMxWapphmgRwO72vLsVj76CpGvdpImDsum0LVlrsymu
secret_5_putInApi
:
gTLARhgpnbhSv7SNOvQtHoMxWapphmgRwO72vLsVj76CpGvdpImDsum0LVlrsymu
secret_6_checkOutApi
:
MDulYCOgEasYYJXOk2tLycnpYKS2HQK0vXcIvJNzPt79isaHJkyE24BcCzn3hTg4
secret_6_checkOutApi
:
MDulYCOgEasYYJXOk2tLycnpYKS2HQK0vXcIvJNzPt79isaHJkyE24BcCzn3hTg4
secret_7_updateOrderApi
:
HvbUVz6vQJYIDfmWokk98rxSUHAoDlUWNSsPuVc0hB8JtIOzZLDQYARW9tmeU2Fy
secret_7_updateOrderApi
:
HvbUVz6vQJYIDfmWokk98rxSUHAoDlUWNSsPuVc0hB8JtIOzZLDQYARW9tmeU2Fy
secret_8_riCheckApi
:
eQPd3y8xDvwXKMetEbwp2LdzJe8tD0Dg48YA1H68SPsGeKSt2Yj3pOrKibguwzwe
secret_8_riCheckApi
:
eQPd3y8xDvwXKMetEbwp2LdzJe8tD0Dg48YA1H68SPsGeKSt2Yj3pOrKibguwzwe
secret_9_updateRepOrderApi
:
secret_9_updateRepOrderApi
:
UU9jBeJBbfg47Wpy3z1dxEBmXHanjH1AFBzGmj9c8U7zuGgG5EJR0KSzTJ7yJE9a
secret_10_reservedOrderApi
:
secret_10_reservedOrderApi
:
secret_11_orderEndApi
:
W0KWumdsD4eMyTm3Qail9HxHTfqdvxAJW30hLKtiTpJeGO7wXwBe7aUO6n0eicf8
secret_11_orderEndApi
:
W0KWumdsD4eMyTm3Qail9HxHTfqdvxAJW30hLKtiTpJeGO7wXwBe7aUO6n0eicf8
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论