Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 320759a4
由
LN
编写于
2023-12-19 15:23:34 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加cancelAndDisable接口
1 个父辈
1674644d
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
78 行增加
和
11 行删除
src/main/java/com/neotel/smfcore/core/barcode/bean/BarcodeRule.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/resources/config/application.yml
src/main/java/com/neotel/smfcore/core/barcode/bean/BarcodeRule.java
查看文件 @
320759a
...
...
@@ -889,6 +889,8 @@ public class BarcodeRule {
codeStr
=
"P550-502922C|1P3217-10-01-C|1TD116223H|7Q1000+EA|SP2SITPCB001|21PSIMMTECH|2D12-31-2025||Q10|1Q10||7E1"
;
codeStr
=
"P550-502922C|1P3217-10-01-C|1TD116223H|7Q1000+EA|SP2SITPCB001|||||||"
;
rule
=
"PN[1:0:-1]|MPN[2:0:-1]|BATCH[2:0:-1]|QTY[2_7Q:0:-1]|RI[1:0:-1]|SP[3:0:-1]|EXPDATEMM-dd-yyyy[2:0:-1]|PRODATEyyyyMMdd[2:0:-1]|QITEM[1:0:-1]|Q1ITEM[2:0:-1]|P20ITEM[3:0:-1]|MSL[1:0:-1]"
;
codeStr
=
"=1+0x0-13x24=PMT40A512M16TB-062E:R|1PMT40A512M16TB-062E:R|1TJFXNGT7.11|7Q1735+EA|SJFXNGT7.11|21PMICRON||9DD20232601||||7E3"
;
BarcodeRule
br
=
BarcodeRule
.
newRule
(
rule
);
Barcode
b
=
br
.
toCodeBean
(
codeStr
).
getBarcode
();
if
(
b
!=
null
){
...
...
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
320759a
...
...
@@ -363,14 +363,19 @@ public class CodeResolve {
if
(
barcodeFromRule
.
getExpireDate
()
!=
null
)
{
}
else
{
Date
produceDate
=
barcodeFromRule
.
getProduceDate
();
int
validDay
=
component
.
getValidDay
();
validDay
=
getTargetValid
(
component
.
getPartNumber
(),
validDay
);
if
(
validDay
>
0
)
{
log
.
info
(
"设置"
+
barcodeFromRule
.
getBarcode
()
+
"的过期时间"
);
Date
expireDate
=
DateUtil
.
addDays
(
produceDate
,
validDay
);
barcodeFromRule
.
setExpireDate
(
expireDate
);
barcodeManager
.
save
(
barcodeFromRule
);
try
{
Date
produceDate
=
barcodeFromRule
.
getProduceDate
();
int
validDay
=
component
.
getValidDay
();
validDay
=
getTargetValid
(
component
.
getPartNumber
(),
validDay
);
if
(
validDay
>
0
&&
(
produceDate
!=
null
))
{
log
.
info
(
"设置"
+
barcodeFromRule
.
getBarcode
()
+
"的过期时间"
);
Date
expireDate
=
DateUtil
.
addDays
(
produceDate
,
validDay
);
barcodeFromRule
.
setExpireDate
(
expireDate
);
// barcodeManager.save(barcodeFromRule);
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"设置过期时间出错:"
+
ex
.
toString
());
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
320759a
...
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.common.exception.ValidateException;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.ReelLockPosUtil
;
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.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
...
...
@@ -628,4 +629,46 @@ public class DeviceController {
data
.
put
(
"plateH"
,
pos
.
getBarcode
().
getHeight
()
+
""
);
return
ResultBean
.
newOkResult
(
data
);
}
@ApiOperation
(
"取消任务,禁用库位"
)
@RequestMapping
(
value
=
"/service/store/cancelAndDisable"
)
@ResponseBody
@AnonymousAccess
public
ResultBean
cancelAndDisable
(
HttpServletRequest
request
)
{
String
posName
=
request
.
getParameter
(
"posName"
);
if
(
StringUtils
.
isNotBlank
(
posName
))
{
DataLog
task
=
null
;
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
allTasks
)
{
if
(
posName
.
equals
(
dataLog
.
getPosName
())
&&
dataLog
.
isCheckOutTask
()
&&
!
dataLog
.
isFinished
())
{
task
=
dataLog
;
break
;
}
}
if
(
task
!=
null
)
{
boolean
result
=
taskService
.
cancelTask
(
task
);
if
(
result
)
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
!=
null
)
{
pos
.
setEnabled
(
false
);
storagePosManager
.
save
(
pos
);
dataCache
.
updateDisablePos
(
pos
);
log
.
info
(
"任务["
+
task
.
getId
()
+
"] posName["
+
task
.
getPosName
()
+
"] Reel Id["
+
task
.
getBarcode
()
+
"]取消成功,禁用库位["
+
task
.
getPosName
()
+
"]"
);
DeviceMessageUtil
.
addEnabledPosMessage
(
pos
,
SecurityUtils
.
getCurrentUsername
());
Storage
storage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
if
(
storage
!=
null
)
{
dataCache
.
reloadStorage
(
storage
,
""
);
}
}
return
ResultBean
.
newOkResult
(
""
);
}
}
else
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.task.notExist"
,
"Task does not exist"
);
}
}
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.cancelOutTask.fail"
,
"客户端取消入库任务[{0}]失败:{1}"
,
new
String
[]{
posName
,
""
});
}
}
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
320759a
...
...
@@ -245,7 +245,7 @@ public class TaskService {
return
tasks
;
}
p
rivate
boolean
cancelTask
(
DataLog
task
)
{
p
ublic
boolean
cancelTask
(
DataLog
task
)
{
if
(
task
!=
null
)
{
//从正在执行和等待列表中移除
removeQueueTask
(
task
);
...
...
src/main/resources/config/application.yml
查看文件 @
320759a
server
:
port
:
8800
micron
:
apiAddr
:
http://istio-ingressgateway-istio-system.apps.ose-dev45.micron.com/
api_name_001
:
material/validation/label
api_name_002
:
material/transfer-in
api_name_004
:
operation/dispatchIds?operationId={0}
api_name_005
:
material/lineprep?operationId={0}&LinePrepOrderId={1}
api_name_006
:
material/pretasks
api_name_007
:
material/transfer-out
api_name_008
:
material/xray/{0}/{1}
api_name_009
:
material/status
api_name_010
:
material/track-out
api_name_011
:
operation?mode={0}&username={1}&source={2}
api_name_101
:
operation/validation/mbr?id={0}&operationId={1}&skipSap={2}
api_name_102
:
operation/validation/req?id={0}&operationId={1}
api_name_103
:
operation/validation/gr?purchaseOrder={0}&packagingSlip={1}&operationId={2}&skipSap={3}
api_name_201
:
operation/validate/ctrldispatch?linePrepOrderId={0}&operationId={1}
api_name_202
:
user/{0}
api
:
name
:
inCheckUrl
:
outNotifyUrl
:
inNotifyUrl
:
inNotifyUrl
:
material/transfer-in
hella
:
#host: 127.0.0.1
...
...
@@ -29,7 +46,7 @@ spring:
auto-index-creation
:
true
# 默认为false,即不会自动创建索引
host
:
localhost
# 主机地址
port
:
27017
# 端口
database
:
smf
# 数据库
database
:
smf
1053-20231201
# 数据库smf1053-20230606
#备份数据库配置
backup-mongodb
:
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论