Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d6b2d97c
由
sunke
编写于
2023-02-13 10:22:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
哈曼出入库日志导出
1 个父辈
84015f9c
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
113 行增加
和
53 行删除
src/main/java/com/neotel/smfcore/common/base/AbstractBaseDao.java
src/main/java/com/neotel/smfcore/common/base/IBaseDao.java
src/main/java/com/neotel/smfcore/common/utils/DateUtil.java
src/main/java/com/neotel/smfcore/common/utils/FileUtil.java
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.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/common/base/AbstractBaseDao.java
查看文件 @
d6b2d97
...
@@ -62,6 +62,17 @@ public abstract class AbstractBaseDao implements IBaseDao {
...
@@ -62,6 +62,17 @@ public abstract class AbstractBaseDao implements IBaseDao {
}
}
@Override
@Override
public
<
T
extends
BasePo
>
T
findOneByCondition
(
String
key
,
String
value
)
{
return
findOneByCondition
(
new
String
[]{
key
},
new
String
[]{
value
});
}
@Override
public
<
T
extends
BasePo
>
List
<
T
>
findListByCondition
(
String
key
,
String
value
)
{
return
findListByCondition
(
new
String
[]{
key
},
new
String
[]{
value
});
}
@Override
public
<
T
extends
BasePo
>
T
findOneByCondition
(
String
[]
keys
,
String
[]
values
)
{
public
<
T
extends
BasePo
>
T
findOneByCondition
(
String
[]
keys
,
String
[]
values
)
{
if
(
keys
.
length
!=
values
.
length
||
keys
.
length
==
0
)
{
if
(
keys
.
length
!=
values
.
length
||
keys
.
length
==
0
)
{
return
null
;
return
null
;
...
@@ -75,6 +86,7 @@ public abstract class AbstractBaseDao implements IBaseDao {
...
@@ -75,6 +86,7 @@ public abstract class AbstractBaseDao implements IBaseDao {
return
(
T
)
getMongoTemplate
().
findOne
(
query
,
getEntityClass
());
return
(
T
)
getMongoTemplate
().
findOne
(
query
,
getEntityClass
());
}
}
@Override
public
<
T
extends
BasePo
>
List
<
T
>
findListByCondition
(
String
[]
keys
,
String
[]
values
)
{
public
<
T
extends
BasePo
>
List
<
T
>
findListByCondition
(
String
[]
keys
,
String
[]
values
)
{
if
(
keys
.
length
!=
values
.
length
||
keys
.
length
==
0
)
{
if
(
keys
.
length
!=
values
.
length
||
keys
.
length
==
0
)
{
return
null
;
return
null
;
...
...
src/main/java/com/neotel/smfcore/common/base/IBaseDao.java
查看文件 @
d6b2d97
...
@@ -21,6 +21,10 @@ public interface IBaseDao {
...
@@ -21,6 +21,10 @@ public interface IBaseDao {
<
T
extends
BasePo
>
T
findOne
(
Query
query
);
<
T
extends
BasePo
>
T
findOne
(
Query
query
);
<
T
extends
BasePo
>
T
findOneByCondition
(
String
key
,
String
value
);
<
T
extends
BasePo
>
List
<
T
>
findListByCondition
(
String
key
,
String
value
);
public
<
T
extends
BasePo
>
T
findOneByCondition
(
String
[]
keys
,
String
[]
values
);
public
<
T
extends
BasePo
>
T
findOneByCondition
(
String
[]
keys
,
String
[]
values
);
public
<
T
extends
BasePo
>
List
<
T
>
findListByCondition
(
String
[]
keys
,
String
[]
values
);
public
<
T
extends
BasePo
>
List
<
T
>
findListByCondition
(
String
[]
keys
,
String
[]
values
);
...
...
src/main/java/com/neotel/smfcore/common/utils/DateUtil.java
查看文件 @
d6b2d97
...
@@ -97,12 +97,30 @@ public class DateUtil {
...
@@ -97,12 +97,30 @@ public class DateUtil {
/**
/**
* 获取距离今天dayFromToday 天的不带时间的日期(今天是0,昨天是-1,明天是1)
* 获取距离今天dayFromToday 天的不带时间的日期(今天是0,昨天是-1,明天是1)
*/
*/
public
static
Date
getNoTime
FromToday
(
int
dayFromToday
){
public
static
Date
addDays
FromToday
(
int
dayFromToday
){
Calendar
c
=
noTimeCalendar
();
Calendar
c
=
noTimeCalendar
();
c
.
add
(
Calendar
.
DAY_OF_YEAR
,
dayFromToday
);
c
.
add
(
Calendar
.
DAY_OF_YEAR
,
dayFromToday
);
return
c
.
getTime
();
return
c
.
getTime
();
}
}
/**
* 获取距离今天monthFromToday 月的不带时间的日期
*/
public
static
Date
addMonthsFromToday
(
int
monthFromToday
){
Calendar
c
=
noTimeCalendar
();
c
.
add
(
Calendar
.
MONTH
,
monthFromToday
);
return
c
.
getTime
();
}
/**
* 获取距离今天yearFromToday 年的不带时间的日期
*/
public
static
Date
addYearsFromToday
(
int
yearFromToday
){
Calendar
c
=
noTimeCalendar
();
c
.
add
(
Calendar
.
YEAR
,
yearFromToday
);
return
c
.
getTime
();
}
private
static
Calendar
noTimeCalendar
(){
private
static
Calendar
noTimeCalendar
(){
Calendar
c
=
Calendar
.
getInstance
();
Calendar
c
=
Calendar
.
getInstance
();
c
.
set
(
Calendar
.
HOUR
,
0
);
c
.
set
(
Calendar
.
HOUR
,
0
);
...
...
src/main/java/com/neotel/smfcore/common/utils/FileUtil.java
查看文件 @
d6b2d97
...
@@ -242,11 +242,22 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
...
@@ -242,11 +242,22 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
if
(
pageable
!=
null
){
if
(
pageable
!=
null
){
page
.
withSort
(
pageable
.
getSort
());
page
.
withSort
(
pageable
.
getSort
());
}
}
//Excel一个Sheet允许最大行数为1048575
int
totalCount
=
0
;
int
currentSheet
=
1
;
while
(
true
){
while
(
true
){
List
<
List
<
Object
>>
data
=
excelDownLoad
.
getPageData
(
query
,
page
);
List
<
List
<
Object
>>
data
=
excelDownLoad
.
getPageData
(
query
,
page
);
if
(
data
==
null
||
data
.
isEmpty
()){
if
(
data
==
null
||
data
.
isEmpty
()){
log
.
info
(
"导出完成,共有["
+
totalCount
+
"]条数据"
);
break
;
break
;
}
}
totalCount
=
totalCount
+
data
.
size
();
int
sheetIndex
=
totalCount
/
1000000
+
1
;
if
(
sheetIndex
!=
currentSheet
){
log
.
info
(
"Sheet"
+
currentSheet
+
"已写入["
+
totalCount
+
"]行数据,开始写入到Sheet"
+
sheetIndex
);
currentSheet
=
sheetIndex
;
writeSheet
=
EasyExcel
.
writerSheet
(
"Sheet"
+
sheetIndex
).
build
();
}
excelWriter
.
write
(
data
,
writeSheet
);
excelWriter
.
write
(
data
,
writeSheet
);
page
=
page
.
next
();
page
=
page
.
next
();
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
查看文件 @
d6b2d97
...
@@ -11,7 +11,10 @@ import com.neotel.smfcore.common.utils.QueryHelp;
...
@@ -11,7 +11,10 @@ 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.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.language.service.nanager.ILanguageMsgManager
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.rest.bean.dto.TaskDto
;
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.rest.bean.mapstruct.TaskMapper
;
import
com.neotel.smfcore.core.system.rest.bean.query.TaskQueryCondition
;
import
com.neotel.smfcore.core.system.rest.bean.query.TaskQueryCondition
;
...
@@ -42,9 +45,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -42,9 +45,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Set
;
@Slf4j
@Slf4j
...
@@ -55,6 +56,9 @@ import java.util.Set;
...
@@ -55,6 +56,9 @@ import java.util.Set;
public
class
TaskController
{
public
class
TaskController
{
@Autowired
@Autowired
ILanguageMsgManager
languageMsgManager
;
@Autowired
private
TaskService
taskService
;
private
TaskService
taskService
;
@Autowired
@Autowired
...
@@ -106,56 +110,58 @@ public class TaskController {
...
@@ -106,56 +110,58 @@ public class TaskController {
@PreAuthorize
(
"@el.check('taskLog')"
)
@PreAuthorize
(
"@el.check('taskLog')"
)
public
void
download
(
HttpServletResponse
response
,
TaskQueryCondition
criteria
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
IOException
{
public
void
download
(
HttpServletResponse
response
,
TaskQueryCondition
criteria
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
IOException
{
Query
query
=
getQuery
(
criteria
);
Query
query
=
getQuery
(
criteria
);
Locale
locale
=
request
.
getLocale
();
log
.
info
(
"开始导出出入库日志"
);
FileUtil
.
downloadExcel
(
query
,
pageable
,
response
,
new
IExcelDownLoad
()
{
@Override
public
List
<
List
<
String
>>
getHeader
()
{
List
<
List
<
String
>>
header
=
new
ArrayList
<>();
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.barcode"
,
locale
,
"条码编号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.partNumber"
,
locale
,
"料件编号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.posName"
,
locale
,
"料仓名称"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.amount"
,
locale
,
"数量"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.type"
,
locale
,
"类型"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.orderSource"
,
locale
,
"来源"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.status"
,
locale
,
"状态"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.operator"
,
locale
,
"操作人"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.createDate"
,
locale
,
"创建时间"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getSmfClientMsg
(
"smfclient.NeoLight.updateDate"
,
locale
,
"更新时间"
)));
return
header
;
}
//dataLogManager.download(query, pageable, response,request.getLocale());
@Override
public
List
<
List
<
Object
>>
getPageData
(
Query
query
,
Pageable
pageable
)
{
// FileUtil.downloadExcel(query, pageable, response, new IExcelDownLoad() {
List
<
List
<
Object
>>
dataList
=
new
ArrayList
<>();
// @Override
DateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
// public List<List<String>> getHeader() {
List
<
DataLog
>
dataLogs
=
dataLogManager
.
findByQuery
(
query
,
pageable
);
// List<List<String>> header = new ArrayList<>();
for
(
DataLog
dataLog
:
dataLogs
)
{
// header.add(Lists.newArrayList("类型"));
// header.add(Lists.newArrayList("单号"));
String
createDate
=
dateFormat
.
format
(
dataLog
.
getCreateDate
());
// header.add(Lists.newArrayList("料仓名称"));
String
updateDate
=
dateFormat
.
format
(
dataLog
.
getUpdateDate
());
// header.add(Lists.newArrayList("条码编号"));
// header.add(Lists.newArrayList("料件编号"));
List
<
Object
>
data
=
new
ArrayList
<>();
// header.add(Lists.newArrayList("批次"));
data
.
add
(
dataLog
.
getBarcode
());
// header.add(Lists.newArrayList("数量"));
data
.
add
(
dataLog
.
getPartNumber
());
// header.add(Lists.newArrayList("用户"));
data
.
add
(
dataLog
.
getPosName
()
+
" "
+
dataLog
.
getStorageName
());
//
data
.
add
(
dataLog
.
getNum
());
// header.add(Lists.newArrayList("供应商"));
String
typeKey
=
"NeoLight.logType."
+
dataLog
.
getType
();
// header.add(Lists.newArrayList("来源二"));
String
typeMsg
=
MessageUtils
.
getSmfClientMsg
(
typeKey
,
locale
,
typeKey
);
// header.add(Lists.newArrayList("状态"));
data
.
add
(
typeMsg
);
// header.add(Lists.newArrayList("更新时间"));
data
.
add
(
dataLog
.
getSourceName
());
// return header;
String
status
=
dataLog
.
getStatus
().
toLowerCase
();
// }
String
statusKey
=
"NeoLight.logStatus."
+
status
;
//
String
statusMsg
=
MessageUtils
.
getSmfClientMsg
(
statusKey
,
locale
,
statusKey
);
// @Override
data
.
add
(
statusMsg
);
// public List<List<Object>> getPageData(Query query, Pageable pageable) {
data
.
add
(
dataLog
.
getOperator
());
// List<List<Object>> dataList = new ArrayList<>();
data
.
add
(
createDate
);
// List<DataLog> dataLogList = dataLogManager.findByQuery(query, pageable);
data
.
add
(
updateDate
);
// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dataList
.
add
(
data
);
// for (DataLog dataLog : dataLogList) {
}
// List<Object> data = new ArrayList<>();
return
dataList
;
//
}
// data.add(dataLog.getDetailTypeStr());//"类型"
});
// data.add(dataLog.getSourceName());//"单号"
log
.
info
(
"出入库日志导出完成"
);
// data.add(dataLog.getPosName());//"料仓名称"
// data.add(dataLog.getBarcode());//"条码编号"
// data.add(dataLog.getPartNumber());//"料件编号"
// data.add(dataLog.getBatchInfo());//"批次"
// data.add(dataLog.getReelQty());//"数量"
// data.add(dataLog.getOperator());//"用户"
//
// data.add(dataLog.getProvider());//"供应商"
// data.add(dataLog.getSubSourceInfo());//"来源二"
// data.add(dataLog.getStatusStr());//"状态"
// String updateTimeStr = dateFormat.format(dataLog.getUpdateDate());
// data.add(updateTimeStr);//"更新时间"
// dataList.add(data);
// }
// return dataList;
// }
// });
}
}
@ApiOperation
(
"获取某个分组队列中的任务"
)
@ApiOperation
(
"获取某个分组队列中的任务"
)
...
...
src/main/java/com/neotel/smfcore/core/system/service/manager/IDataLogManager.java
查看文件 @
d6b2d97
...
@@ -3,11 +3,15 @@ package com.neotel.smfcore.core.system.service.manager;
...
@@ -3,11 +3,15 @@ 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
com.neotel.smfcore.custom.micron20031.bean.SpDailyLog
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
java.util.Date
;
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
>
findByQuery
(
Query
query
,
Pageable
pageable
);
List
<
DataLog
>
findUnFinishedTasks
();
List
<
DataLog
>
findUnFinishedTasks
();
List
<
SpDailyLog
>
getSpDailyLogs
(
Date
start
,
Date
end
,
String
inoutType
);
List
<
SpDailyLog
>
getSpDailyLogs
(
Date
start
,
Date
end
,
String
inoutType
);
...
...
src/main/java/com/neotel/smfcore/core/system/service/manager/impl/DataLogManagerImpl.java
查看文件 @
d6b2d97
...
@@ -47,6 +47,11 @@ public class DataLogManagerImpl implements IDataLogManager {
...
@@ -47,6 +47,11 @@ public class DataLogManagerImpl implements IDataLogManager {
}
}
@Override
@Override
public
List
<
DataLog
>
findByQuery
(
Query
query
,
Pageable
pageable
)
{
return
dataLogDao
.
findByQuery
(
query
,
pageable
);
}
@Override
public
List
<
DataLog
>
findByQuery
(
Query
query
)
{
public
List
<
DataLog
>
findByQuery
(
Query
query
)
{
return
dataLogDao
.
findByQuery
(
query
);
return
dataLogDao
.
findByQuery
(
query
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论