Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit dfe86f38
由
LN
编写于
2025-10-29 11:09:45 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
85ab06b6
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
353 行增加
和
0 行删除
src/main/java/com/neotel/smfcore/core/equipment/rest/dto/XCounterViewDto.java
src/main/java/com/neotel/smfcore/core/xRay/rest/dto/CountingHistoryDto.java
src/main/java/com/neotel/smfcore/core/xRay/rest/mapstruct/CountingHistoryMapper.java
src/main/java/com/neotel/smfcore/core/xRay/rest/query/CountingHistoryQueryCriteria.java
src/main/java/com/neotel/smfcore/core/xRay/service/dao/ICountingHistoryDao.java
src/main/java/com/neotel/smfcore/core/xRay/service/dao/impl/CountingHistoryDaoImpl.java
src/main/java/com/neotel/smfcore/core/xRay/service/manager/ICountingHistoryManager.java
src/main/java/com/neotel/smfcore/core/xRay/service/manager/impl/CountingHistoryManagerImpl.java
src/main/java/com/neotel/smfcore/core/xRay/service/po/CountingHistory.java
src/main/java/com/neotel/smfcore/core/equipment/rest/dto/XCounterViewDto.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
equipment
.
rest
.
dto
;
import
com.neotel.smfcore.core.equipment.bean.EquipMsg
;
import
com.neotel.smfcore.core.system.bean.MesInfoDto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Data
public
class
XCounterViewDto
implements
Serializable
{
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"CID"
)
private
String
cid
;
@ApiModelProperty
(
"设备状态,0=离线,1=正常运行中, 2=急停"
)
private
int
status
=
0
;
@ApiModelProperty
(
"文字显示"
)
private
String
msg
=
""
;
@ApiModelProperty
(
"Mes信息"
)
private
MesInfoDto
mesInfo
=
null
;
@ApiModelProperty
(
"agv通信信息"
)
private
MesInfoDto
agvInfo
=
null
;
@ApiModelProperty
(
"仅显示的日志消息集合"
)
private
List
<
EquipMsg
>
showLogs
=
new
ArrayList
<>();
/**
* 发上来的数据
*
* NS200定义:
* key=tPCount,value=今天已打印数量
* key=tNGCount,value=今天NG数量
* key=MES,value=MES最后一次对接信息:格式参考NsMesInfo
*/
private
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
/**
* NS打印数据
*/
private
Map
<
String
,
String
>
printData
=
new
HashMap
<>();
}
src/main/java/com/neotel/smfcore/core/xRay/rest/dto/CountingHistoryDto.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
rest
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
CountingHistoryDto
{
@ApiModelProperty
(
"CID "
)
private
String
cid
=
""
;
@ApiModelProperty
(
"记录的唯一标识ID "
)
private
long
uid
=
-
1
;
@ApiModelProperty
(
"产品编号(Product Number) "
)
private
String
pn
=
""
;
@ApiModelProperty
(
"卷轴编号(Reel Number) "
)
private
String
ri
=
""
;
@ApiModelProperty
(
"是否为不良品的标识 "
)
private
boolean
isNG
=
false
;
@ApiModelProperty
(
"不良品信息 "
)
private
String
ngMsg
=
""
;
@ApiModelProperty
(
"数量 "
)
private
int
quantity
=
-
1
;
@ApiModelProperty
(
"标签状态 "
)
private
String
lblState
;
@ApiModelProperty
(
"其他消息(Other Message) "
)
private
String
oMSG
;
@ApiModelProperty
(
"TD条形码(可能是特定业务中的一种条形码) "
)
private
String
tdBarcode
;
@ApiModelProperty
(
"XRay文件路径或相关标识 "
)
private
String
xRayFile
;
@ApiModelProperty
(
"结果文件路径或相关标识 "
)
private
String
resultFile
;
@ApiModelProperty
(
"是否上传到smf完成,1=完成,0=未完成 "
)
private
int
uploadOk
=
0
;
}
src/main/java/com/neotel/smfcore/core/xRay/rest/mapstruct/CountingHistoryMapper.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
rest
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.core.xRay.rest.dto.CountingHistoryDto
;
import
com.neotel.smfcore.core.xRay.service.po.CountingHistory
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
CountingHistoryMapper
extends
BaseMapper
<
CountingHistoryDto
,
CountingHistory
>
{
}
src/main/java/com/neotel/smfcore/core/xRay/rest/query/CountingHistoryQueryCriteria.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
rest
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
CountingHistoryQueryCriteria
{
@QueryCondition
(
blurry
=
"pn,ri,ngMsg,oMSG,tdBarcode"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
BetweenData
<
Date
>
updateDate
;
@QueryCondition
@ApiModelProperty
(
"cid"
)
private
String
cid
;
@QueryCondition
@ApiModelProperty
(
"pn"
)
private
String
pn
;
@ApiModelProperty
(
"ri"
)
private
String
ri
=
""
;
@ApiModelProperty
(
"类型"
)
private
int
type
=
-
1
;
@ApiModelProperty
(
"是否过期"
)
private
String
expire
;
}
src/main/java/com/neotel/smfcore/core/xRay/service/dao/ICountingHistoryDao.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
service
.
dao
;
import
com.neotel.smfcore.common.base.IBaseDao
;
public
interface
ICountingHistoryDao
extends
IBaseDao
{
}
src/main/java/com/neotel/smfcore/core/xRay/service/dao/impl/CountingHistoryDaoImpl.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
service
.
dao
.
impl
;
import
com.neotel.smfcore.common.base.AbstractBaseDao
;
import
com.neotel.smfcore.core.xRay.service.dao.ICountingHistoryDao
;
import
com.neotel.smfcore.core.xRay.service.po.CountingHistory
;
import
org.springframework.stereotype.Service
;
@Service
public
class
CountingHistoryDaoImpl
extends
AbstractBaseDao
implements
ICountingHistoryDao
{
@Override
public
Class
getEntityClass
()
{
return
CountingHistory
.
class
;
}
}
src/main/java/com/neotel/smfcore/core/xRay/service/manager/ICountingHistoryManager.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
service
.
manager
;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.core.xRay.service.po.CountingHistory
;
import
java.util.List
;
public
interface
ICountingHistoryManager
extends
IBaseManager
<
CountingHistory
>
{
List
<
String
>
upsertByUid
(
List
<
CountingHistory
>
list
);
}
src/main/java/com/neotel/smfcore/core/xRay/service/manager/impl/CountingHistoryManagerImpl.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
service
.
manager
.
impl
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.core.xRay.service.dao.ICountingHistoryDao
;
import
com.neotel.smfcore.core.xRay.service.dao.IXrayPrintDataDao
;
import
com.neotel.smfcore.core.xRay.service.manager.ICountingHistoryManager
;
import
com.neotel.smfcore.core.xRay.service.po.CountingHistory
;
import
com.neotel.smfcore.core.xRay.service.po.XrayPrintData
;
import
lombok.extern.slf4j.Slf4j
;
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.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
@Slf4j
@Service
public
class
CountingHistoryManagerImpl
implements
ICountingHistoryManager
{
@Autowired
private
ICountingHistoryDao
countingHistoryDao
;
@Override
public
CountingHistory
get
(
String
id
)
{
return
countingHistoryDao
.
findOneById
(
id
);
}
@Override
public
CountingHistory
save
(
CountingHistory
object
)
throws
ValidateException
{
Query
query
=
new
Query
(
Criteria
.
where
(
"reelId"
).
is
(
object
.
getRi
()));
XrayPrintData
obj
=
countingHistoryDao
.
findOne
(
query
);
if
(
obj
!=
null
){
object
.
setId
(
obj
.
getId
());
}
return
countingHistoryDao
.
save
(
object
);
}
@Override
public
void
delete
(
CountingHistory
object
)
throws
ValidateException
{
countingHistoryDao
.
removeOneById
(
object
.
getId
());
}
@Override
public
PageData
<
CountingHistory
>
findByPage
(
Query
query
,
Pageable
pageable
)
{
int
totalCount
=
countingHistoryDao
.
countByQuery
(
query
);
List
<
CountingHistory
>
list
=
countingHistoryDao
.
findByQuery
(
query
,
pageable
);
return
new
PageData
<
CountingHistory
>(
list
,
totalCount
);
}
@Override
public
List
<
CountingHistory
>
findByQuery
(
Query
query
)
{
return
countingHistoryDao
.
findByQuery
(
query
);
}
@Override
public
List
<
String
>
upsertByUid
(
List
<
CountingHistory
>
list
)
{
List
<
String
>
success
=
new
ArrayList
<>();
if
(
list
==
null
||
list
.
isEmpty
())
{
return
success
;
}
for
(
CountingHistory
item
:
list
)
{
try
{
Query
q
=
new
Query
(
Criteria
.
where
(
"uid"
).
is
(
item
.
getUid
()));
CountingHistory
exist
=
countingHistoryDao
.
findOne
(
q
);
if
(
exist
==
null
)
{
countingHistoryDao
.
save
(
item
);
}
else
{
Update
update
=
new
Update
()
.
set
(
"isNG"
,
item
.
isNG
())
.
set
(
"ngMsg"
,
item
.
getNgMsg
())
.
set
(
"quantity"
,
item
.
getQuantity
())
.
set
(
"lblState"
,
item
.
getLblState
())
.
set
(
"oMSG"
,
item
.
getOMSG
());
countingHistoryDao
.
updateFirst
(
q
,
update
);
}
success
.
add
(
String
.
valueOf
(
item
.
getUid
()));
}
catch
(
Exception
e
)
{
log
.
error
(
"Upsert counting history failed for uid {}, pn {}, ri {}: {}"
,
item
.
getUid
(),
item
.
getPn
(),
item
.
getRi
(),
e
.
getMessage
());
}
}
return
success
;
}
}
src/main/java/com/neotel/smfcore/core/xRay/service/po/CountingHistory.java
0 → 100644
查看文件 @
dfe86f3
package
com
.
neotel
.
smfcore
.
core
.
xRay
.
service
.
po
;
import
cn.hutool.core.date.DateTime
;
import
com.neotel.smfcore.common.base.BasePo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.io.Serializable
;
@Data
@Document
@AllArgsConstructor
@NoArgsConstructor
public
class
CountingHistory
extends
BasePo
implements
Serializable
{
/**
* CID
*/
private
String
cid
=
""
;
/**
* 记录的唯一标识ID
*/
private
long
uid
=
-
1
;
/**
* 产品编号(Product Number)
*/
private
String
pn
=
""
;
/**
* 卷轴编号(Reel Number)
*/
private
String
ri
=
""
;
/**
* 是否为不良品的标识
*/
private
boolean
isNG
=
false
;
/**
* 不良品信息
*/
private
String
ngMsg
=
""
;
/**
* 数量
*/
private
int
quantity
=
-
1
;
/**
* 标签状态
*/
private
String
lblState
;
/**
* 其他消息(Other Message)
*/
private
String
oMSG
;
/**
* TD条形码(可能是特定业务中的一种条形码)
*/
private
String
tdBarcode
;
/**
* XRay文件路径或相关标识
*/
private
String
xRayFile
;
/**
* 结果文件路径或相关标识
*/
private
String
resultFile
;
/**
* 是否上传到smf完成,1=完成,0=未完成
*/
private
int
uploadOk
=
0
;
/**
* 点料时间
*/
private
DateTime
countingTime
;
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论