Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 04ec3da6
由
sunke
编写于
2022-07-26 14:15:15 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
EasyExcel分页导出
感应料架占用库位加入缓存 MES兼容旧接口
1 个父辈
7362a1d0
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
336 行增加
和
188 行删除
pom.xml
src/main/java/com/neotel/smfcore/common/base/BasePo.java
src/main/java/com/neotel/smfcore/common/base/IExcelDownLoad.java
src/main/java/com/neotel/smfcore/common/utils/FileUtil.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/storage/rest/MesApiController.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.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/haman/bean/BINPosInfo.java → src/main/java/com/neotel/smfcore/custom/haman/bean/BINPosInfo.java
src/main/java/com/neotel/smfcore/core/haman/enums/BIN_STATUS.java → src/main/java/com/neotel/smfcore/custom/haman/enums/BIN_STATUS.java
src/main/java/com/neotel/smfcore/core/haman/listener/HamanOrderFileListener.java → src/main/java/com/neotel/smfcore/custom/haman/listener/HamanOrderFileListener.java
src/main/java/com/neotel/smfcore/core/haman/rest/HamanController.java → src/main/java/com/neotel/smfcore/custom/haman/rest/HamanController.java
src/main/java/com/neotel/smfcore/core/haman/rest/PosOutputController.java → src/main/java/com/neotel/smfcore/custom/haman/rest/PosOutputController.java
src/main/java/com/neotel/smfcore/core/haman/rest/dto/BINPosDto.java → src/main/java/com/neotel/smfcore/custom/haman/rest/dto/BINPosDto.java
src/main/java/com/neotel/smfcore/core/haman/rest/mapstruct/BINPosMapper.java → src/main/java/com/neotel/smfcore/custom/haman/rest/mapstruct/BINPosMapper.java
src/main/java/com/neotel/smfcore/core/haman/rest/query/HamanBinQueryCondition.java → src/main/java/com/neotel/smfcore/custom/haman/rest/query/HamanBinQueryCondition.java
src/main/java/com/neotel/smfcore/core/haman/services/dao/IHamanBinPosDao.java → src/main/java/com/neotel/smfcore/custom/haman/services/dao/IHamanBinPosDao.java
src/main/java/com/neotel/smfcore/core/haman/services/dao/impl/HamanBinPosDaoImpl.java → src/main/java/com/neotel/smfcore/custom/haman/services/dao/impl/HamanBinPosDaoImpl.java
src/main/java/com/neotel/smfcore/core/haman/services/po/HamanBinPos.java → src/main/java/com/neotel/smfcore/custom/haman/services/po/HamanBinPos.java
pom.xml
查看文件 @
04ec3da
...
...
@@ -167,21 +167,21 @@
</dependency>
<!-- excel工具 -->
<dependency
>
<groupId>
org.apache.poi
</groupId
>
<artifactId>
poi
</artifactId
>
<version>
3.17
</version
>
</dependency
>
<dependency
>
<groupId>
org.apache.poi
</groupId
>
<artifactId>
poi-ooxml
</artifactId
>
<version>
3.17
</version
>
</dependency
>
<dependency
>
<groupId>
xerces
</groupId
>
<artifactId>
xercesImpl
</artifactId
>
<version>
2.12.0
</version
>
</dependency
>
<!-- <dependency>--
>
<!-- <groupId>org.apache.poi</groupId>--
>
<!-- <artifactId>poi</artifactId>--
>
<!-- <version>3.17</version>--
>
<!-- </dependency>--
>
<!-- <dependency>--
>
<!-- <groupId>org.apache.poi</groupId>--
>
<!-- <artifactId>poi-ooxml</artifactId>--
>
<!-- <version>3.17</version>--
>
<!-- </dependency>--
>
<!-- <dependency>--
>
<!-- <groupId>xerces</groupId>--
>
<!-- <artifactId>xercesImpl</artifactId>--
>
<!-- <version>2.12.0</version>--
>
<!-- </dependency>--
>
<!--mapStruct-->
<dependency>
<groupId>
org.mapstruct
</groupId>
...
...
@@ -235,6 +235,12 @@
<artifactId>
commons-httpclient
</artifactId>
<version>
3.1
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
3.1.1
</version>
</dependency>
</dependencies>
...
...
src/main/java/com/neotel/smfcore/common/base/BasePo.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
common
.
base
;
import
cn.hutool.core.date.DateUtil
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
...
...
src/main/java/com/neotel/smfcore/common/base/IExcelDownLoad.java
0 → 100644
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
common
.
base
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
java.util.List
;
public
interface
IExcelDownLoad
{
List
<
List
<
String
>>
getHeader
();
List
<
List
<
Object
>>
getPageData
(
Query
query
,
Pageable
pageable
);
}
src/main/java/com/neotel/smfcore/common/utils/FileUtil.java
查看文件 @
04ec3da
...
...
@@ -19,6 +19,10 @@ import cn.hutool.core.io.IoUtil;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.poi.excel.BigExcelWriter
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.neotel.smfcore.common.base.IExcelDownLoad
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -26,6 +30,9 @@ import org.apache.poi.util.IOUtils;
import
org.apache.poi.xssf.streaming.SXSSFSheet
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.ServletOutputStream
;
...
...
@@ -210,8 +217,63 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
}
/**
* 导出excel
* 分页导出Excel
* @param query
* @param pageable
* @param response
* @param excelDownLoad
* @throws IOException
*/
public
static
void
downloadExcel
(
Query
query
,
Pageable
pageable
,
HttpServletResponse
response
,
IExcelDownLoad
excelDownLoad
)
throws
IOException
{
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
response
.
setCharacterEncoding
(
"utf-8"
);
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
//String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20");
String
fileName
=
SYS_TEM_DIR
+
IdUtil
.
fastSimpleUUID
()
+
".xlsx"
;
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename*=utf-8''"
+
fileName
+
".xlsx"
);
// 这里 需要指定写用哪个class去写
try
(
ExcelWriter
excelWriter
=
EasyExcel
.
write
(
response
.
getOutputStream
()).
head
(
excelDownLoad
.
getHeader
()).
build
())
{
// 这里注意 如果同一个sheet只要创建一次
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"Sheet1"
).
build
();
// 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来
PageRequest
page
=
PageRequest
.
ofSize
(
10000
);
if
(
pageable
!=
null
){
page
.
withSort
(
pageable
.
getSort
());
}
while
(
true
){
List
<
List
<
Object
>>
data
=
excelDownLoad
.
getPageData
(
query
,
page
);
if
(
data
==
null
||
data
.
isEmpty
()){
break
;
}
excelWriter
.
write
(
data
,
writeSheet
);
page
=
page
.
next
();
}
}
}
/**
* 一次性导出excel
*/
public
static
void
downloadExcel
(
List
<
List
<
String
>>
headers
,
List
<
List
<
Object
>>
datas
,
HttpServletResponse
response
)
throws
IOException
{
// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
response
.
setCharacterEncoding
(
"utf-8"
);
// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
//String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20");
String
fileName
=
SYS_TEM_DIR
+
IdUtil
.
fastSimpleUUID
()
+
".xlsx"
;
response
.
setHeader
(
"Content-disposition"
,
"attachment;filename*=utf-8''"
+
fileName
+
".xlsx"
);
EasyExcel
.
write
(
response
.
getOutputStream
()).
sheet
(
"Sheet1"
).
head
(
headers
).
doWrite
(
datas
);
}
/**
* 使用分页导出Excel或者一次性导出Excel方法
*/
@Deprecated
public
static
void
downloadExcel
(
List
<
Map
<
String
,
Object
>>
list
,
HttpServletResponse
response
)
throws
IOException
{
String
tempPath
=
SYS_TEM_DIR
+
IdUtil
.
fastSimpleUUID
()
+
".xlsx"
;
File
file
=
new
File
(
tempPath
);
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
04ec3da
...
...
@@ -453,17 +453,12 @@ public class NLPShelfHandler extends BaseDeviceHandler{
@AnonymousAccess
public
ResultBean
shelfStatus
(
HttpServletRequest
request
){
String
cid
=
request
.
getParameter
(
"cid"
);
Storage
storage
=
dataCache
.
getStorage
(
cid
);
List
<
StoragePos
>
allPos
=
storagePosManager
.
findNotEmptyByStorageId
(
storage
.
getId
());
List
<
String
>
posList
=
new
ArrayList
<>();
for
(
StoragePos
pos
:
allPos
)
{
posList
.
add
(
pos
.
getPosName
());
}
List
<
String
>
posList
=
dataCache
.
getUsedPosNameList
(
cid
);
List
<
String
>
outTaskPosList
=
new
ArrayList
<>();
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
(
cid
);
for
(
DataLog
task
:
queueTasks
)
{
if
(
task
.
isCheckOutTask
()){
//只发执行中的任务
if
(
task
.
isCheckOutTask
()&&
task
.
isExecuting
()){
String
rgb
=
task
.
getLightColor
();
ORDER_COLOR
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
if
(
color
==
null
){
...
...
@@ -477,6 +472,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
Map
<
String
,
List
<
String
>>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"hasReelPosList"
,
posList
);
dataMap
.
put
(
"outTaskList"
,
outTaskPosList
);
//log.info("客户端获取["+cid+"]库位占用情况返回");
return
ResultBean
.
newOkResult
(
dataMap
);
}
...
...
@@ -488,12 +484,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
@AnonymousAccess
public
ResultBean
checkAll
(
HttpServletRequest
request
){
String
cid
=
request
.
getParameter
(
"cid"
);
Storage
storage
=
dataCache
.
getStorage
(
cid
);
List
<
StoragePos
>
allPos
=
storagePosManager
.
findNotEmptyByStorageId
(
storage
.
getId
());
List
<
String
>
posList
=
new
ArrayList
<>();
for
(
StoragePos
pos
:
allPos
)
{
posList
.
add
(
pos
.
getPosName
());
}
List
<
String
>
posList
=
dataCache
.
getUsedPosNameList
(
cid
);
return
ResultBean
.
newOkResult
(
posList
);
}
@Override
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
04ec3da
...
...
@@ -87,7 +87,10 @@ public class DataCache {
*/
private
static
Settings
settings
;
/**
* 库位占用Map, key为cid,value为已使用的库位列表
*/
private
static
Map
<
String
,
List
<
String
>>
usedPosNameMap
=
new
ConcurrentHashMap
<>();
@PostConstruct
public
void
initialize
()
{
...
...
@@ -379,6 +382,44 @@ public class DataCache {
/**
* 出库时清除使用库位列表
*/
private
void
removeUsedPosNameList
(
String
cid
,
String
posName
){
List
<
String
>
usedPosNameList
=
getUsedPosNameList
(
cid
);
usedPosNameList
.
remove
(
posName
);
usedPosNameMap
.
put
(
cid
,
usedPosNameList
);
}
/**
* 入库时增加使用库位列表
*/
private
void
addUsedPosNameList
(
String
cid
,
String
posName
){
List
<
String
>
usedPosNameList
=
getUsedPosNameList
(
cid
);
usedPosNameList
.
add
(
posName
);
usedPosNameMap
.
put
(
cid
,
usedPosNameList
);
}
/**
* 获取设备所有占用的库位名称列表
*/
public
List
<
String
>
getUsedPosNameList
(
String
cid
){
List
<
String
>
posNameList
=
usedPosNameMap
.
get
(
cid
);
if
(
posNameList
==
null
){
Storage
storage
=
getStorage
(
cid
);
posNameList
=
new
ArrayList
<>();
if
(
storage
!=
null
){
log
.
info
(
"加载["
+
cid
+
"]所有已使用库位到缓存"
);
List
<
StoragePos
>
allPos
=
storagePosManager
.
findNotEmptyByStorageId
(
storage
.
getId
());
for
(
StoragePos
pos
:
allPos
)
{
posNameList
.
add
(
pos
.
getPosName
());
}
usedPosNameMap
.
put
(
cid
,
posNameList
);
}
}
return
posNameList
;
}
/**
* 锁定库存
* @param cid
* @param partNumber 物料编号
...
...
@@ -636,11 +677,12 @@ public class DataCache {
//出库
amount
=
-
barcode
.
getAmount
();
storage
.
emptyOnePos
(
pos
);
removeUsedPosNameList
(
cid
,
pos
.
getPosName
());
}
else
{
//入库
amount
=
barcode
.
getAmount
();
storage
.
useOnePos
(
pos
);
addUsedPosNameList
(
cid
,
pos
.
getPosName
());
//入库单处理
if
(
ObjectUtil
.
isNotEmpty
(
storage
.
getInListName
())){
inListCache
.
UpdateInList
(
storage
.
getInListName
(),
pos
,
barcode
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MesApiController.java
查看文件 @
04ec3da
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
04ec3da
...
...
@@ -2,9 +2,12 @@ package com.neotel.smfcore.core.storage.rest;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.base.Strings
;
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
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.barcode.bean.CodeBean
;
...
...
@@ -44,6 +47,8 @@ import org.springframework.web.bind.annotation.*;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
@Slf4j
...
...
@@ -298,25 +303,72 @@ public class StoragePosController {
}
@ApiOperation
(
"导出查找出库列表"
)
@GetMapping
(
value
=
"/find/download"
)
@PreAuthorize
(
"@el.check('checkOut')"
)
public
void
download
(
HttpServletResponse
response
,
StoragePosFindCriteria
criteria
,
HttpServletRequest
request
)
throws
IOException
{
Query
query
=
getPosFindCriteria
(
criteria
);
List
<
StoragePos
>
storagePos
=
storagePosManager
.
findByQuery
(
query
);
storagePosManager
.
download
(
storagePos
,
response
,
request
.
getLocale
());
}
@ApiOperation
(
"查找出库列表"
)
@GetMapping
(
"/find"
)
@PreAuthorize
(
"@el.check('checkOut')"
)
public
PageData
<
StoragePosDto
>
storagePosFind
(
StoragePosFindCriteria
criteria
,
Pageable
pageable
,
HttpServletRequest
request
)
{
Query
query
=
getPosFindCriteria
(
criteria
);
PageData
<
StoragePos
>
pages
=
storagePosManager
.
findByPage
(
query
,
pageable
);
List
<
StoragePosDto
>
StoragePosDtos
=
storagePosMapper
.
toDto
(
pages
.
getContent
());
return
new
PageData
(
StoragePosDtos
,
pages
.
getTotalElements
());
}
@ApiOperation
(
"导出查找出库列表"
)
@GetMapping
(
value
=
"/find/download"
)
@PreAuthorize
(
"@el.check('checkOut')"
)
public
void
download
(
HttpServletResponse
response
,
StoragePosFindCriteria
criteria
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
IOException
{
Query
query
=
getPosFindCriteria
(
criteria
);
FileUtil
.
downloadExcel
(
query
,
pageable
,
response
,
new
IExcelDownLoad
()
{
@Override
public
List
<
List
<
String
>>
getHeader
()
{
List
<
List
<
String
>>
header
=
new
ArrayList
<>();
Locale
locale
=
request
.
getLocale
();
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.barcode"
,
locale
,
"条码编号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.partNumber"
,
locale
,
"物料编号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.proDate"
,
locale
,
"生产日期"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.expireDate"
,
locale
,
"过期时间"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.posName"
,
locale
,
"库位号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.lockName"
,
locale
,
"工单号"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.amount"
,
locale
,
"数量"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.putInTime"
,
locale
,
"首次入库时间"
)));
header
.
add
(
Lists
.
newArrayList
(
MessageUtils
.
getText
(
"smfcore.storagePos.putInDate"
,
locale
,
"入库时间"
)));
return
header
;
}
@Override
public
List
<
List
<
Object
>>
getPageData
(
Query
query
,
Pageable
pageable
)
{
List
<
List
<
Object
>>
dataList
=
new
ArrayList
<>();
DateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
List
<
StoragePos
>
storagePos
=
storagePosManager
.
findByQuery
(
query
,
pageable
);
for
(
StoragePos
pos
:
storagePos
)
{
String
proDate
=
pos
.
getBarcode
().
getProduceDate
()
==
null
?
""
:
dateFormat
.
format
(
pos
.
getBarcode
().
getProduceDate
());
String
expireDate
=
pos
.
getBarcode
().
getExpireDate
()
==
null
?
""
:
dateFormat
.
format
(
pos
.
getBarcode
().
getExpireDate
());
String
putInTime
=
(
pos
.
getBarcode
().
getPutInTime
()
==
-
1
)
?
""
:
dateFormat
.
format
(
new
Date
(
pos
.
getBarcode
().
getPutInTime
()));
if
(
ObjectUtil
.
isNotEmpty
(
putInTime
)){
putInTime
=
dateFormat
.
format
(
pos
.
getBarcode
().
getPutInDate
());
}
List
<
Object
>
data
=
new
ArrayList
<>();
data
.
add
(
pos
.
getBarcode
().
getBarcode
());
data
.
add
(
pos
.
getBarcode
().
getPartNumber
());
data
.
add
(
proDate
);
data
.
add
(
expireDate
);
data
.
add
(
pos
.
getPosName
());
data
.
add
(
pos
.
getBarcode
().
getLockName
());
data
.
add
(
pos
.
getBarcode
().
getAmount
());
data
.
add
(
putInTime
);
data
.
add
(
dateFormat
.
format
(
pos
.
getBarcode
().
getPutInDate
()));
dataList
.
add
(
data
);
}
return
dataList
;
}
});
}
@ApiOperation
(
"出库操作"
)
@PutMapping
(
"/checkout"
)
public
ResultBean
checkout
(
@Validated
@RequestBody
CheckOutDto
checkOutDto
)
{
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStoragePosManager.java
查看文件 @
04ec3da
...
...
@@ -8,6 +8,8 @@ import com.neotel.smfcore.core.storage.bean.InventoryItem;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
...
...
@@ -31,6 +33,8 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
StoragePos
findPartNumberInStorages
(
List
<
String
>
storageIdList
,
String
labelId
,
String
pn
,
Collection
<
String
>
excludePosIds
,
CHECKOUT_TYPE
checkOutType
);
List
<
StoragePos
>
findByQuery
(
Query
query
,
Pageable
pageable
);
void
removePosByStorageId
(
String
storageId
);
void
deletePoss
(
Set
<
String
>
ids
);
...
...
@@ -59,8 +63,6 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
public
void
updateBarcodeMsd
(
String
pn
,
String
msl
,
String
thickness
);
void
download
(
List
<
StoragePos
>
storagePos
,
HttpServletResponse
response
,
Locale
locale
)
throws
IOException
;
List
<
StoragePos
>
findPosList
(
String
storageId
,
List
<
String
>
posNames
);
List
<
StoragePos
>
getSameSizeContinuityEmptyPosList
(
Storage
storage
,
Barcode
barcode
)
throws
ValidateException
;
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
04ec3da
...
...
@@ -6,13 +6,9 @@ import com.google.common.collect.Lists;
import
com.google.common.collect.Maps
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.PointUtil
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.bean.PlateSizeBean
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
import
com.neotel.smfcore.core.storage.enums.COMPATIBLE_TYPE
;
...
...
@@ -20,7 +16,6 @@ import com.neotel.smfcore.core.storage.service.dao.IStoragePosDao;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.security.service.po.User
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -33,10 +28,6 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
...
...
@@ -308,6 +299,11 @@ public class StoragePosManagerImpl implements IStoragePosManager {
}
@Override
public
List
<
StoragePos
>
findByQuery
(
Query
query
,
Pageable
pageable
)
{
return
storagePosDao
.
findByQuery
(
query
,
pageable
);
}
@Override
public
List
<
StoragePos
>
findByQuery
(
Query
query
)
{
return
storagePosDao
.
findByQuery
(
query
);
}
...
...
@@ -503,43 +499,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
storagePosDao
.
updateMulti
(
query
,
Update
.
update
(
"barcode.thickness"
,
thickness
));
}
@Override
public
void
download
(
List
<
StoragePos
>
storagePos
,
HttpServletResponse
response
,
Locale
locale
)
throws
IOException
{
String
barcodeStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.barcode"
,
locale
,
"条码编号"
);
String
partNumberStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.partNumber"
,
locale
,
"物料编号"
);
String
proDateStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.proDate"
,
locale
,
"生产日期"
);
String
expireDateStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.expireDate"
,
locale
,
"过期时间"
);
String
posNameStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.posName"
,
locale
,
"库位号"
);
String
lockNameStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.lockName"
,
locale
,
"工单号"
);
String
amountStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.amount"
,
locale
,
"数量"
);
String
putInTimeStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.putInTime"
,
locale
,
"首次入库时间"
);
String
putInDateStr
=
MessageUtils
.
getText
(
"smfcore.storagePos.putInDate"
,
locale
,
"入库时间"
);
DateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:SS"
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
StoragePos
pos
:
storagePos
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
barcodeStr
,
pos
.
getBarcode
().
getBarcode
());
map
.
put
(
partNumberStr
,
pos
.
getBarcode
().
getPartNumber
());
String
proDate
=
pos
.
getBarcode
().
getProduceDate
()
==
null
?
""
:
dateFormat
.
format
(
pos
.
getBarcode
().
getProduceDate
());
map
.
put
(
proDateStr
,
proDate
);
map
.
put
(
expireDateStr
,
pos
.
getBarcode
().
getExpireDate
());
map
.
put
(
posNameStr
,
pos
.
getPosName
());
map
.
put
(
lockNameStr
,
pos
.
getBarcode
().
getLockName
());
map
.
put
(
amountStr
,
pos
.
getBarcode
().
getAmount
());
String
putInTime
=
(
pos
.
getBarcode
().
getPutInTime
()
==
-
1
)
?
""
:
dateFormat
.
format
(
new
Date
(
pos
.
getBarcode
().
getPutInTime
()));
if
(
ObjectUtil
.
isNotEmpty
(
putInTime
)){
putInTime
=
dateFormat
.
format
(
pos
.
getBarcode
().
getPutInDate
());
}
map
.
put
(
putInTimeStr
,
putInTime
);
map
.
put
(
putInDateStr
,
dateFormat
.
format
(
pos
.
getBarcode
().
getPutInDate
()));
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
/**
* 查找同尺寸连续的库位,合并库位放置料盘,仅用于智能料架
* @param storage
...
...
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
查看文件 @
04ec3da
...
...
@@ -3,8 +3,10 @@ package com.neotel.smfcore.core.system.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.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
...
...
@@ -35,6 +37,11 @@ import org.springframework.util.ObjectUtils;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
...
...
@@ -60,17 +67,8 @@ public class TaskController {
@Autowired
private
IUserManager
userManager
;
// @ApiOperation("导出用户数据")
// @GetMapping(value = "/download")
// @PreAuthorize("@el.check('user:list')")
// public void download(HttpServletResponse response, UserQueryCriteria criteria) throws IOException {
// userService.download(userService.queryAll(criteria), response);
// }
@ApiOperation
(
"查询出入库日志"
)
@GetMapping
(
"/history"
)
@PreAuthorize
(
"@el.check('taskLog')"
)
public
PageData
<
TaskDto
>
query
(
TaskQueryCondition
criteria
,
Pageable
pageable
)
{
private
Query
getQuery
(
TaskQueryCondition
criteria
){
String
un_End
=
"UN_END"
;
boolean
unEnd
=
false
;
boolean
finished
=
false
;
...
...
@@ -88,12 +86,76 @@ public class TaskController {
}
else
if
(
finished
){
query
.
addCriteria
(
Criteria
.
where
(
"status"
).
in
(
OP_STATUS
.
END
.
name
(),
OP_STATUS
.
FINISHED
.
name
()));
}
// query.with(Sort.by(Sort.Direction.DESC,"updateDate","createDate"));
return
query
;
}
@ApiOperation
(
"查询出入库日志"
)
@GetMapping
(
"/history"
)
@PreAuthorize
(
"@el.check('taskLog')"
)
public
PageData
<
TaskDto
>
query
(
TaskQueryCondition
criteria
,
Pageable
pageable
)
{
Query
query
=
getQuery
(
criteria
);
PageData
<
DataLog
>
taskList
=
dataLogManager
.
findByPage
(
query
,
pageable
);
PageData
<
TaskDto
>
result
=
taskMapper
.
toDto
(
taskList
);
return
result
;
}
@ApiOperation
(
"导出查找出入库日志"
)
@GetMapping
(
value
=
"/history/download"
)
@PreAuthorize
(
"@el.check('taskLog')"
)
public
void
download
(
HttpServletResponse
response
,
TaskQueryCondition
criteria
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
IOException
{
Query
query
=
getQuery
(
criteria
);
//dataLogManager.download(query, pageable, response,request.getLocale());
// FileUtil.downloadExcel(query, pageable, response, new IExcelDownLoad() {
// @Override
// public List<List<String>> getHeader() {
// List<List<String>> header = new ArrayList<>();
// header.add(Lists.newArrayList("类型"));
// header.add(Lists.newArrayList("单号"));
// header.add(Lists.newArrayList("料仓名称"));
// header.add(Lists.newArrayList("条码编号"));
// header.add(Lists.newArrayList("料件编号"));
// header.add(Lists.newArrayList("批次"));
// header.add(Lists.newArrayList("数量"));
// header.add(Lists.newArrayList("用户"));
//
// header.add(Lists.newArrayList("供应商"));
// header.add(Lists.newArrayList("来源二"));
// header.add(Lists.newArrayList("状态"));
// header.add(Lists.newArrayList("更新时间"));
// return header;
// }
//
// @Override
// public List<List<Object>> getPageData(Query query, Pageable pageable) {
// List<List<Object>> dataList = new ArrayList<>();
// List<DataLog> dataLogList = dataLogManager.findByQuery(query, pageable);
// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// for (DataLog dataLog : dataLogList) {
// List<Object> data = new ArrayList<>();
//
// data.add(dataLog.getDetailTypeStr());//"类型"
// data.add(dataLog.getSourceName());//"单号"
// 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
(
"获取某个分组队列中的任务"
)
@AnonymousGetMapping
(
"/{groupId}"
)
public
List
<
TaskDto
>
groupTask
(
@PathVariable
String
groupId
){
...
...
src/main/java/com/neotel/smfcore/core/system/service/dao/IDataLogDao.java
查看文件 @
04ec3da
...
...
@@ -2,6 +2,7 @@ package com.neotel.smfcore.core.system.service.dao;
import
com.neotel.smfcore.common.base.IBaseDao
;
import
com.neotel.smfcore.core.report.bean.ChartItem
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -10,4 +11,6 @@ public interface IDataLogDao extends IBaseDao {
List
<
ChartItem
>
putInChart
(
Date
startDay
,
Date
endDay
,
String
partNumber
);
List
<
ChartItem
>
checkOutChart
(
Date
startDay
,
Date
endDay
,
String
partNumber
);
List
<
DataLog
>
findHistory
(
String
bid
,
int
num
);
}
src/main/java/com/neotel/smfcore/core/system/service/dao/impl/DataLogDaoImpl.java
查看文件 @
04ec3da
...
...
@@ -8,9 +8,11 @@ import com.neotel.smfcore.core.report.bean.ChartItem;
import
com.neotel.smfcore.core.system.service.dao.IDataLogDao
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.aggregation.Aggregation
;
import
org.springframework.data.mongodb.core.aggregation.AggregationResults
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
...
...
@@ -51,5 +53,17 @@ public class DataLogDaoImpl extends AbstractBaseDao implements IDataLogDao {
return
results
.
getMappedResults
();
}
@Override
public
List
<
DataLog
>
findHistory
(
String
barcode
,
int
num
)
{
Criteria
c
=
new
Criteria
();
if
(
barcode
!=
null
&&
!
barcode
.
isEmpty
()){
c
.
and
(
"barcode"
).
is
(
barcode
);
}
Query
q
=
Query
.
query
(
c
);
q
.
limit
(
num
);
q
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"updateDate"
));
return
findByQuery
(
q
);
}
}
src/main/java/com/neotel/smfcore/c
ore
/haman/bean/BINPosInfo.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/bean/BINPosInfo.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
bean
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
bean
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/enums/BIN_STATUS.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/enums/BIN_STATUS.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
enums
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
enums
;
public
class
BIN_STATUS
{
/**
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/listener/HamanOrderFileListener.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/listener/HamanOrderFileListener.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
listener
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
listener
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.csv.CsvReader
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.haman.services.dao.IHamanBinPosDao
;
import
com.neotel.smfcore.core.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.custom.haman.services.dao.IHamanBinPosDao
;
import
com.neotel.smfcore.custom.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.core.order.listener.DefaultOrderFileListener
;
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
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/rest/HamanController.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/rest/HamanController.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
rest
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
rest
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.csv.CsvReader
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.haman.bean.BINPosInfo
;
import
com.neotel.smfcore.core.haman.enums.BIN_STATUS
;
import
com.neotel.smfcore.core.haman.rest.dto.BINPosDto
;
import
com.neotel.smfcore.core.haman.rest.mapstruct.BINPosMapper
;
import
com.neotel.smfcore.core.haman.rest.query.HamanBinQueryCondition
;
import
com.neotel.smfcore.core.haman.services.dao.IHamanBinPosDao
;
import
com.neotel.smfcore.core.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.core.inList.rest.bean.dto.InListDto
;
import
com.neotel.smfcore.core.inList.rest.bean.query.InListQueryCondition
;
import
com.neotel.smfcore.core.inList.service.po.InList
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.custom.haman.enums.BIN_STATUS
;
import
com.neotel.smfcore.custom.haman.rest.dto.BINPosDto
;
import
com.neotel.smfcore.custom.haman.rest.mapstruct.BINPosMapper
;
import
com.neotel.smfcore.custom.haman.rest.query.HamanBinQueryCondition
;
import
com.neotel.smfcore.custom.haman.services.dao.IHamanBinPosDao
;
import
com.neotel.smfcore.custom.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.order.rest.bean.dto.OrderDto
;
import
com.neotel.smfcore.core.order.rest.bean.query.OrderQueryCondition
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.bean.FileProperties
;
import
com.neotel.smfcore.security.service.po.Group
;
import
com.neotel.smfcore.security.service.po.User
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -41,14 +22,9 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.logging.log4j.util.Strings
;
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.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.File
;
import
java.text.DecimalFormat
;
import
java.util.*
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/rest/PosOutputController.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/rest/PosOutputController.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
rest
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
rest
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.csv.CsvReader
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.haman.bean.BINPosInfo
;
import
com.neotel.smfcore.core.haman.rest.dto.BINPosDto
;
import
com.neotel.smfcore.core.haman.rest.mapstruct.BINPosMapper
;
import
com.neotel.smfcore.custom.haman.bean.BINPosInfo
;
import
com.neotel.smfcore.custom.haman.rest.mapstruct.BINPosMapper
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
com.neotel.smfcore.security.TokenProvider
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
...
...
@@ -21,16 +17,12 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.bytebuddy.asm.Advice
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.File
;
import
java.text.DecimalFormat
;
import
java.util.*
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/rest/dto/BINPosDto.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/rest/dto/BINPosDto.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
rest
.
dto
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
rest
.
dto
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.c
ore
.haman.enums.BIN_STATUS
;
import
com.neotel.smfcore.c
ustom
.haman.enums.BIN_STATUS
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/rest/mapstruct/BINPosMapper.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/rest/mapstruct/BINPosMapper.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
rest
.
mapstruct
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
rest
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.core.haman.bean.BINPosInfo
;
import
com.neotel.smfcore.core.haman.rest.dto.BINPosDto
;
import
com.neotel.smfcore.core.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.custom.haman.rest.dto.BINPosDto
;
import
com.neotel.smfcore.custom.haman.services.po.HamanBinPos
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/rest/query/HamanBinQueryCondition.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/rest/query/HamanBinQueryCondition.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
rest
.
query
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
rest
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
HamanBinQueryCondition
{
@QueryCondition
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/services/dao/IHamanBinPosDao.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/services/dao/IHamanBinPosDao.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
services
.
dao
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
services
.
dao
;
import
com.neotel.smfcore.common.base.IBaseDao
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.core.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.core.inList.service.po.InList
;
import
com.neotel.smfcore.custom.haman.services.po.HamanBinPos
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/services/dao/impl/HamanBinPosDaoImpl.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/services/dao/impl/HamanBinPosDaoImpl.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
services
.
dao
.
impl
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
services
.
dao
.
impl
;
import
com.neotel.smfcore.common.base.AbstractBaseDao
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.haman.enums.BIN_STATUS
;
import
com.neotel.smfcore.core.haman.services.dao.IHamanBinPosDao
;
import
com.neotel.smfcore.core.haman.services.po.HamanBinPos
;
import
com.neotel.smfcore.core.inList.service.po.InList
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.custom.haman.enums.BIN_STATUS
;
import
com.neotel.smfcore.custom.haman.services.dao.IHamanBinPosDao
;
import
com.neotel.smfcore.custom.haman.services.po.HamanBinPos
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
...
...
src/main/java/com/neotel/smfcore/c
ore
/haman/services/po/HamanBinPos.java
→
src/main/java/com/neotel/smfcore/c
ustom
/haman/services/po/HamanBinPos.java
查看文件 @
04ec3da
package
com
.
neotel
.
smfcore
.
c
ore
.
haman
.
services
.
po
;
package
com
.
neotel
.
smfcore
.
c
ustom
.
haman
.
services
.
po
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.barcode.enums.BARCODE_STATUS
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.enums.SOLDER_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.c
ore
.haman.enums.BIN_STATUS
;
import
com.neotel.smfcore.c
ustom
.haman.enums.BIN_STATUS
;
import
lombok.Data
;
import
org.springframework.data.annotation.Transient
;
import
org.springframework.data.mongodb.core.mapping.Document
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
@Data
@Document
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论