Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e73f18ed
由
zshaohui
编写于
2024-04-12 09:27:24 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.科博达不使用确认尺寸
2.PandaCIM出库和工单一样,使用不同的颜色
1 个父辈
91165f97
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
34 行增加
和
7 行删除
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/custom/keboda1335/KebodaController.java
src/main/java/com/neotel/smfcore/custom/panacim/PanaApiController.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
e73f18e
...
...
@@ -38,6 +38,7 @@ public class CodeResolve {
private
Integer
defaultExpiresDay
=
0
;
private
boolean
useSizeConfirm
=
true
;
public
void
updateBarcodeRuleList
(
List
<
String
>
ruleList
){
barcodeRuleList
=
Lists
.
newArrayList
();
...
...
@@ -56,6 +57,10 @@ public class CodeResolve {
defaultExpiresDay
=
expiresDay
;
}
public
void
updateUseSizeConfirm
(
boolean
confirm
)
{
useSizeConfirm
=
confirm
;
}
public
CodeBean
resolveSingleCode
(
String
barcodeItemStr
){
return
resolveSingleCode
(
barcodeItemStr
,
COMPONENT_TYPE
.
COMPONENT
);
...
...
@@ -134,7 +139,7 @@ public class CodeResolve {
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
//如果已经确认尺寸,使用确认的尺寸
if
(
component
.
isSizeConfirmed
(
)
||
((
component
.
hasSizeInfo
())
&&
(!
codeBeanFromRule
.
hasReelSizeInfo
())))
{
if
(
(
component
.
isSizeConfirmed
()
&&
useSizeConfirm
)
||
((
component
.
hasSizeInfo
())
&&
(!
codeBeanFromRule
.
hasReelSizeInfo
())))
{
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
...
...
@@ -271,7 +276,7 @@ public class CodeResolve {
}
else
{
//如果已经确认尺寸,使用确认的尺寸
if
(
component
.
isSizeConfirmed
(
)
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
()))){
if
(
(
component
.
isSizeConfirmed
()
&&
useSizeConfirm
)
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
()))){
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
}
...
...
@@ -296,7 +301,7 @@ public class CodeResolve {
log
.
info
(
"档案["
+
barcodeFromRule
.
getPartNumber
()+
"]不存在"
);
// throw new ValidateException("component.error.notExist",new String[]{barcodeFromRule.getPartNumber()});
throw
new
ValidateException
(
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"component"
,
barcodeFromRule
.
getPartNumber
()});
}
else
if
(
component
.
isSizeConfirmed
(
)
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
()))){
}
else
if
(
(
component
.
isSizeConfirmed
()
&&
useSizeConfirm
)
||
((
component
.
hasSizeInfo
())&&(!
codeBeanFromRule
.
hasReelSizeInfo
()))){
//如果已经确认尺寸,使用确认的尺寸
codeBeanFromRule
.
setReelWidth
(
component
.
getPlateSize
());
codeBeanFromRule
.
setReelHeight
(
component
.
getHeight
());
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
e73f18e
...
...
@@ -123,6 +123,9 @@ public class DataCache {
initCacheItem
();
Integer
expireDay
=
getCache
(
Constants
.
CACHE_ExpiresDay
);
codeResolve
.
updateExpiresDay
(
expireDay
);
String
apiName
=
getCache
(
"api.name"
);
codeResolve
.
updateUseSizeConfirm
(
"kbd"
.
equals
(
apiName
)
?
false
:
true
);
}
private
void
initCacheItem
()
{
...
...
src/main/java/com/neotel/smfcore/custom/keboda1335/KebodaController.java
查看文件 @
e73f18e
...
...
@@ -72,7 +72,7 @@ public class KebodaController {
@PostMapping
(
value
=
"/service/store/emptyPosForPutin"
)
@ResponseBody
@AnonymousAccess
public
Map
<
String
,
Object
>
emptyPosForPutin
(
HttpServletRequest
request
)
{
public
synchronized
Map
<
String
,
Object
>
emptyPosForPutin
(
HttpServletRequest
request
)
{
String
code
=
request
.
getParameter
(
"code"
);
String
cids
=
request
.
getParameter
(
"cids"
);
String
rfid
=
request
.
getParameter
(
"rfid"
);
...
...
@@ -232,7 +232,7 @@ public class KebodaController {
ReelLockPosInfo
oldLockInfo
=
ReelLockPosUtil
.
getLockPosInfoByCode
(
barcode
.
getBarcode
());
if
(
oldLockInfo
!=
null
)
{
if
(!
oldLockInfo
.
get
Barcode
().
equals
(
barcode
.
getBarcode
()))
{
if
(!
oldLockInfo
.
get
LockPosId
().
equals
(
pos
.
getId
()))
{
String
result
=
"-1"
;
okMsg
=
rfid
+
"["
+
rfidLoc
+
"]["
+
barcode
.
getBarcode
()
+
"]锁定库位["
+
pos
.
getPosName
()
+
"],清理旧有锁定信息"
;
resultMap
.
put
(
"result"
,
result
);
...
...
@@ -252,7 +252,6 @@ public class KebodaController {
reelLocInfo
.
setCid
(
theStorage
.
getCid
());
reelLocInfo
.
setLockPosName
(
pos
.
getPosName
());
reelLocInfo
.
setLockPosId
(
pos
.
getId
());
reelLocInfo
=
ReelLockPosUtil
.
addReelLockPosInfo
(
reelLocInfo
,
cidList
);
if
(
reelLocInfo
==
null
)
{
errorMsg
=
"["
+
barcode
.
getBarcode
()
+
"]库位["
+
reelLocInfo
.
getLockPosName
()
+
"]已被锁定,暂停入库"
;
...
...
src/main/java/com/neotel/smfcore/custom/panacim/PanaApiController.java
查看文件 @
e73f18e
...
...
@@ -16,6 +16,8 @@ import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
...
...
@@ -45,6 +47,8 @@ public class PanaApiController extends BaseSmfApiListener {
protected
TaskService
taskService
;
@Autowired
protected
IStoragePosManager
storagePosManager
;
@Autowired
protected
LiteOrderCache
liteOrderCache
;
protected
static
DataCache
dataCache
;
...
...
@@ -136,6 +140,13 @@ public class PanaApiController extends BaseSmfApiListener {
String
JobID
=
panaMaterial
.
getJobID
();
List
<
String
>
ReelBarcodes
=
panaMaterial
.
getReelBarcodes
();
//["ABC123","BCD345","LL13212"]
log
.
info
(
"收到 PanaCIM 的deliverMaterial 命令:ReelBarcodes="
+
StringUtils
.
join
(
ReelBarcodes
,
","
));
//获取亮灯颜色
ORDER_COLOR
nextColor
=
liteOrderCache
.
getNextColor
();
if
(
nextColor
==
null
){
nextColor
=
ORDER_COLOR
.
BLUE
;
}
List
<
String
>
ReelBarcodesDelivered
=
Lists
.
newArrayList
();
List
<
String
>
ReelBarcodesNonExisting
=
Lists
.
newArrayList
();
for
(
String
barcode
:
ReelBarcodes
){
//加入到出库列表
...
...
@@ -147,7 +158,7 @@ public class PanaApiController extends BaseSmfApiListener {
continue
;
}
log
.
info
(
"出库["
+
barcode
+
"]位置仓位【"
+
pos
.
getPosName
()+
"】"
);
taskService
.
checkout
(
pos
,
false
,
null
,
false
);
taskService
.
checkout
(
pos
,
false
,
null
,
false
,
nextColor
.
getRgb
()
);
ReelBarcodesDelivered
.
add
(
barcode
);
}
catch
(
Exception
e
){
ReelBarcodesNonExisting
.
add
(
barcode
);
...
...
@@ -323,6 +334,13 @@ public class PanaApiController extends BaseSmfApiListener {
result
.
put
(
"ErrorCode"
,
"401"
);
result
.
put
(
"ErrorMessage"
,
"JobID["
+
JobID
+
"]未包含物料"
);
}
else
{
//获取亮灯颜色
ORDER_COLOR
nextColor
=
liteOrderCache
.
getNextColor
();
if
(
nextColor
==
null
){
nextColor
=
ORDER_COLOR
.
BLUE
;
}
List
<
DataLog
>
tasks
=
Lists
.
newArrayList
();
for
(
StoragePos
pos
:
lockPoses
){
//已经加过的就不再加了
...
...
@@ -355,6 +373,8 @@ public class PanaApiController extends BaseSmfApiListener {
task
.
setPosId
(
pos
.
getId
());
task
.
setPosName
(
pos
.
getPosName
());
task
.
setLightColor
(
nextColor
.
getRgb
());
tasks
.
add
(
task
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论