Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ff1e87ab
由
sunke
编写于
2023-02-07 09:36:34 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
2154b3a0
5a7c164e
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
296 行增加
和
2 行删除
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
src/main/java/com/neotel/smfcore/core/system/service/dao/IDataLogDao.java
src/main/java/com/neotel/smfcore/core/system/service/dao/impl/DataLogDaoImpl.java
src/main/java/com/neotel/smfcore/core/system/service/manager/IDataLogManager.java
src/main/java/com/neotel/smfcore/core/system/service/manager/impl/DataLogManagerImpl.java
src/main/java/com/neotel/smfcore/custom/micron20031/Micron20031Menu.java
src/main/java/com/neotel/smfcore/custom/micron20031/MicronReportController.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/SpDailyLog.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/dto/SpDailyLogDto.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/query/SpReportQueryCondition.java
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
ff1e87a
...
@@ -59,7 +59,7 @@ public class StatusBean {
...
@@ -59,7 +59,7 @@ public class StatusBean {
* 0=离线,1=正常运行中, 2=急停,
* 0=离线,1=正常运行中, 2=急停,
* 3=故障(气压检测不到等,用msg发送详细故障说明)
* 3=故障(气压检测不到等,用msg发送详细故障说明)
* ,4=警告(用msg发送提醒,如出库到达工位但是没有工人操作)
* ,4=警告(用msg发送提醒,如出库到达工位但是没有工人操作)
* 5=调试中,6入库执行中,7入仓位完成,8入库失败, 9出库执行中,10出仓位完成,11出库
失败
,12移栽出库,13 重置中,14 扫码入库失败
* 5=调试中,6入库执行中,7入仓位完成,8入库失败, 9出库执行中,10出仓位完成,11出库
完成
,12移栽出库,13 重置中,14 扫码入库失败
*/
*/
private
int
status
;
private
int
status
;
/// <summary>
/// <summary>
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
ff1e87a
...
@@ -327,6 +327,8 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -327,6 +327,8 @@ public class BaseDeviceHandler implements IDeviceHandler {
storagePos
=
storagePosManager
.
getEmptyPosByStorage
(
storage
,
barcode
,
operatingPosIds
);
storagePos
=
storagePosManager
.
getEmptyPosByStorage
(
storage
,
barcode
,
operatingPosIds
);
}
else
{
}
else
{
log
.
info
(
"料仓"
+
storageCid
+
"有出库任务未完成,不允许入库"
);
log
.
info
(
"料仓"
+
storageCid
+
"有出库任务未完成,不允许入库"
);
throw
new
ValidateException
(
"error.storage.outNotEnd"
,
"料仓{0}有出库任务未完成,不允许入库"
,
new
String
[]{
storageCid
});
}
}
}
}
if
(
storagePos
==
null
)
{
if
(
storagePos
==
null
)
{
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
ff1e87a
...
@@ -353,6 +353,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -353,6 +353,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
String
orderNo
=
liteOrder
.
getOrderNo
();
String
orderNo
=
liteOrder
.
getOrderNo
();
String
orderFinishedTxt
=
MessageUtils
.
getText
(
"smfcore.order.finished"
,
new
String
[]{
orderNo
},
request
.
getLocale
(),
"工单["
+
orderNo
+
"]的任务已全部完成"
);
String
orderFinishedTxt
=
MessageUtils
.
getText
(
"smfcore.order.finished"
,
new
String
[]{
orderNo
},
request
.
getLocale
(),
"工单["
+
orderNo
+
"]的任务已全部完成"
);
dataMap
.
put
(
"orderFinishedTxt"
,
orderFinishedTxt
);
dataMap
.
put
(
"orderFinishedTxt"
,
orderFinishedTxt
);
log
.
info
(
"工单完成,返回 orderFinishedTxt, "
+
orderFinishedTxt
);
}
}
}
}
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.outConfirm"
,
"出库完成, 库位[{0}]灭灯"
,
new
String
[]{
inPos
.
getPosName
()}
,
dataMap
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.outConfirm"
,
"出库完成, 库位[{0}]灭灯"
,
new
String
[]{
inPos
.
getPosName
()}
,
dataMap
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
查看文件 @
ff1e87a
...
@@ -12,6 +12,7 @@ import com.neotel.smfcore.common.utils.QueryHelp;
...
@@ -12,6 +12,7 @@ import com.neotel.smfcore.common.utils.QueryHelp;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageDto
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageDto
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageSearchDto
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageSearchDto
;
...
@@ -202,6 +203,30 @@ public class StorageController {
...
@@ -202,6 +203,30 @@ public class StorageController {
}
}
return
storageDtos
;
return
storageDtos
;
}
}
@ApiOperation
(
"料架设置页面:一键亮灯"
)
@PostMapping
(
value
=
"/shelfLight"
)
public
ResultBean
shelfLight
(
@RequestBody
Map
<
String
,
String
>
params
)
{
String
storageId
=
params
.
get
(
"storageId"
);
Storage
storage
=
dataCache
.
getStorageById
(
storageId
);
if
(
storage
==
null
)
{
log
.
error
(
"Storage id is not exist"
);
throw
new
ValidateException
(
"smfcore.storage.error.notExist"
,
"未找到料仓{0}"
,
new
String
[]{
storageId
});
}
//获取料架的所有库位号
List
<
StoragePos
>
usePos
=
storagePosManager
.
findNotEmptyByStorageId
(
storage
.
getId
());
for
(
StoragePos
pos
:
usePos
)
{
String
colorStr
=
ORDER_COLOR
.
BLUE
.
name
();
String
opStr
=
pos
.
getPosName
()
+
"="
+
colorStr
;
DevicesStatusUtil
.
appendOp
(
storage
.
getCid
(),
"open"
,
opStr
);
log
.
info
(
"操作库位["
+
pos
.
getPosName
()
+
"]"
+
"open"
+
" : "
+
opStr
);
}
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"返回所有料仓类型"
)
@ApiOperation
(
"返回所有料仓类型"
)
@GetMapping
(
value
=
"/typeList"
)
@GetMapping
(
value
=
"/typeList"
)
public
List
<
String
>
typeList
()
{
public
List
<
String
>
typeList
()
{
...
...
src/main/java/com/neotel/smfcore/core/system/service/dao/IDataLogDao.java
查看文件 @
ff1e87a
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.core.system.service.dao;
...
@@ -3,6 +3,7 @@ package com.neotel.smfcore.core.system.service.dao;
import
com.neotel.smfcore.common.base.IBaseDao
;
import
com.neotel.smfcore.common.base.IBaseDao
;
import
com.neotel.smfcore.core.report.bean.ChartItem
;
import
com.neotel.smfcore.core.report.bean.ChartItem
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.custom.micron20031.bean.SpDailyLog
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
...
@@ -13,4 +14,6 @@ public interface IDataLogDao extends IBaseDao {
...
@@ -13,4 +14,6 @@ public interface IDataLogDao extends IBaseDao {
List
<
ChartItem
>
checkOutChart
(
Date
startDay
,
Date
endDay
,
String
partNumber
);
List
<
ChartItem
>
checkOutChart
(
Date
startDay
,
Date
endDay
,
String
partNumber
);
List
<
DataLog
>
findHistory
(
String
bid
,
int
num
);
List
<
DataLog
>
findHistory
(
String
bid
,
int
num
);
List
<
SpDailyLog
>
getSpDailyLogs
(
Date
start
,
Date
end
,
String
inoutType
);
}
}
src/main/java/com/neotel/smfcore/core/system/service/dao/impl/DataLogDaoImpl.java
查看文件 @
ff1e87a
package
com
.
neotel
.
smfcore
.
core
.
system
.
service
.
dao
.
impl
;
package
com
.
neotel
.
smfcore
.
core
.
system
.
service
.
dao
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.base.AbstractBaseDao
;
import
com.neotel.smfcore.common.base.AbstractBaseDao
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP
;
...
@@ -7,6 +8,7 @@ import com.neotel.smfcore.core.device.enums.OP_STATUS;
...
@@ -7,6 +8,7 @@ import com.neotel.smfcore.core.device.enums.OP_STATUS;
import
com.neotel.smfcore.core.report.bean.ChartItem
;
import
com.neotel.smfcore.core.report.bean.ChartItem
;
import
com.neotel.smfcore.core.system.service.dao.IDataLogDao
;
import
com.neotel.smfcore.core.system.service.dao.IDataLogDao
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.custom.micron20031.bean.SpDailyLog
;
import
org.apache.logging.log4j.util.Strings
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.aggregation.Aggregation
;
import
org.springframework.data.mongodb.core.aggregation.Aggregation
;
...
@@ -65,5 +67,23 @@ public class DataLogDaoImpl extends AbstractBaseDao implements IDataLogDao {
...
@@ -65,5 +67,23 @@ public class DataLogDaoImpl extends AbstractBaseDao implements IDataLogDao {
return
findByQuery
(
q
);
return
findByQuery
(
q
);
}
}
@Override
public
List
<
SpDailyLog
>
getSpDailyLogs
(
Date
start
,
Date
end
,
String
inoutType
)
{
Criteria
criteria
=
Criteria
.
where
(
"updateDate"
).
gte
(
start
).
lte
(
end
);
if
(
ObjectUtil
.
isNotEmpty
(
inoutType
))
{
criteria
=
criteria
.
and
(
"inOutType"
).
is
(
inoutType
);
}
//过去一月
Aggregation
agg
=
Aggregation
.
newAggregation
(
Aggregation
.
match
(
criteria
),
Aggregation
.
project
().
and
(
"updateDate"
).
extractDayOfYear
().
as
(
"label"
),
Aggregation
.
group
(
"label"
).
count
().
as
(
"value"
),
Aggregation
.
project
(
"value"
).
and
(
"searchType"
).
previousOperation
()
);
AggregationResults
<
SpDailyLog
>
results
=
getMongoTemplate
().
aggregate
(
agg
,
getEntityClass
(),
SpDailyLog
.
class
);
return
results
.
getMappedResults
();
}
}
}
src/main/java/com/neotel/smfcore/core/system/service/manager/IDataLogManager.java
查看文件 @
ff1e87a
...
@@ -2,9 +2,13 @@ package com.neotel.smfcore.core.system.service.manager;
...
@@ -2,9 +2,13 @@ package com.neotel.smfcore.core.system.service.manager;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.custom.micron20031.bean.SpDailyLog
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
public
interface
IDataLogManager
extends
IBaseManager
<
DataLog
>
{
public
interface
IDataLogManager
extends
IBaseManager
<
DataLog
>
{
List
<
DataLog
>
findUnFinishedTasks
();
List
<
DataLog
>
findUnFinishedTasks
();
List
<
SpDailyLog
>
getSpDailyLogs
(
Date
start
,
Date
end
,
String
inoutType
);
}
}
src/main/java/com/neotel/smfcore/core/system/service/manager/impl/DataLogManagerImpl.java
查看文件 @
ff1e87a
...
@@ -6,6 +6,7 @@ import com.neotel.smfcore.core.device.enums.OP_STATUS;
...
@@ -6,6 +6,7 @@ import com.neotel.smfcore.core.device.enums.OP_STATUS;
import
com.neotel.smfcore.core.system.service.dao.IDataLogDao
;
import
com.neotel.smfcore.core.system.service.dao.IDataLogDao
;
import
com.neotel.smfcore.core.system.service.manager.IDataLogManager
;
import
com.neotel.smfcore.core.system.service.manager.IDataLogManager
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.custom.micron20031.bean.SpDailyLog
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
...
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
...
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
@Service
@Service
...
@@ -63,4 +65,10 @@ public class DataLogManagerImpl implements IDataLogManager {
...
@@ -63,4 +65,10 @@ public class DataLogManagerImpl implements IDataLogManager {
}
}
return
unFinishedTasks
;
return
unFinishedTasks
;
}
}
@Override
public
List
<
SpDailyLog
>
getSpDailyLogs
(
Date
start
,
Date
end
,
String
inoutType
){
return
dataLogDao
.
getSpDailyLogs
(
start
,
end
,
inoutType
);
}
}
}
src/main/java/com/neotel/smfcore/custom/micron20031/Micron20031Menu.java
查看文件 @
ff1e87a
...
@@ -32,7 +32,8 @@ public class Micron20031Menu {
...
@@ -32,7 +32,8 @@ public class Micron20031Menu {
Menu
report
=
Menu
.
CreatePMenu
(
"报表"
,
1
,
"report"
,
"inOutData"
,
null
);
Menu
report
=
Menu
.
CreatePMenu
(
"报表"
,
1
,
"report"
,
"inOutData"
,
null
);
//Report菜单
//Report菜单
MenuInit
.
addMenu
(
menuLabel
,
report
,
121
,
"Material Movement"
,
"movementReport"
,
"system/movementReport/index"
,
"movementReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
120
,
"AllReport"
,
"allReport"
,
"micron/allReport/index"
,
"allReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
121
,
"Material Movement"
,
"movementReport"
,
"micron/movementReport/index"
,
"movementReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
122
,
"Inventory"
,
"inventoryReport"
,
"system/inventoryReport/index"
,
"inventoryReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
122
,
"Inventory"
,
"inventoryReport"
,
"system/inventoryReport/index"
,
"inventoryReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
123
,
"Abnormality"
,
"abnormReport"
,
"system/abnormReport/index"
,
"abnormReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
123
,
"Abnormality"
,
"abnormReport"
,
"system/abnormReport/index"
,
"abnormReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
124
,
"Performance"
,
"performanceReport"
,
"system/performanceReport/index"
,
"performanceReport"
);
MenuInit
.
addMenu
(
menuLabel
,
report
,
124
,
"Performance"
,
"performanceReport"
,
"system/performanceReport/index"
,
"performanceReport"
);
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/MicronReportController.java
0 → 100644
查看文件 @
ff1e87a
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.system.rest.bean.dto.TaskDto
;
import
com.neotel.smfcore.core.system.rest.bean.mapstruct.TaskMapper
;
import
com.neotel.smfcore.core.system.service.manager.IDataLogManager
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.custom.micron20031.bean.MInOutType
;
import
com.neotel.smfcore.custom.micron20031.bean.SpDailyLog
;
import
com.neotel.smfcore.custom.micron20031.bean.dto.SpDailyLogDto
;
import
com.neotel.smfcore.custom.micron20031.bean.dto.SpUnloadDto
;
import
com.neotel.smfcore.custom.micron20031.bean.query.SpReportQueryCondition
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.service.manager.IUserManager
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
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.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.*
;
@Slf4j
@Api
(
tags
=
"20031:Report 报表"
)
@RestController
@RequestMapping
(
"/rest/micron/sp"
)
@RequiredArgsConstructor
public
class
MicronReportController
{
@Autowired
private
TaskService
taskService
;
@Autowired
private
IDataLogManager
dataLogManager
;
@Autowired
private
final
TaskMapper
taskMapper
;
@Autowired
private
DataCache
dataCache
;
@Autowired
private
IUserManager
userManager
;
private
Query
getQuery
(
SpReportQueryCondition
criteria
){
String
un_End
=
"UN_END"
;
boolean
unEnd
=
false
;
boolean
finished
=
false
;
if
(
criteria
.
getStatus
()!=
null
&&
criteria
.
getStatus
().
equals
(
un_End
))
{
criteria
.
setStatus
(
null
);
unEnd
=
true
;
}
else
if
(
criteria
.
getStatus
()!=
null
&&
criteria
.
getStatus
().
equals
(
OP_STATUS
.
FINISHED
.
name
())){
criteria
.
setStatus
(
null
);
finished
=
true
;
}
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
if
(
unEnd
)
{
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
nin
(
OP_STATUS
.
END
.
name
(),
OP_STATUS
.
FINISHED
.
name
()));
}
else
if
(
finished
){
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
in
(
OP_STATUS
.
END
.
name
(),
OP_STATUS
.
FINISHED
.
name
()));
}
return
query
;
}
@ApiOperation
(
"Material Movement 查询"
)
@GetMapping
(
"/movement"
)
@AnonymousAccess
public
PageData
<
TaskDto
>
queryMovement
(
SpReportQueryCondition
criteria
,
Pageable
pageable
)
{
Query
query
=
getQuery
(
criteria
);
PageData
<
DataLog
>
taskList
=
dataLogManager
.
findByPage
(
query
,
pageable
);
PageData
<
TaskDto
>
result
=
taskMapper
.
toDto
(
taskList
);
return
result
;
}
@ApiOperation
(
"Material count 每天的出入库数量统计"
)
@GetMapping
(
"/dailyLog"
)
@AnonymousAccess
public
List
<
SpDailyLogDto
>
queryDailyLog
(
SpReportQueryCondition
criteria
)
{
Criteria
c
=
null
;
Date
start
=
null
;
Date
end
=
new
Date
();
if
(
criteria
.
getUpdateDate
().
getFrom
()
!=
null
&&
criteria
.
getUpdateDate
().
getTo
()
!=
null
)
{
c
=
Criteria
.
where
(
"createDate"
).
gte
(
criteria
.
getUpdateDate
().
getFrom
()).
lte
(
criteria
.
getUpdateDate
().
getTo
());
start
=
criteria
.
getUpdateDate
().
getFrom
()
;
end
=
criteria
.
getUpdateDate
().
getTo
();
}
else
{
//过去一月
Calendar
time
=
Calendar
.
getInstance
();
time
.
setTime
(
new
Date
());
time
.
add
(
Calendar
.
MONTH
,
-
1
);
start
=
time
.
getTime
();
c
=
Criteria
.
where
(
"createDate"
).
gte
(
time
.
getTime
()).
lte
(
new
Date
());
}
List
<
SpDailyLog
>
results
=
dataLogManager
.
getSpDailyLogs
(
start
,
end
,
""
);
HashMap
<
String
,
SpDailyLogDto
>
dailyLogDtos
=
new
HashMap
<
String
,
SpDailyLogDto
>();
List
<
String
>
types
=
new
ArrayList
<>();
types
.
add
(
MInOutType
.
OFFLINE
);
types
.
add
(
MInOutType
.
DESPOSIT
);
types
.
add
(
MInOutType
.
REMOVED
);
types
.
add
(
MInOutType
.
RETURNED
);
types
.
add
(
MInOutType
.
WITHDRAWN
);
for
(
String
type
:
types
)
{
List
<
SpDailyLog
>
logs
=
dataLogManager
.
getSpDailyLogs
(
start
,
end
,
type
);
for
(
SpDailyLog
log
:
logs
)
{
SpDailyLogDto
dto
=
dailyLogDtos
.
getOrDefault
(
log
.
getLabel
(),
new
SpDailyLogDto
());
if
(
dto
.
getTypeCounts
()==
null
){
dto
.
setTypeCounts
(
new
HashMap
<>());
}
dto
.
getTypeCounts
().
put
(
type
,
log
.
getValue
());
dailyLogDtos
.
put
(
log
.
getLabel
(),
dto
);
}
}
return
new
ArrayList
<>(
dailyLogDtos
.
values
());
}
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/SpDailyLog.java
0 → 100644
查看文件 @
ff1e87a
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* 每天的出入库数量统计
*/
@Data
public
class
SpDailyLog
implements
Serializable
{
@ApiModelProperty
(
"日期"
)
private
String
label
;
private
String
inoutType
;
private
String
storageName
;
private
int
value
;
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/dto/SpDailyLogDto.java
0 → 100644
查看文件 @
ff1e87a
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.lang.reflect.MalformedParameterizedTypeException
;
import
java.util.HashMap
;
@Data
public
class
SpDailyLogDto
implements
Serializable
{
@ApiModelProperty
(
"日期"
)
private
String
time
;
private
HashMap
<
String
,
Integer
>
typeCounts
;
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/query/SpReportQueryCondition.java
0 → 100644
查看文件 @
ff1e87a
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
@ApiModel
(
"查询条件"
)
public
class
SpReportQueryCondition
{
@QueryCondition
(
blurry
=
"barcode,partNumber,posName,sourceName,subSourceInfo,memo"
)
@ApiModelProperty
(
"模糊搜索"
)
private
String
blurry
;
@QueryCondition
@ApiModelProperty
(
"条码编号"
)
private
String
barcode
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
updateDate
;
@QueryCondition
@ApiModelProperty
(
"來源ID"
)
private
String
sourceId
;
@QueryCondition
@ApiModelProperty
(
"任务状态"
)
private
String
status
;
@QueryCondition
(
isDBId
=
true
)
@ApiModelProperty
(
"料仓Id"
)
private
String
storageId
;
@QueryCondition
@ApiModelProperty
(
"出入库类型"
)
private
Integer
type
;
@ApiModelProperty
(
"分组ID"
)
private
String
groupId
;
@ApiModelProperty
(
"CID数组"
)
private
String
[]
cids
;
@QueryCondition
@ApiModelProperty
(
"来源名称"
)
private
String
sourceName
;
@QueryCondition
@ApiModelProperty
(
"出入库类型"
)
private
String
inOutType
;
@QueryCondition
@ApiModelProperty
(
"操作人"
)
private
String
operator
;
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论