Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1abdcbaa
由
LN
编写于
2022-05-23 10:50:14 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.感应料架bug修改。
2.元器件增加物料间距,可导入,uid查找增加间距区间。 3.接口异常默认根据更新时间倒序。
1 个父辈
37986e3d
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
51 行增加
和
8 行删除
src/main/java/com/neotel/smfcore/core/barcode/rest/ComponentController.java
src/main/java/com/neotel/smfcore/core/barcode/service/po/Component.java
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/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/core/storage/rest/query/StoragePosFindCriteria.java
src/main/java/com/neotel/smfcore/hikvision/HikApiCache.java
src/main/java/com/neotel/smfcore/hikvision/bean/api/HikApiRequest.java
src/main/java/com/neotel/smfcore/core/barcode/rest/ComponentController.java
查看文件 @
1abdcba
...
@@ -211,9 +211,9 @@ public class ComponentController {
...
@@ -211,9 +211,9 @@ public class ComponentController {
try
{
try
{
List
<
Map
<
String
,
Object
>>
maps
=
new
ArrayList
<>();
List
<
Map
<
String
,
Object
>>
maps
=
new
ArrayList
<>();
List
<
String
>
titles
=
new
ArrayList
<>();
List
<
String
>
titles
=
new
ArrayList
<>();
// String[] titleArray = new String[]{"料件编号" , "数量", "尺寸", "高度", "
最大库存
", "最小库存", "安全库存"
// String[] titleArray = new String[]{"料件编号" , "数量", "尺寸", "高度", "
物料间距
", "最小库存", "安全库存"
// , "呆滞天数", "整盘比", "散盘比", "描述"};
// , "呆滞天数", "整盘比", "散盘比", "描述"};
String
[]
titleArray
=
new
String
[]{
"materialNo"
,
"amount"
,
"plateSize"
,
"height"
,
"
maxStoreNum
"
,
"minStoreNum"
,
"safetyStoreNum"
String
[]
titleArray
=
new
String
[]{
"materialNo"
,
"amount"
,
"plateSize"
,
"height"
,
"
distance
"
,
"minStoreNum"
,
"safetyStoreNum"
,
"sluggishDay"
,
"wholeReel"
,
"halfReel"
,
"description"
};
,
"sluggishDay"
,
"wholeReel"
,
"halfReel"
,
"description"
};
for
(
String
title
:
for
(
String
title
:
...
@@ -228,7 +228,7 @@ public class ComponentController {
...
@@ -228,7 +228,7 @@ public class ComponentController {
map
.
put
(
"amount"
,
1000
);
map
.
put
(
"amount"
,
1000
);
map
.
put
(
"plateSize"
,
7
);
map
.
put
(
"plateSize"
,
7
);
map
.
put
(
"height"
,
8
);
map
.
put
(
"height"
,
8
);
map
.
put
(
"
maxStoreNum
"
,
""
);
map
.
put
(
"
distance
"
,
""
);
map
.
put
(
"minStoreNum"
,
""
);
map
.
put
(
"minStoreNum"
,
""
);
map
.
put
(
"safetyStoreNum"
,
""
);
map
.
put
(
"safetyStoreNum"
,
""
);
...
@@ -260,14 +260,14 @@ public class ComponentController {
...
@@ -260,14 +260,14 @@ public class ComponentController {
List
<
Component
>
items
=
new
ArrayList
<>();
List
<
Component
>
items
=
new
ArrayList
<>();
try
{
try
{
String
[]
titleArray
=
new
String
[]{
"料件编号"
,
"数量"
,
"尺寸"
,
"高度"
,
"
最大库存
"
,
"最小库存"
,
"安全库存"
String
[]
titleArray
=
new
String
[]{
"料件编号"
,
"数量"
,
"尺寸"
,
"高度"
,
"
物料间距
"
,
"最小库存"
,
"安全库存"
,
"呆滞天数"
,
"整盘"
,
"散盘"
,
"描述"
};
,
"呆滞天数"
,
"整盘"
,
"散盘"
,
"描述"
};
CsvReader
csvRead
=
CsvReader
.
newReader
(
fileUrl
,
"料件编号"
,
"materialNo"
);
CsvReader
csvRead
=
CsvReader
.
newReader
(
fileUrl
,
"料件编号"
,
"materialNo"
);
int
partNumberIndex
=
csvRead
.
getIndex
(
"料件编号"
,
"materialNo"
);
int
partNumberIndex
=
csvRead
.
getIndex
(
"料件编号"
,
"materialNo"
);
int
amountIndex
=
csvRead
.
getIndex
(
"数量"
,
"amount"
);
int
amountIndex
=
csvRead
.
getIndex
(
"数量"
,
"amount"
);
int
plateSizeIndex
=
csvRead
.
getIndex
(
"尺寸"
,
"plateSize"
);
int
plateSizeIndex
=
csvRead
.
getIndex
(
"尺寸"
,
"plateSize"
);
int
heightIndex
=
csvRead
.
getIndex
(
"高度"
,
"height"
);
int
heightIndex
=
csvRead
.
getIndex
(
"高度"
,
"height"
);
int
maxStoreNumIndex
=
csvRead
.
getIndex
(
"最大库存"
,
"maxStoreNum
"
);
int
distanceIndex
=
csvRead
.
getIndex
(
"物料间距"
,
"distance
"
);
int
minStoreNumIndex
=
csvRead
.
getIndex
(
"最小库存"
,
"minStoreNum"
);
int
minStoreNumIndex
=
csvRead
.
getIndex
(
"最小库存"
,
"minStoreNum"
);
int
safetyStoreNumIndex
=
csvRead
.
getIndex
(
"安全库存"
,
"safetyStoreNum"
);
int
safetyStoreNumIndex
=
csvRead
.
getIndex
(
"安全库存"
,
"safetyStoreNum"
);
int
sluggishDayIndex
=
csvRead
.
getIndex
(
"呆滞天数"
,
"sluggishDay"
);
int
sluggishDayIndex
=
csvRead
.
getIndex
(
"呆滞天数"
,
"sluggishDay"
);
...
@@ -296,7 +296,7 @@ public class ComponentController {
...
@@ -296,7 +296,7 @@ public class ComponentController {
item
.
setAmount
(
Convert
.
toInt
(
lineValues
[
amountIndex
].
trim
()));
item
.
setAmount
(
Convert
.
toInt
(
lineValues
[
amountIndex
].
trim
()));
item
.
setPlateSize
(
Convert
.
toInt
(
lineValues
[
plateSizeIndex
].
trim
()));
item
.
setPlateSize
(
Convert
.
toInt
(
lineValues
[
plateSizeIndex
].
trim
()));
item
.
setHeight
(
Convert
.
toInt
(
lineValues
[
heightIndex
].
trim
()));
item
.
setHeight
(
Convert
.
toInt
(
lineValues
[
heightIndex
].
trim
()));
item
.
set
MaxStorageTime
(
getIntValue
(
lineValues
,
maxStoreNumIndex
,
item
.
getMaxStorageTim
e
()));
item
.
set
Distance
(
getIntValue
(
lineValues
,
distanceIndex
,
item
.
getDistanc
e
()));
item
.
setMinStoreNum
(
getIntValue
(
lineValues
,
minStoreNumIndex
,
item
.
getMinStoreNum
()));
item
.
setMinStoreNum
(
getIntValue
(
lineValues
,
minStoreNumIndex
,
item
.
getMinStoreNum
()));
item
.
setSafetyStoreNum
(
getIntValue
(
lineValues
,
safetyStoreNumIndex
,
item
.
getSafetyStoreNum
()));
item
.
setSafetyStoreNum
(
getIntValue
(
lineValues
,
safetyStoreNumIndex
,
item
.
getSafetyStoreNum
()));
item
.
setSluggishDay
(
getIntValue
(
lineValues
,
sluggishDayIndex
,
item
.
getSluggishDay
()));
item
.
setSluggishDay
(
getIntValue
(
lineValues
,
sluggishDayIndex
,
item
.
getSluggishDay
()));
...
...
src/main/java/com/neotel/smfcore/core/barcode/service/po/Component.java
查看文件 @
1abdcba
...
@@ -175,6 +175,11 @@ public class Component extends BasePo implements Serializable {
...
@@ -175,6 +175,11 @@ public class Component extends BasePo implements Serializable {
private
int
halfReel
=
0
;
private
int
halfReel
=
0
;
/**
/**
* 物料间距
*/
private
int
distance
=
0
;
/**
* 有效时长(生产日期+此天数为过期日期),设置默认有效期为2年
* 有效时长(生产日期+此天数为过期日期),设置默认有效期为2年
*/
*/
private
int
validDay
=
0
;
private
int
validDay
=
0
;
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
1abdcba
...
@@ -324,6 +324,11 @@ public class NLPShelfHandler extends BaseDeviceHandler{
...
@@ -324,6 +324,11 @@ public class NLPShelfHandler extends BaseDeviceHandler{
for
(
String
posName
:
for
(
String
posName
:
hasReelPosList
)
{
hasReelPosList
)
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
==
null
)
{
log
.
info
(
"sensorChange 未找到库位 hasReelPosList ["
+
posName
+
"]"
);
continue
;
}
if
(!
pos
.
isEnabled
()){
if
(!
pos
.
isEnabled
()){
continue
;
continue
;
}
}
...
@@ -425,6 +430,10 @@ public class NLPShelfHandler extends BaseDeviceHandler{
...
@@ -425,6 +430,10 @@ public class NLPShelfHandler extends BaseDeviceHandler{
//出库
//出库
for
(
String
posName
:
noReelPosList
)
{
for
(
String
posName
:
noReelPosList
)
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
==
null
){
log
.
info
(
"sensorChange 未找到库位 noReelPosList ["
+
posName
+
"]"
);
continue
;
}
if
(!
pos
.
isEnabled
()){
if
(!
pos
.
isEnabled
()){
continue
;
continue
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
查看文件 @
1abdcba
...
@@ -32,6 +32,7 @@ import com.neotel.smfcore.core.system.websocket.SocketMsg;
...
@@ -32,6 +32,7 @@ import com.neotel.smfcore.core.system.websocket.SocketMsg;
import
com.neotel.smfcore.core.system.websocket.WebSocketServer
;
import
com.neotel.smfcore.core.system.websocket.WebSocketServer
;
import
com.neotel.smfcore.hikvision.HikApi
;
import
com.neotel.smfcore.hikvision.HikApi
;
import
com.neotel.smfcore.hikvision.bean.api.ResponseParam
;
import
com.neotel.smfcore.hikvision.bean.api.ResponseParam
;
import
com.neotel.smfcore.hikvision.util.JsonUtil
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.po.Group
;
import
com.neotel.smfcore.security.service.po.Group
;
...
@@ -164,7 +165,10 @@ public class SingleInController {
...
@@ -164,7 +165,10 @@ public class SingleInController {
@ApiOperation
(
"扫码入库"
)
@ApiOperation
(
"扫码入库"
)
@PostMapping
(
"/codeIn"
)
@PostMapping
(
"/codeIn"
)
public
ResultBean
codeIn
(
@RequestBody
Map
<
String
,
String
>
mapValues
,
HttpServletRequest
request
)
{
public
ResultBean
codeIn
(
@RequestBody
Map
<
String
,
String
>
mapValues
,
HttpServletRequest
request
)
{
return
codeInProcess
(
mapValues
,
request
);
}
private
synchronized
ResultBean
codeInProcess
(
Map
<
String
,
String
>
mapValues
,
HttpServletRequest
request
){
//参数:code:条形码,
//参数:code:条形码,
// storageId:料架ID,
// storageId:料架ID,
// inType:入库类型(1=普通入库,2=并盘入库,3=截料入库,4=退料入库,5=转储入库)
// inType:入库类型(1=普通入库,2=并盘入库,3=截料入库,4=退料入库,5=转储入库)
...
@@ -184,11 +188,13 @@ public class SingleInController {
...
@@ -184,11 +188,13 @@ public class SingleInController {
}
}
// log.info("codeInProcess , code["+code+"],storageId["+storageId+"]开始验证是否有未结束的任务");
// WebSocketServer.sendMsg("", new SocketMsg("{0}未找到库位:{1}"+code, MsgType.INFO,"smfclient.nlp.cannotFindPos",new String[]{"消息测试","库位号"}));
// WebSocketServer.sendMsg("", new SocketMsg("{0}未找到库位:{1}"+code, MsgType.INFO,"smfclient.nlp.cannotFindPos",new String[]{"消息测试","库位号"}));
String
loginUser
=
SecurityUtils
.
getLoginUsername
();
String
loginUser
=
SecurityUtils
.
getLoginUsername
();
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
ResultBean
resultBean
=
null
;
ResultBean
resultBean
=
null
;
for
(
DataLog
queueTask
:
queueTasks
)
{
for
(
DataLog
queueTask
:
queueTasks
)
{
// log.info("------codeInProcess queueTask="+ JsonUtil.toJsonStr(queueTask));
if
(
queueTask
.
isPutInTask
()
&&(
queueTask
.
isWait
()||
queueTask
.
isExecuting
())
)
{
if
(
queueTask
.
isPutInTask
()
&&(
queueTask
.
isWait
()||
queueTask
.
isExecuting
())
)
{
if
(!
Strings
.
isNullOrEmpty
(
storageId
)
&&
queueTask
.
getStorageId
().
equals
(
storageId
))
{
if
(!
Strings
.
isNullOrEmpty
(
storageId
)
&&
queueTask
.
getStorageId
().
equals
(
storageId
))
{
log
.
info
(
"codeIn ["
+
code
+
"]["
+
storageId
+
"]入库失败:条码["
+
queueTask
.
getBarcode
()
+
"]的任务还未结束 "
);
log
.
info
(
"codeIn ["
+
code
+
"]["
+
storageId
+
"]入库失败:条码["
+
queueTask
.
getBarcode
()
+
"]的任务还未结束 "
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
1abdcba
...
@@ -303,6 +303,13 @@ public class StoragePosController {
...
@@ -303,6 +303,13 @@ public class StoragePosController {
}
else
if
(
criteria
.
getMaxAmount
()
!=
null
)
{
}
else
if
(
criteria
.
getMaxAmount
()
!=
null
)
{
baseCriteria
.
and
(
"barcode.amount"
).
lte
(
criteria
.
getMaxAmount
());
baseCriteria
.
and
(
"barcode.amount"
).
lte
(
criteria
.
getMaxAmount
());
}
}
if
(
criteria
.
getMinDistance
()
!=
null
&&
criteria
.
getMaxDistance
()
!=
null
)
{
baseCriteria
.
and
(
"barcode.distance"
).
gte
(
criteria
.
getMinDistance
()).
lte
(
criteria
.
getMaxDistance
());
}
else
if
(
criteria
.
getMinDistance
()
!=
null
)
{
baseCriteria
.
and
(
"barcode.distance"
).
gte
(
criteria
.
getMinDistance
());
}
else
if
(
criteria
.
getMaxDistance
()
!=
null
)
{
baseCriteria
.
and
(
"barcode.distance"
).
lte
(
criteria
.
getMaxDistance
());
}
query
.
addCriteria
(
baseCriteria
);
query
.
addCriteria
(
baseCriteria
);
return
query
;
return
query
;
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/query/StoragePosFindCriteria.java
查看文件 @
1abdcba
...
@@ -88,6 +88,11 @@ public class StoragePosFindCriteria {
...
@@ -88,6 +88,11 @@ public class StoragePosFindCriteria {
@ApiModelProperty
(
"最大数量"
)
@ApiModelProperty
(
"最大数量"
)
private
Integer
maxAmount
;
private
Integer
maxAmount
;
@ApiModelProperty
(
"最小间距"
)
private
Integer
minDistance
;
@ApiModelProperty
(
"最大间距"
)
private
Integer
maxDistance
;
public
int
getComponentType
(){
public
int
getComponentType
(){
int
componentType
=
getType
();
int
componentType
=
getType
();
if
(
componentType
!=
-
1
)
{
if
(
componentType
!=
-
1
)
{
...
...
src/main/java/com/neotel/smfcore/hikvision/HikApiCache.java
查看文件 @
1abdcba
...
@@ -64,7 +64,10 @@ public class HikApiCache {
...
@@ -64,7 +64,10 @@ public class HikApiCache {
}
}
public
static
List
<
HikApiRequest
>
getAllRequestList
()
{
public
static
List
<
HikApiRequest
>
getAllRequestList
()
{
return
new
ArrayList
<>(
failedRequestMap
.
values
());
List
<
HikApiRequest
>
requests
=
new
ArrayList
<>(
failedRequestMap
.
values
());
//自动根据更新时间排序
Collections
.
sort
(
requests
);
return
requests
;
}
}
public
static
HikApiRequest
getRequest
(
String
req
)
{
public
static
HikApiRequest
getRequest
(
String
req
)
{
return
failedRequestMap
.
get
(
req
);
return
failedRequestMap
.
get
(
req
);
...
...
src/main/java/com/neotel/smfcore/hikvision/bean/api/HikApiRequest.java
查看文件 @
1abdcba
package
com
.
neotel
.
smfcore
.
hikvision
.
bean
.
api
;
package
com
.
neotel
.
smfcore
.
hikvision
.
bean
.
api
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
com.neotel.smfcore.hikvision.util.JsonUtil
;
import
com.neotel.smfcore.hikvision.util.JsonUtil
;
import
lombok.*
;
import
lombok.*
;
...
@@ -11,7 +12,7 @@ import java.util.Map;
...
@@ -11,7 +12,7 @@ import java.util.Map;
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
public
class
HikApiRequest
implements
Serializable
{
public
class
HikApiRequest
implements
Serializable
,
Comparable
<
HikApiRequest
>
{
public
HikApiRequest
(
int
apiType
,
String
url
,
String
key
,
String
secret
,
RequestParam
param
){
public
HikApiRequest
(
int
apiType
,
String
url
,
String
key
,
String
secret
,
RequestParam
param
){
this
.
apiType
=
apiType
;
this
.
apiType
=
apiType
;
...
@@ -82,4 +83,11 @@ public class HikApiRequest implements Serializable {
...
@@ -82,4 +83,11 @@ public class HikApiRequest implements Serializable {
return
JsonUtil
.
toJsonStr
(
param
.
getData
());
return
JsonUtil
.
toJsonStr
(
param
.
getData
());
}
}
@Override
public
int
compareTo
(
HikApiRequest
o
)
{
if
(
o
.
getUpdatetime
()!=
null
&&
this
.
getUpdatetime
()!=
null
){
return
o
.
getUpdatetime
().
compareTo
(
this
.
getUpdatetime
());
}
return
o
.
getCreateTime
().
compareTo
(
this
.
getCreateTime
());
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论