Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 43c924a5
由
LN
编写于
2021-09-23 17:34:42 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
看板任务列表改成内存查询
1 个父辈
46d38152
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
123 行增加
和
44 行删除
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
src/main/java/com/neotel/smfcore/core/kanban/rest/bean/query/BoxTaskQueryCriter.java
src/main/java/com/neotel/smfcore/hella/handler/HellaServiceHandler.java
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
查看文件 @
43c924a
package
com
.
neotel
.
smfcore
.
core
.
kanban
.
rest
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.base.Strings
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.bean.PageData
;
...
...
@@ -45,6 +46,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
@Slf4j
...
...
@@ -116,37 +119,111 @@ public class BoxKanbanController {
if
(
criteria
.
getType
()!=
null
&&
criteria
.
getType
().
equals
(
0
)
){
criteria
.
setType
(
null
);
}
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
List
<
BoxTaskDto
>
dtos
=
new
ArrayList
<>();
for
(
DataLog
datalog
:
allTasks
)
{
//判断类型
if
(
criteria
.
getType
()
!=
null
&&
(!
criteria
.
getType
().
equals
(
datalog
.
getType
())))
{
continue
;
}
//料仓ID
if
(
criteria
.
getStorageId
()
!=
null
&&
!(
criteria
.
getStorageId
().
equals
(
datalog
.
getStorageId
())))
{
continue
;
}
//判断组
String
groupId
=
criteria
.
getGroupId
();
List
<
String
>
cidList
=
dataCache
.
getCidsByGroupId
(
groupId
,
true
);
query
.
addCriteria
(
Criteria
.
where
(
"cid"
).
in
(
cidList
));
//只查找近12个小时未完成的任务
//暂时改成48小时
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
add
(
Calendar
.
HOUR_OF_DAY
,
-
48
);
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
gte
(
calendar
.
getTime
()));
Calendar
ca2
=
Calendar
.
getInstance
();
ca2
.
add
(
Calendar
.
MINUTE
,
-
10
);
Date
lastUpdateTime
=
new
Date
((
new
Date
().
getTime
())-
10
*
60
*
1000
);
List
<
String
>
cidList
=
dataCache
.
getCidsByGroupId
(
groupId
,
true
);
if
(!
cidList
.
contains
(
datalog
.
getCid
()))
{
continue
;
}
boolean
statusOk
=
false
;
Date
lastUpdateTime
=
new
Date
((
new
Date
().
getTime
())
-
10
*
60
*
1000
);
//正常
if
(
criteria
.
getTaskStatus
()==
1
){
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
gte
(
ca2
.
getTime
()).
and
(
"status"
).
is
(
OP_STATUS
.
EXECUTING
.
name
()));
if
(
criteria
.
getTaskStatus
()
==
1
)
{
if
(
lastUpdateTime
.
before
(
datalog
.
getUpdateDate
())
&&
datalog
.
getStatus
().
equals
(
OP_STATUS
.
EXECUTING
.
name
()))
{
statusOk
=
true
;
}
}
//异常
else
if
(
criteria
.
getTaskStatus
()==
2
){
query
.
addCriteria
(
Criteria
.
where
(
"updateDate"
).
lte
(
ca2
.
getTime
()).
and
(
"status"
).
is
(
OP_STATUS
.
EXECUTING
.
name
()));
else
if
(
criteria
.
getTaskStatus
()
==
2
)
{
if
(
lastUpdateTime
.
after
(
datalog
.
getUpdateDate
())
&&
datalog
.
getStatus
().
equals
(
OP_STATUS
.
EXECUTING
.
name
()))
{
statusOk
=
true
;
}
}
//等待
else
if
(
criteria
.
getTaskStatus
()==
3
){
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
OP_STATUS
.
WAIT
.
name
()));
}
else
{
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
nin
(
OP_STATUS
.
CANCEL
.
name
(),
OP_STATUS
.
FINISHED
.
name
()));
else
if
(
criteria
.
getTaskStatus
()
==
3
)
{
if
(
datalog
.
getStatus
().
equals
(
OP_STATUS
.
WAIT
.
name
()))
{
statusOk
=
true
;
}
}
else
{
if
(
datalog
.
getStatus
().
equals
(
OP_STATUS
.
WAIT
.
name
())
||
datalog
.
getStatus
().
equals
(
OP_STATUS
.
FINISHED
.
name
()))
{
statusOk
=
true
;
}
}
if
(!
statusOk
)
{
continue
;
}
PageData
<
DataLog
>
dataLogPageData
=
dataLogManager
.
findByPage
(
query
,
pageable
);
List
<
BoxTaskDto
>
boxTaskDtos
=
boxTaskMapper
.
toDto
(
dataLogPageData
.
getContent
());
return
new
PageData
(
boxTaskDtos
,
boxTaskDtos
.
size
());
dtos
.
add
(
boxTaskMapper
.
toDto
(
datalog
));
// boolean blurryOk = false;
// // 如果是多字段
// String blurry = criteria.getBlurry();
// if (ObjectUtil.isNotEmpty(blurry)) {
// String[] blurrys = blurry.split(",");
// String[] valueArray = new String[]{datalog.getPosName(), datalog.getStorageName(), datalog.getCid(), datalog.getPartNumber(), datalog.getBarcode(), datalog.getSourceName()};
// for (String s : blurrys) {
// for (String v :
// valueArray) {
// Pattern pattern = Pattern.compile(QueryHelp.escapeExprSpecialWord(s), Pattern.CASE_INSENSITIVE);
// Matcher m = pattern.matcher(v);
// while (m.find()) {
// blurryOk = true;
// break;
// }
// if (blurryOk) break;
// }
// if (blurryOk) break;
//
// }
//
// } else {
// blurryOk = true;
// }
// if (blurryOk) {
// dtos.add(boxTaskMapper.toDto(datalog));
// }
}
return
new
PageData
<>(
dtos
,
dtos
.
size
());
// Query query = QueryHelp.getQuery(criteria);
// String groupId = criteria.getGroupId();
// List<String> cidList = dataCache. getCidsByGroupId(groupId,true);
// query.addCriteria(Criteria.where("cid").in(cidList));
//
// //只查找近12个小时未完成的任务
// //暂时改成48小时
// Calendar calendar = Calendar.getInstance();
// calendar.add(Calendar.HOUR_OF_DAY, -48);
// query.addCriteria(Criteria.where("updateDate").gte(calendar.getTime()));
//
// Calendar ca2 = Calendar.getInstance();
// ca2.add(Calendar.MINUTE, -10);
//
// Date lastUpdateTime=new Date((new Date().getTime())-10 * 60 * 1000);
// //正常
// if(criteria.getTaskStatus()==1){
// query.addCriteria(Criteria.where("updateDate").gte(ca2.getTime()).and("status").is(OP_STATUS.EXECUTING.name()));
// }//异常
// else if(criteria.getTaskStatus()==2){
// query.addCriteria(Criteria.where("updateDate").lte(ca2.getTime()).and("status").is(OP_STATUS.EXECUTING.name()));
// }//等待
// else if(criteria.getTaskStatus()==3){
// query.addCriteria(Criteria.where("status").is(OP_STATUS.WAIT.name()));
// }else{
// query.addCriteria(Criteria.where("status").nin(OP_STATUS.CANCEL.name(), OP_STATUS.FINISHED.name()));
// }
//
// PageData<DataLog> dataLogPageData=dataLogManager.findByPage(query,pageable);
// List<BoxTaskDto> boxTaskDtos=boxTaskMapper.toDto(dataLogPageData.getContent());
// return new PageData(boxTaskDtos, boxTaskDtos.size());
}
...
...
src/main/java/com/neotel/smfcore/core/kanban/rest/bean/query/BoxTaskQueryCriter.java
查看文件 @
43c924a
...
...
@@ -14,35 +14,35 @@ public class BoxTaskQueryCriter {
@QueryCondition
(
blurry
=
"storageName,cid,posName,partNumber,barcode,sourceName"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
createDate
;
//
@QueryCondition(type = QueryCondition.Type.BETWEEN, propName = "updateDate")
//
@DateTimeFormat(pattern = "yyyy-MM-dd")
//
private BetweenData<Date> createDate;
@ApiModelProperty
(
"组ID"
)
private
String
groupId
;
@ApiModelProperty
(
"料仓CID"
)
@QueryCondition
private
String
cid
;
//
@ApiModelProperty("料仓CID")
//
@QueryCondition
//
private String cid;
@ApiModelProperty
(
"料仓ID"
)
@QueryCondition
(
isDBId
=
true
)
private
String
storageId
;
@ApiModelProperty
(
"库位号"
)
@QueryCondition
private
String
posName
;
@ApiModelProperty
(
"条码"
)
@QueryCondition
private
String
barcode
;
@ApiModelProperty
(
"PN"
)
@QueryCondition
private
String
partNumber
;
@ApiModelProperty
(
"来源"
)
@QueryCondition
private
String
sourceName
;
//
@ApiModelProperty("库位号")
//
@QueryCondition
//
private String posName;
//
@ApiModelProperty("条码")
//
@QueryCondition
//
private String barcode;
//
@ApiModelProperty("PN")
//
@QueryCondition
//
private String partNumber;
//
//
@ApiModelProperty("来源")
//
@QueryCondition
//
private String sourceName;
@ApiModelProperty
(
"任务状态:0=所有,1=正常,2=异常,3=等待"
)
private
int
taskStatus
=
0
;
...
...
src/main/java/com/neotel/smfcore/hella/handler/HellaServiceHandler.java
查看文件 @
43c924a
...
...
@@ -193,6 +193,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
}
}
String
respMsg
=
"unloadMaterialResp;"
+
eventId
+
";"
+
resultCode
+
";"
+
resultMsg
;
log
.
info
(
respMsg
);
session
.
write
(
respMsg
);
}
else
if
(
respCommand
.
isOrderMaterialExtCmd
()){
handleOrderMaterialExtCmd
(
session
,
resposArr
);
...
...
@@ -236,6 +237,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
}
String
respMsg
=
"getInventoryResp;"
+
eventId
+
";"
+
resultCode
+
";"
+
resultMsg
+
";"
+
dataStr
;
log
.
info
(
respMsg
);
session
.
write
(
respMsg
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论