Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit b447a949
由
LN
编写于
2025-04-23 15:02:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加工单来源类型。工单搜索修改。
1 个父辈
b7bf85b7
显示空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
51 行增加
和
34 行删除
src/main/java/com/neotel/smfcore/core/order/enums/LITEORDER_STYPE.java
src/main/java/com/neotel/smfcore/core/order/listener/DefaultOrderFileListener.java
src/main/java/com/neotel/smfcore/core/order/listener/IOrderFileListener.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderDto.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderKanbanDto.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/query/OrderQueryCondition.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/java/com/neotel/smfcore/core/order/util/OrderFileWatch.java
src/main/java/com/neotel/smfcore/custom/fuji/order/service/JobService.java
src/main/java/com/neotel/smfcore/custom/haman/listener/HamanOrderFileListener.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSUtil.java
src/main/java/com/neotel/smfcore/custom/hella/handler/HellaServiceHandler.java
src/main/java/com/neotel/smfcore/custom/tiantong/TianTongController.java
src/main/java/com/neotel/smfcore/core/order/enums/LITEORDER_STYPE.java
0 → 100644
查看文件 @
b447a94
package
com
.
neotel
.
smfcore
.
core
.
order
.
enums
;
public
class
LITEORDER_STYPE
{
/**手动创建的工单*/
public
static
int
MANUAL
=
0
;
/**共享文件夹工单*/
public
static
int
SHAREDFOLDER
=
1
;
/**系统对接的 工单*/
public
static
int
API
=
2
;
}
src/main/java/com/neotel/smfcore/core/order/listener/DefaultOrderFileListener.java
查看文件 @
b447a94
...
...
@@ -37,7 +37,7 @@ public class DefaultOrderFileListener implements IOrderFileListener {
protected
LiteOrderCache
liteOrderCache
;
@Override
public
boolean
handleOrderFile
(
File
orderFile
)
{
public
boolean
handleOrderFile
(
File
orderFile
,
int
sourceType
)
{
String
fileName
=
orderFile
.
getName
();
//String backupFileName = fileName +"_" + System.currentTimeMillis();
//看数据库是否已有此工单
...
...
@@ -64,6 +64,7 @@ public class DefaultOrderFileListener implements IOrderFileListener {
LiteOrder
liteOrder
=
new
LiteOrder
(
so
,
liteOrderItems
);
liteOrder
.
setSource
(
fileName
);
liteOrder
.
setSourceType
(
sourceType
);
//0=手动创建,1=共享文件夹
LiteOrder
dbOrder
=
liteOrderManager
.
findByOrderNo
(
liteOrder
.
getOrderNo
());
if
(
dbOrder
!=
null
)
{
...
...
src/main/java/com/neotel/smfcore/core/order/listener/IOrderFileListener.java
查看文件 @
b447a94
...
...
@@ -7,6 +7,6 @@ import java.io.File;
*/
public
interface
IOrderFileListener
{
boolean
handleOrderFile
(
File
orderFile
);
boolean
handleOrderFile
(
File
orderFile
,
int
sourceType
);
}
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
b447a94
...
...
@@ -3,7 +3,6 @@ package com.neotel.smfcore.core.order.rest;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.base.IExcelDownLoad
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
...
...
@@ -21,6 +20,7 @@ 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.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.order.rest.bean.dto.OrderDto
;
import
com.neotel.smfcore.core.order.rest.bean.dto.OrderItemDto
;
import
com.neotel.smfcore.core.order.rest.bean.dto.OrderKanbanDto
;
...
...
@@ -39,7 +39,6 @@ import com.neotel.smfcore.core.system.service.po.DataLog;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.bean.FileProperties
;
import
com.neotel.smfcore.security.rest.bean.query.UserQueryCriteria
;
import
com.neotel.smfcore.security.service.manager.IGroupManager
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
com.neotel.smfcore.security.service.po.Group
;
...
...
@@ -52,23 +51,16 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.security.crypto.password.PasswordEncoder
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.beans.IntrospectionException
;
import
java.beans.PropertyDescriptor
;
import
java.io.File
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
...
...
@@ -145,7 +137,7 @@ public class OrderController {
}
File
folder
=
new
File
(
properties
.
getPath
(),
"pos"
);
File
localFile
=
FileUtil
.
upload
(
orderFile
,
folder
.
getAbsolutePath
());
boolean
result
=
orderFileWatch
.
handleOrderFile
(
localFile
);
boolean
result
=
orderFileWatch
.
handleOrderFile
(
localFile
,
LITEORDER_STYPE
.
MANUAL
);
if
(
result
)
{
return
ResultBean
.
newOkResult
(
"smfcore.order.uploadOK"
,
"工单上传成功"
);
}
else
{
...
...
@@ -259,6 +251,9 @@ public class OrderController {
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
is
(
LITEORDER_STATUS
.
CLOSED
));
}
else
if
(
criteria
.
getStatus
()
==
2
)
{
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
ne
(
LITEORDER_STATUS
.
CLOSED
));
}
else
if
(
criteria
.
getStatus
()==
3
){
//进行中
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
nin
(
LITEORDER_STATUS
.
CLOSED
,
LITEORDER_STATUS
.
NEW
));
}
}
PageData
<
LiteOrder
>
orderList
=
liteOrderManager
.
findByPage
(
query
,
pageable
);
...
...
@@ -779,11 +774,12 @@ public class OrderController {
int
allCount
=
liteOrderManager
.
countByQuery
(
new
Query
(
Criteria
.
where
(
"orderNo"
).
exists
(
true
)));
int
endCount
=
liteOrderManager
.
countByQuery
(
new
Query
(
Criteria
.
where
(
"status"
).
is
(
LITEORDER_STATUS
.
CLOSED
)));
Criteria
c
=
new
Criteria
();
c
.
and
(
"status"
).
nin
(
LITEORDER_STATUS
.
CLOSED
,
LITEORDER_STATUS
.
NEW
);
c
.
and
(
"status"
).
nin
(
LITEORDER_STATUS
.
CLOSED
,
LITEORDER_STATUS
.
NEW
);
Query
query
=
new
Query
(
c
);
int
exeCount
=
liteOrderManager
.
countByQuery
(
query
);
int
abCount
=
0
;
OrderKanbanDto
dto
=
new
OrderKanbanDto
(
allCount
,
endCount
,
exeCount
,
abCount
);
int
waitCount
=
liteOrderManager
.
countByQuery
(
new
Query
(
Criteria
.
where
(
"status"
).
is
(
LITEORDER_STATUS
.
NEW
)));
OrderKanbanDto
dto
=
new
OrderKanbanDto
(
allCount
,
endCount
,
exeCount
,
abCount
,
waitCount
);
return
dto
;
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderDto.java
查看文件 @
b447a94
package
com
.
neotel
.
smfcore
.
core
.
order
.
rest
.
bean
.
dto
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.
service.po.LiteOrderItem
;
import
com.neotel.smfcore.core.order.
enums.LITEORDER_STYPE
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
@@ -69,6 +69,8 @@ public class OrderDto implements Serializable {
@ApiModelProperty
(
"工单来源"
)
private
String
source
=
""
;
@ApiModelProperty
(
"工单来源类型,0=手动创建,1=共享文件夹,2=系统对接"
)
private
int
sourceType
=
LITEORDER_STYPE
.
MANUAL
;
@ApiModelProperty
(
"任务完成时间(用于关闭页面显示)"
)
@Transient
...
...
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderKanbanDto.java
查看文件 @
b447a94
...
...
@@ -17,4 +17,6 @@ public class OrderKanbanDto {
private
int
executingOrderCount
;
@ApiModelProperty
(
"异常工单"
)
private
int
abnormalOrderCount
;
@ApiModelProperty
(
"等待工单数"
)
private
int
waitOrderCount
;
}
src/main/java/com/neotel/smfcore/core/order/rest/bean/query/OrderQueryCondition.java
查看文件 @
b447a94
...
...
@@ -12,9 +12,12 @@ import java.util.List;
@Data
public
class
OrderQueryCondition
{
@QueryCondition
(
blurry
=
"orderNo"
)
@QueryCondition
(
blurry
=
"orderNo
,so,soId,source,line
"
)
private
String
blurry
;
@QueryCondition
(
blurry
=
"orderNo"
)
private
String
orderNo
=
""
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
BetweenData
<
Date
>
createDate
;
...
...
@@ -24,7 +27,7 @@ public class OrderQueryCondition {
@QueryCondition
(
type
=
QueryCondition
.
Type
.
NIN
,
propName
=
"source"
)
private
List
<
String
>
excludeSourceList
;
//状态,0=所有,1=已关闭,2=未关闭
//状态,0=所有,1=已关闭,2=未关闭
,3=进行中
private
Integer
status
;
...
...
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
b447a94
...
...
@@ -2,9 +2,8 @@ package com.neotel.smfcore.core.order.service.po;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.utils.StorageConstants
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
lombok.Data
;
import
org.springframework.data.annotation.Transient
;
...
...
@@ -66,6 +65,11 @@ public class LiteOrder extends BasePo implements Serializable {
private
boolean
closed
=
false
;
/**
* 工单来源类型,0=手动创建,1=共享文件夹,2=系统对接
*/
private
int
sourceType
=
LITEORDER_STYPE
.
MANUAL
;
/**
* 工单来源
...
...
src/main/java/com/neotel/smfcore/core/order/util/OrderFileWatch.java
查看文件 @
b447a94
package
com
.
neotel
.
smfcore
.
core
.
order
.
util
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.csv.CsvReader
;
import
com.neotel.smfcore.common.utils.SmbUtil
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.
LiteOrderCache
;
import
com.neotel.smfcore.core.order.
enums.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.order.listener.IOrderFileListener
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
com.neotel.smfcore.core.system.bean.OrderSetting
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.activation.MimeType
;
import
java.io.File
;
import
java.io.FileFilter
;
import
java.nio.file.Files
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ScheduledExecutorService
;
...
...
@@ -88,7 +78,7 @@ public class OrderFileWatch {
}
};
for
(
File
file
:
orderFolder
.
listFiles
(
fileFilter
))
{
boolean
handled
=
handleOrderFile
(
file
);
boolean
handled
=
handleOrderFile
(
file
,
LITEORDER_STYPE
.
SHAREDFOLDER
);
String
backupFileName
=
file
.
getName
()
+
"_"
+
System
.
currentTimeMillis
();
File
resultFile
=
null
;
...
...
@@ -114,11 +104,11 @@ public class OrderFileWatch {
* @param orderFile
* @return
*/
public
boolean
handleOrderFile
(
File
orderFile
){
public
boolean
handleOrderFile
(
File
orderFile
,
int
sourceType
){
log
.
info
(
"开始处理Order文件:"
+
orderFile
.
getAbsolutePath
());
for
(
IOrderFileListener
orderFileListener
:
orderFileListenerList
)
{
boolean
result
=
orderFileListener
.
handleOrderFile
(
orderFile
);
boolean
result
=
orderFileListener
.
handleOrderFile
(
orderFile
,
sourceType
);
if
(
result
){
return
true
;
}
...
...
src/main/java/com/neotel/smfcore/custom/fuji/order/service/JobService.java
查看文件 @
b447a94
...
...
@@ -8,6 +8,7 @@ import com.neotel.smfcore.core.device.enums.OP;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
...
...
@@ -192,6 +193,7 @@ public class JobService {
//设置工单名和额外字段
liteOrder
.
setOrderNo
(
jobName
+
"_"
+
fileName
);
liteOrder
.
setSource
(
"nexim"
);
liteOrder
.
setSourceType
(
LITEORDER_STYPE
.
API
);
liteOrder
.
addAppendDate
(
"jobState"
,
jobState
);
liteOrder
.
addAppendDate
(
"jobName"
,
jobName
);
liteOrder
.
addAppendDate
(
"fileName"
,
fileName
);
...
...
src/main/java/com/neotel/smfcore/custom/haman/listener/HamanOrderFileListener.java
查看文件 @
b447a94
...
...
@@ -24,7 +24,7 @@ public class HamanOrderFileListener extends DefaultOrderFileListener {
protected
IHamanBinPosDao
hamanBinPosDao
;
@Override
public
boolean
handleOrderFile
(
File
orderFile
)
{
public
boolean
handleOrderFile
(
File
orderFile
,
int
sourceType
)
{
String
fileName
=
orderFile
.
getName
();
if
(
isFileType
(
fileName
,
"csv"
)){
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSUtil.java
查看文件 @
b447a94
...
...
@@ -12,6 +12,7 @@ import com.neotel.smfcore.core.equipment.util.EquipConfigUtil;
import
com.neotel.smfcore.core.equipment.util.bean.EquipConfigInfo
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
...
...
@@ -167,6 +168,7 @@ public class TMSUtil {
LiteOrder
liteOrder
=
new
LiteOrder
(
orderNo
,
items
);
liteOrder
.
setSource
(
requestCmd
);
liteOrder
.
setSourceType
(
LITEORDER_STYPE
.
API
);
LiteOrder
dbOrder
=
liteOrderManager
.
findByOrderNo
(
liteOrder
.
getOrderNo
());
if
(
dbOrder
!=
null
)
{
orderNo
=
orderNo
+
"-"
+
requestID
;
...
...
src/main/java/com/neotel/smfcore/custom/hella/handler/HellaServiceHandler.java
查看文件 @
b447a94
...
...
@@ -16,6 +16,7 @@ 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.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
...
...
@@ -465,6 +466,7 @@ public class HellaServiceHandler extends BaseSmfApiListener implements IoHandler
}
liteOrder
=
new
LiteOrder
(
workorderNumber
,
items
);
liteOrder
.
setSource
(
groupName
);
liteOrder
.
setSourceType
(
LITEORDER_STYPE
.
API
);
log
.
info
(
"新增加订单:"
+
liteOrder
.
getOrderNo
()+
",设备组名称["
+
groupName
+
"],标签名称["
+
labelName
+
"]"
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
...
...
src/main/java/com/neotel/smfcore/custom/tiantong/TianTongController.java
查看文件 @
b447a94
...
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.core.device.bean.BoxStatusBean;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STYPE
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
...
...
@@ -130,6 +131,7 @@ public class TianTongController {
LiteOrder
liteOrder
=
new
LiteOrder
();
liteOrder
.
setOrderNo
(
orderNo
);
liteOrder
.
setSource
(
source
);
liteOrder
.
setSourceType
(
LITEORDER_STYPE
.
API
);
liteOrder
.
setSo
(
so
);
liteOrder
.
setOrderItems
(
orderItemList
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论