Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4ed50f7b
由
LN
编写于
2022-05-25 15:51:31 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加工单合单功能
1 个父辈
148fd00f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
233 行增加
和
4 行删除
src/main/java/com/neotel/smfcore/core/order/bean/OrderBoxInfo.java
src/main/java/com/neotel/smfcore/core/order/bean/OrderPosInfo.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderDto.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderRIPostDto.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderSheetDto.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.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
修改记录.txt
src/main/java/com/neotel/smfcore/core/order/bean/OrderBoxInfo.java
0 → 100644
查看文件 @
4ed50f7
package
com
.
neotel
.
smfcore
.
core
.
order
.
bean
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
OrderBoxInfo
implements
Serializable
{
/**
* 操作人
*/
private
String
operater
;
/**
* 箱子名
*/
private
String
boxName
;
}
src/main/java/com/neotel/smfcore/core/order/bean/OrderPosInfo.java
0 → 100644
查看文件 @
4ed50f7
package
com
.
neotel
.
smfcore
.
core
.
order
.
bean
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
OrderPosInfo
implements
Serializable
{
/**
* 位置名字
*/
private
String
position
;
/**
* 位置类型:1=首料,2=截料,3=备料,4=欠料
*/
private
int
type
;
}
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
4ed50f7
...
@@ -314,7 +314,7 @@ public class OrderController {
...
@@ -314,7 +314,7 @@ public class OrderController {
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"startOutTime"
);
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"startOutTime"
);
query
.
with
(
sort
);
query
.
with
(
sort
);
List
<
LiteOrder
>
orderList
=
liteOrderManager
.
findByQuery
(
query
);
List
<
LiteOrder
>
orderList
=
liteOrderManager
.
findByQuery
(
query
);
List
<
OrderDto
>
resultList
=
orderMapper
.
toDto
(
orderList
);
List
<
OrderDto
>
resultList
=
new
ArrayList
<>(
);
boolean
findOrder
=
false
;
boolean
findOrder
=
false
;
//只返回当前有任务的工单
//只返回当前有任务的工单
...
@@ -382,7 +382,7 @@ public class OrderController {
...
@@ -382,7 +382,7 @@ public class OrderController {
LiteOrder
preOrder
=
liteOrderCache
.
findOrderByNo
(
user
.
getCurrOrderNo
());
LiteOrder
preOrder
=
liteOrderCache
.
findOrderByNo
(
user
.
getCurrOrderNo
());
List
<
DataLog
>
preTasks
=
getOrderTaskByUser
(
user
,
preOrder
,
true
);
List
<
DataLog
>
preTasks
=
getOrderTaskByUser
(
user
,
preOrder
,
true
);
if
(
preTasks
.
size
()
>
0
)
{
if
(
preTasks
.
size
()
>
0
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.preNotEnd"
,
"工单["
+
preOrder
+
"]还有["
+
preTasks
.
size
()
+
"]个出库任务未结束"
,
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.preNotEnd"
,
"工单["
+
preOrder
.
getOrderNo
()
+
"]还有["
+
preTasks
.
size
()
+
"]个出库任务未结束"
,
new
String
[]{
user
.
getCurrOrderNo
(),
preTasks
.
size
()
+
""
});
new
String
[]{
user
.
getCurrOrderNo
(),
preTasks
.
size
()
+
""
});
}
}
}
}
...
@@ -483,9 +483,14 @@ public class OrderController {
...
@@ -483,9 +483,14 @@ public class OrderController {
}
}
//查询正在执行的工单列表
//查询正在执行的工单列表
List
<
String
>
myStorageIds
=
new
ArrayList
<>();
List
<
String
>
myStorageIds
=
new
ArrayList
<>();
if
(
user
!=
null
)
{
if
(
user
!=
null
)
{
Set
<
String
>
groupIds
=
user
.
getGroups
();
if
(
user
.
getUsername
().
equals
(
Constants
.
SUPER_USERNAME
)){
groupIds
.
add
(
""
);
}
for
(
String
groupId
:
for
(
String
groupId
:
user
.
getGroups
()
)
{
groupIds
)
{
List
<
String
>
storageIds
=
dataCache
.
getStorageIdsByGroupId
(
groupId
,
false
);
List
<
String
>
storageIds
=
dataCache
.
getStorageIdsByGroupId
(
groupId
,
false
);
myStorageIds
.
addAll
(
storageIds
);
myStorageIds
.
addAll
(
storageIds
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderSheetController.java
0 → 100644
查看文件 @
4ed50f7
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderDto.java
查看文件 @
4ed50f7
...
@@ -99,7 +99,17 @@ public class OrderDto implements Serializable {
...
@@ -99,7 +99,17 @@ public class OrderDto implements Serializable {
@ApiModelProperty
(
"是否是当前操作工单"
)
@ApiModelProperty
(
"是否是当前操作工单"
)
private
boolean
inOperate
=
false
;
private
boolean
inOperate
=
false
;
@ApiModelProperty
(
value
=
"总箱子数"
)
private
Integer
boxNum
;
@ApiModelProperty
(
value
=
"当前箱子数"
)
private
Integer
currBoxNum
;
@ApiModelProperty
(
value
=
"工单是否完成合单"
)
private
Boolean
sheetEnd
;
@ApiModelProperty
(
value
=
"工单是否欠料发料"
)
private
Boolean
shortageOut
;
// @ApiModelProperty("建议出仓时间")
// @ApiModelProperty("建议出仓时间")
// private Date sdate=new Date();
// private Date sdate=new Date();
...
...
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderRIPostDto.java
0 → 100644
查看文件 @
4ed50f7
package
com
.
neotel
.
smfcore
.
core
.
order
.
rest
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 工单合单页面,扫码获取料盘的工单信息及位置
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
OrderRIPostDto
{
@ApiModelProperty
(
value
=
"料盘条码"
)
private
String
barcode
;
@ApiModelProperty
(
value
=
"工单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"物料类型:1=首料,2=截料,3=备料,4=欠料"
)
private
int
riType
=
3
;
@ApiModelProperty
(
value
=
"总箱子数"
)
private
Integer
boxNum
;
@ApiModelProperty
(
value
=
"当前箱子数"
)
private
Integer
currBoxNum
;
@ApiModelProperty
(
value
=
"位置"
)
private
String
position
;
}
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderSheetDto.java
0 → 100644
查看文件 @
4ed50f7
package
com
.
neotel
.
smfcore
.
core
.
order
.
rest
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
OrderSheetDto
{
@ApiModelProperty
(
value
=
"ID"
)
private
String
id
;
@ApiModelProperty
(
"工单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"总箱子数"
)
private
Integer
boxNum
;
@ApiModelProperty
(
value
=
"当前箱子数"
)
private
Integer
currBoxNum
;
}
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
4ed50f7
...
@@ -2,6 +2,8 @@ package com.neotel.smfcore.core.order.service.po;
...
@@ -2,6 +2,8 @@ package com.neotel.smfcore.core.order.service.po;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.base.BasePo
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.order.bean.OrderBoxInfo
;
import
com.neotel.smfcore.core.order.bean.OrderPosInfo
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.core.order.enums.LITEORDER_STATUS
;
import
com.neotel.smfcore.hikvision.bean.HikOrderInfo
;
import
com.neotel.smfcore.hikvision.bean.HikOrderInfo
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -142,6 +144,41 @@ public class LiteOrder extends BasePo implements Serializable {
...
@@ -142,6 +144,41 @@ public class LiteOrder extends BasePo implements Serializable {
private
List
<
LiteOrderItem
>
orderItems
;
private
List
<
LiteOrderItem
>
orderItems
;
/**
* 绑定的箱子信息
*/
private
List
<
OrderBoxInfo
>
boxInfos
;
/**
* 工单位置信息
*/
private
List
<
OrderPosInfo
>
posInfos
;
/**
* 当前箱子数
*/
private
Integer
currBoxNum
;
/**
* 工单是否完成合单
*/
private
Boolean
sheetEnd
;
/**
* 工单是否欠料发料
*/
private
Boolean
shortageOut
;
/**
* 工单是否齐套(欠料出库才用)
*/
private
Boolean
complete
;
public
Integer
getBoxNum
(){
if
(
boxInfos
!=
null
){
return
boxInfos
.
size
();
}
return
0
;
}
public
void
setClosed
(
boolean
value
){
public
void
setClosed
(
boolean
value
){
this
.
closed
=
value
;
this
.
closed
=
value
;
...
@@ -249,4 +286,57 @@ public class LiteOrder extends BasePo implements Serializable {
...
@@ -249,4 +286,57 @@ public class LiteOrder extends BasePo implements Serializable {
}
}
return
null
;
return
null
;
}
}
public
boolean
hasBox
(
String
boxName
){
if
(
boxInfos
!=
null
){
for
(
OrderBoxInfo
box
:
boxInfos
)
{
if
(
box
.
getBoxName
().
equals
(
boxName
)){
return
true
;
}
}
}
return
false
;
}
public
void
addBox
(
OrderBoxInfo
boxInfo
){
if
(
boxInfos
==
null
){
boxInfos
=
new
ArrayList
<>();
}
boxInfos
.
add
(
boxInfo
);
}
public
String
getPosition
(
int
type
)
{
if
(
posInfos
==
null
){
return
""
;
}
for
(
OrderPosInfo
obj
:
posInfos
)
{
if
(
obj
.
getType
()==
type
){
return
obj
.
getPosition
();
}
}
return
""
;
}
public
String
getRITypeStr
(
int
type
){
// 1=首料,2=截料,3=备料,4=欠料
if
(
type
==
1
){
return
"首料"
;
}
else
if
(
type
==
2
){
return
"截料"
;
}
else
if
(
type
==
3
){
return
"备料"
;
}
else
if
(
type
==
4
){
return
"欠料"
;
}
return
""
;
}
public
void
addPos
(
int
type
,
String
position
)
{
if
(
posInfos
==
null
){
posInfos
=
new
ArrayList
<>();
}
posInfos
.
add
(
new
OrderPosInfo
(
position
,
type
));
}
}
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
4ed50f7
...
@@ -594,7 +594,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -594,7 +594,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
.
and
(
"id"
).
nin
(
excludePosIds
)
.
and
(
"id"
).
nin
(
excludePosIds
)
.
and
(
"enabled"
).
is
(
true
)
//可用
.
and
(
"enabled"
).
is
(
true
)
//可用
.
and
(
"barcode.lockId"
).
is
(
null
)
//没有被锁定的仓位;
.
and
(
"barcode.lockId"
).
is
(
null
)
//没有被锁定的仓位;
.
and
(
"barcode.lockMsl"
).
is
(
fals
e
);
//湿敏超期物料所在仓位锁定, 不允许备料
.
and
(
"barcode.lockMsl"
).
ne
(
tru
e
);
//湿敏超期物料所在仓位锁定, 不允许备料
if
(
storageIdList
!=
null
)
{
if
(
storageIdList
!=
null
)
{
c
=
c
.
and
(
"storageId"
).
in
(
storageIdList
);
c
=
c
.
and
(
"storageId"
).
in
(
storageIdList
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/service/manager/IDataLogManager.java
查看文件 @
4ed50f7
...
@@ -7,4 +7,6 @@ import java.util.List;
...
@@ -7,4 +7,6 @@ import java.util.List;
public
interface
IDataLogManager
extends
IBaseManager
<
DataLog
>
{
public
interface
IDataLogManager
extends
IBaseManager
<
DataLog
>
{
List
<
DataLog
>
findUnFinishedTasks
();
List
<
DataLog
>
findUnFinishedTasks
();
DataLog
findLastOutTask
(
String
barcode
);
}
}
src/main/java/com/neotel/smfcore/core/system/service/manager/impl/DataLogManagerImpl.java
查看文件 @
4ed50f7
...
@@ -8,6 +8,7 @@ import com.neotel.smfcore.core.system.service.manager.IDataLogManager;
...
@@ -8,6 +8,7 @@ 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
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.domain.Sort
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -63,4 +64,14 @@ public class DataLogManagerImpl implements IDataLogManager {
...
@@ -63,4 +64,14 @@ public class DataLogManagerImpl implements IDataLogManager {
}
}
return
unFinishedTasks
;
return
unFinishedTasks
;
}
}
@Override
public
DataLog
findLastOutTask
(
String
barcode
)
{
Query
query
=
new
Query
(
Criteria
.
where
(
"barcode"
).
is
(
barcode
));
query
.
addCriteria
(
Criteria
.
where
(
"outType"
).
is
(
10
));
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createDate"
);
query
.
with
(
sort
);
DataLog
dataLog
=
dataLogDao
.
findOne
(
query
);
return
dataLog
;
}
}
}
修改记录.txt
查看文件 @
4ed50f7
...
@@ -55,3 +55,17 @@ hik:
...
@@ -55,3 +55,17 @@ hik:
addr_9_updateRepOrderApi: http://192.168.0.0.1/mes/updateRepOrderApi
addr_9_updateRepOrderApi: http://192.168.0.0.1/mes/updateRepOrderApi
addr_10_reservedOrderApi: http://192.168.0.0.1/mes/reservedOrderApi
addr_10_reservedOrderApi: http://192.168.0.0.1/mes/reservedOrderApi
addr_11_orderEndApi: http://192.168.0.0.1/mes/orderEndApi
addr_11_orderEndApi: http://192.168.0.0.1/mes/orderEndApi
20220523更新:
1.唯一码验证bug修改(湿敏物料入库问题)。
2.元器件增加物料间距,uid查找增加间距区间。
3.接口异常默认根据更新时间倒序。
4.出库单出库完成显示出库中问题修改。
5.物料日志增加详细出入库类型查询。
20220526:周四需要更新:
1.元器件字段修改:截料设置盘数,安全库存盘数,补充盘数限制。
2.入库单增加凭证号,物料日志页面分来源一,来源二。
3.UID出库,增加物料编号,批次,供应商 查询。
4.齐套缺料改为:分开计算每个工单缺少多少盘, 然后最后把总盘数加起来
\ No newline at end of file
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论