Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d305cd13
由
LN
编写于
2023-02-24 09:22:27 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1053:1.过期物料增加导出。2.已取消的任务不能更新状态。
1 个父辈
2a622d86
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
145 行增加
和
3 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialStockController.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
查看文件 @
d305cd1
...
@@ -495,9 +495,9 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -495,9 +495,9 @@ public class RobotBoxHandler extends BaseDeviceHandler {
return
ResultBean
.
newErrorResult
(
302
,
"smfcore.task.hasEnd"
,
"任务已完成"
);
return
ResultBean
.
newErrorResult
(
302
,
"smfcore.task.hasEnd"
,
"任务已完成"
);
}
}
//
if (opTask.isCancel()) {
if
(
opTask
.
isCancel
())
{
// return ResultBean.newErrorResult(303, "smfcore.task.hasCancel", "更新状态时{0}的出库
任务[{1}]已被取消", new String[]{opTask.getBarcode(), opTask.getId()});
return
ResultBean
.
newErrorResult
(
303
,
"smfcore.task.hasCancel"
,
"更新状态时{0}的
任务[{1}]已被取消"
,
new
String
[]{
opTask
.
getBarcode
(),
opTask
.
getId
()});
//
}
}
statusStr
=
statusStr
.
toUpperCase
();
statusStr
=
statusStr
.
toUpperCase
();
String
inouType
=
opTask
.
isCheckOutTask
()?
"出库"
:
"入库"
;
String
inouType
=
opTask
.
isCheckOutTask
()?
"出库"
:
"入库"
;
log
.
info
(
"更新料盘["
+
barcode
+
"]的["
+
inouType
+
"]任务状态["
+
opTask
.
getStatus
()
+
"="
+
opTask
.
getLocInfo
()
+
"]为["
+
statusStr
+
"="
+
locInfo
+
"]"
);
log
.
info
(
"更新料盘["
+
barcode
+
"]的["
+
inouType
+
"]任务状态["
+
opTask
.
getStatus
()
+
"="
+
opTask
.
getLocInfo
()
+
"]为["
+
statusStr
+
"="
+
locInfo
+
"]"
);
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialStockController.java
查看文件 @
d305cd1
package
com
.
neotel
.
smfcore
.
core
.
storage
.
rest
;
package
com
.
neotel
.
smfcore
.
core
.
storage
.
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.PageData
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
...
@@ -34,6 +37,8 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -34,6 +37,8 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.*
;
@Slf4j
@Slf4j
...
@@ -107,7 +112,75 @@ public class MaterialStockController {
...
@@ -107,7 +112,75 @@ public class MaterialStockController {
List
<
StoragePosDto
>
StoragePosDtos
=
storagePosMapper
.
toDto
(
pages
.
getContent
());
List
<
StoragePosDto
>
StoragePosDtos
=
storagePosMapper
.
toDto
(
pages
.
getContent
());
return
new
PageData
(
StoragePosDtos
,
pages
.
getTotalElements
());
return
new
PageData
(
StoragePosDtos
,
pages
.
getTotalElements
());
}
}
@ApiOperation
(
"导出呆过期物料报表"
)
@GetMapping
(
value
=
"/expireMaterials/download"
)
@PreAuthorize
(
"@el.check('expireMaterials')"
)
public
void
expireMaterialsDownload
(
StoragePosFindCriteria
criteria
,
HttpServletResponse
response
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
IOException
{
if
(
criteria
.
getStorageId
()
!=
null
&&
criteria
.
getStorageId
().
equals
(
"0"
))
{
criteria
.
setStorageId
(
null
);
}
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
Criteria
baseCriteria
=
Criteria
.
where
(
"used"
).
is
(
true
);
if
(
criteria
.
getExpireDate
()
!=
null
&&
criteria
.
getExpireDate
().
getFrom
()
!=
null
&&
criteria
.
getExpireDate
().
getTo
()
!=
null
)
{
//根据过滤时间查询
}
else
{
//需要查询已经超过过期日期的物料
baseCriteria
.
and
(
"barcode.expireDate"
).
lte
(
new
Date
());
}
// baseCriteria.and("barcode.sluggishTime").gte(new Date());
query
.
addCriteria
(
baseCriteria
);
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
(
"获取呆滞物料列表"
)
@ApiOperation
(
"获取呆滞物料列表"
)
@GetMapping
(
value
=
"/sluggishMaterials"
)
@GetMapping
(
value
=
"/sluggishMaterials"
)
@PreAuthorize
(
"@el.check('sluggishMaterials')"
)
@PreAuthorize
(
"@el.check('sluggishMaterials')"
)
...
@@ -132,6 +205,75 @@ public class MaterialStockController {
...
@@ -132,6 +205,75 @@ public class MaterialStockController {
List
<
StoragePosDto
>
StoragePosDtos
=
storagePosMapper
.
toDto
(
pages
.
getContent
());
List
<
StoragePosDto
>
StoragePosDtos
=
storagePosMapper
.
toDto
(
pages
.
getContent
());
return
new
PageData
(
StoragePosDtos
,
pages
.
getTotalElements
());
return
new
PageData
(
StoragePosDtos
,
pages
.
getTotalElements
());
}
}
@ApiOperation
(
"导出呆滞物料报表"
)
@GetMapping
(
value
=
"/sluggishMaterials/download"
)
@PreAuthorize
(
"@el.check('sluggishMaterials')"
)
public
void
sluggishMaterialsDownload
(
StoragePosFindCriteria
criteria
,
HttpServletResponse
response
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
IOException
{
if
(
criteria
.
getStorageId
()
!=
null
&&
criteria
.
getStorageId
().
equals
(
"0"
))
{
criteria
.
setStorageId
(
null
);
}
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
Criteria
baseCriteria
=
Criteria
.
where
(
"used"
).
is
(
true
);
if
(
criteria
.
getSluggishTime
()
!=
null
&&
criteria
.
getSluggishTime
().
getFrom
()
!=
null
&&
criteria
.
getSluggishTime
().
getTo
()
!=
null
)
{
//根据过滤时间查询
}
else
{
//需要查询已经过呆滞日期的物料
baseCriteria
.
and
(
"barcode.sluggishTime"
).
exists
(
true
).
lte
(
new
Date
());
}
query
.
addCriteria
(
baseCriteria
);
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
;
}
});
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论