Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
19fc45c7
Commit
19fc45c7
authored
Dec 05, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增单据从创建到记账的过程log业务接口
parent
9540231b
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
220 行增加
和
21 行删除
+220
-21
OrderLogDto.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/OrderLogDto.java
+88
-0
OutAndInboundController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/OutAndInboundController.java
+11
-0
OrderLog.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/OrderLog.java
+7
-0
OrderLogService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/OrderLogService.java
+5
-0
InventorySummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventorySummaryServiceImpl.java
+5
-5
LogSummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
+32
-8
OrderLogServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderLogServiceImpl.java
+28
-0
OrderMainServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
+43
-7
InvOverDueMsg.java
jyzb-biz/src/main/java/com/junmp/jyzb/task/InvOverDueMsg.java
+1
-1
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/OrderLogDto.java
0 → 100644
View file @
19fc45c7
package
com
.
junmp
.
jyzb
.
api
.
bean
.
dto
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
OrderLogDto
{
/**
* 主键
*/
private
String
id
;
/**
* 单据类型(in入库单,out出库单)
*/
private
String
orderType
;
/**
* 单据业务类型
*/
private
String
bussinessType
;
/**
* 单据id(对应order_main)
*/
private
String
orderId
;
/**
* 操作记录(upload上传消息)
*/
private
String
historyMsg
;
/**
* 组织机构id
*/
private
Long
orgId
;
/**
* 组织机构名称
*/
private
String
orgName
;
/**
* 单据单号
*/
private
String
orderCode
;
/**
* 应入/出库数量
*/
private
Integer
inventoryQuantity
;
/**
* 实际数量
*/
private
Integer
actualQuantity
;
/**
* 修改后数量
*/
private
Integer
updateQuantity
;
/**
* 创建时间
*/
private
Date
createTime
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 创建人员
*/
private
String
createUser
;
/**
* 修改人员
*/
private
String
updateUser
;
/**
* 过程事件(创建单据createOrder,出入库OutAndIn,记账accounting)
*/
private
String
processType
;
}
jyzb-biz/src/main/java/com/junmp/jyzb/controller/OutAndInboundController.java
View file @
19fc45c7
package
com
.
junmp
.
jyzb
.
controller
;
import
com.junmp.jyzb.api.bean.dto.LogDetailDto
;
import
com.junmp.jyzb.api.bean.dto.OrderLogDto
;
import
com.junmp.jyzb.api.bean.query.InAndOutRecordReq.OutInLogsReq
;
import
com.junmp.jyzb.api.bean.query.InventoryReq
;
import
com.junmp.jyzb.api.bean.query.LogDetailReq
;
...
...
@@ -11,6 +12,7 @@ import com.junmp.jyzb.entity.LogSummary;
import
com.junmp.jyzb.service.InventorySummaryService
;
import
com.junmp.jyzb.service.LogDetailService
;
import
com.junmp.jyzb.service.LogSummaryService
;
import
com.junmp.jyzb.service.OrderLogService
;
import
com.junmp.v2.common.bean.request.ValidationApi
;
import
com.junmp.v2.common.bean.response.ApiRes
;
import
com.junmp.v2.db.api.page.PageResult
;
...
...
@@ -38,6 +40,9 @@ public class OutAndInboundController {
@Resource
private
LogDetailService
logDetailService
;
@Resource
private
OrderLogService
orderLogService
;
@ApiOperation
(
"/查看出入库详情"
)
@PostMapping
(
"/GetDetailByLogSumId"
)
public
ApiRes
<
List
<
LogDetailDto
>>
GetDetailByLogSumId
(
@RequestBody
@Validated
(
ValidationApi
.
detail
.
class
)
LogDetailReq
req
){
...
...
@@ -70,5 +75,11 @@ public class OutAndInboundController {
// public ApiRes<Boolean> OutInRecords(@RequestBody OutInLogsReq req){
// return ApiRes.success(logSummaryService.processInventoryRecords(req));
// }
@PostMapping
(
"/ShowRecordsByOrderId"
)
@ApiOperation
(
"出入库以及记账过程"
)
public
ApiRes
<
List
<
OrderLogDto
>>
ShowRecordsByOrderId
(
@RequestBody
@Validated
(
ValidationApi
.
page
.
class
)
LogSummaryReq
req
){
return
ApiRes
.
success
(
orderLogService
.
ShowRecordsByOrderId
(
req
));
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/entity/OrderLog.java
View file @
19fc45c7
...
...
@@ -103,6 +103,12 @@ public class OrderLog implements Serializable {
@TableField
(
value
=
"update_user"
)
private
String
updateUser
;
/**
* 过程事件(创建单据createOrder,出入库OutAndIn,记账accounting)
*/
@TableField
(
value
=
"process_type"
)
private
String
processType
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/service/OrderLogService.java
View file @
19fc45c7
package
com
.
junmp
.
jyzb
.
service
;
import
com.junmp.jyzb.api.bean.dto.OrderLogDto
;
import
com.junmp.jyzb.api.bean.query.LogSummaryReq
;
import
com.junmp.jyzb.entity.OrderLog
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
java.util.List
;
/**
* @author lxh专属坐骑
* @description 针对表【bussiness_order_log】的数据库操作Service
...
...
@@ -10,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
OrderLogService
extends
IService
<
OrderLog
>
{
List
<
OrderLogDto
>
ShowRecordsByOrderId
(
LogSummaryReq
req
);
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/InventorySummaryServiceImpl.java
View file @
19fc45c7
...
...
@@ -420,19 +420,19 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
//位置信息
wrapper
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getLocationName
()),
InventorySummary:
:
getLocationName
,
req
.
getLocationName
());
//装备类别名称
wrapper
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getTypeName
()),
InventorySummary:
:
getTypeName
,
req
.
getTypeName
());
//
wrapper.like(ObjectUtil.isNotEmpty(req.getTypeName()), InventorySummary::getTypeName, req.getTypeName());
//根据类别
if
(
req
.
typeIds
.
size
()>
0
)
{
if
(
ObjectUtil
.
isNotEmpty
(
req
.
typeIds
)
&&
req
.
typeIds
.
size
()>
0
)
{
wrapper
.
and
(
qw
->
req
.
typeIds
.
forEach
(
typeId
->
qw
.
or
().
eq
(
InventorySummary:
:
getTypeId
,
typeId
)));
}
//根据类别
if
(
req
.
getSizeNames
().
size
()>
0
)
{
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getSizeNames
())
&&
req
.
getSizeNames
().
size
()>
0
)
{
wrapper
.
and
(
qw
->
req
.
getSizeNames
().
forEach
(
sizeName
->
qw
.
or
().
eq
(
InventorySummary:
:
getSizeName
,
sizeName
)));
}
//型号名称
wrapper
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getSizeName
()),
InventorySummary:
:
getSizeName
,
req
.
getSizeName
());
//
wrapper.like(ObjectUtil.isNotEmpty(req.getSizeName()), InventorySummary::getSizeName, req.getSizeName());
//号型
wrapper
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getSizeId
()),
InventorySummary:
:
getSizeId
,
req
.
getSizeId
());
//
wrapper.eq(ObjectUtil.isNotEmpty(req.getSizeId()), InventorySummary::getSizeId, req.getSizeId());
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getColumn
()))
{
wrapper
.
last
(
"order by "
+
req
.
getColumn
()
+
" "
+
req
.
getOrder
());
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
View file @
19fc45c7
package
com
.
junmp
.
jyzb
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
...
@@ -59,6 +60,9 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
@Resource
private
InventorySummaryMapper
inventorySummaryMapper
;
@Resource
private
OrderLogService
orderLogService
;
//根据条件查询出入库记录
@Override
public
PageResult
<
LogSummary
>
ShowInOutRecordsByItems
(
LogSummaryReq
req
)
{
...
...
@@ -178,16 +182,13 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
List
<
NormalInOutDto
>
returnList
=
new
ArrayList
<>();
//存一个list用于修改库存inventory表的数据(采购时那么这个inventoryList就为空)
List
<
Inventory
>
inventoryList
=
new
ArrayList
<>();
List
<
OrderLog
>
orderLogList
=
new
ArrayList
<>();
for
(
SummaryLogReq
logreq:
logSummaryList
)
{
//如果类型为normal,那么则表示作为日常出入库的记录,否则则作为单据的出入库记录
List
<
DetailLogReq
>
logList
=
logreq
.
getLogDetailList
();
//出入库list
List
<
LogDetail
>
collect
=
new
ArrayList
<>();
LogSummary
logSummary
=
saveLogSummary
(
logreq
);
//设置logsummary的id
// UUID uuid = UUID.randomUUID();
// long uuidAsLong = uuid.getMostSignificantBits() ^ uuid.getLeastSignificantBits();
// logSummary.setId(uuidAsLong);
logSummaryService
.
save
(
logSummary
);
Map
<
String
,
String
>
map
=
setState
(
logreq
.
getOutInState
(),
logreq
.
getBussinessType
());
//无单据的时候
...
...
@@ -210,10 +211,11 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
if
(
logreq
.
getOutInState
().
equals
(
"in"
)){
Inventory
inventory
=
saveInventory
(
detailLogReq
,
map
,
logSummary
.
getOutInState
());
inventoryList
.
add
(
inventory
);
}
else
{
Inventory
inventory
=
saveInventory
(
detailLogReq
,
map
,
logSummary
.
getOutInState
());
inventoryList
.
add
(
inventory
);
}
// else {
// Inventory inventory = saveInventory(detailLogReq, map, logSummary.getOutInState());
// inventoryList.add(inventory);
// }
}
//存放logdetail信息
...
...
@@ -227,7 +229,14 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
}
boolean
b
=
logDetailService
.
saveBatch
(
collect
);
if
(
ObjectUtil
.
isNotNull
(
logSummary
.
getOrderMainId
())){
OrderLog
orderLog
=
addLog
(
logSummary
);
orderLogList
.
add
(
orderLog
);
}
}
//判断是否有orderId的单子出入库,如果有则直接添加
if
(
orderLogList
.
size
()>
0
){
boolean
b
=
orderLogService
.
saveBatch
(
orderLogList
);
}
//修改inventory表中的数据(如果不为空则表示不是采购单或者已经将采购单的信息过滤掉)
if
(
inventoryList
.
size
()>
0
){
...
...
@@ -243,6 +252,21 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
return
returnList
;
}
private
OrderLog
addLog
(
LogSummary
logSummary
){
OrderLog
orderLog
=
new
OrderLog
();
orderLog
.
setId
(
UUID
.
randomUUID
().
toString
());
orderLog
.
setHistoryMsg
(
JSON
.
toJSONString
(
logSummary
));
orderLog
.
setOrderCode
(
logSummary
.
getOrderCode
());
orderLog
.
setBussinessType
(
logSummary
.
getBussinessType
());
orderLog
.
setOrderType
(
logSummary
.
getOutInState
());
orderLog
.
setProcessType
(
"OutAndIn"
);
orderLog
.
setOrgId
(
logSummary
.
getOrgId
());
orderLog
.
setOrgName
(
logSummary
.
getOrgName
());
orderLog
.
setOrderId
(
logSummary
.
getOrderMainId
());
orderLog
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
return
orderLog
;
}
// 创建logsummary
private
LogSummary
saveLogSummary
(
SummaryLogReq
req
){
LogSummary
logSummary
=
new
LogSummary
();
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderLogServiceImpl.java
View file @
19fc45c7
package
com
.
junmp
.
jyzb
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.junmp.jyzb.api.bean.dto.OrderLogDto
;
import
com.junmp.jyzb.api.bean.query.LogSummaryReq
;
import
com.junmp.jyzb.entity.OrderLog
;
import
com.junmp.jyzb.service.OrderLogService
;
import
com.junmp.jyzb.mapper.OrderLogMapper
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.xml.ws.RequestWrapper
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author lxh专属坐骑
* @description 针对表【bussiness_order_log】的数据库操作Service实现
...
...
@@ -15,6 +24,25 @@ import org.springframework.stereotype.Service;
public
class
OrderLogServiceImpl
extends
ServiceImpl
<
OrderLogMapper
,
OrderLog
>
implements
OrderLogService
{
/**
* 展示单子从创建到记账全过程
* @param req
* @return
*/
@Override
public
List
<
OrderLogDto
>
ShowRecordsByOrderId
(
LogSummaryReq
req
)
{
List
<
OrderLog
>
list
=
list
(
new
LambdaQueryWrapper
<
OrderLog
>()
.
eq
(
OrderLog:
:
getOrderId
,
req
.
getOrderMainId
())
.
orderByAsc
(
OrderLog:
:
getCreateTime
));
List
<
OrderLogDto
>
collect
=
list
.
stream
().
map
(
orderLog
->
{
OrderLogDto
orderLogDto
=
new
OrderLogDto
();
BeanPlusUtil
.
copyProperties
(
orderLog
,
orderLogDto
);
return
orderLogDto
;
}).
collect
(
Collectors
.
toList
());
return
collect
;
}
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
View file @
19fc45c7
...
...
@@ -114,6 +114,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource
protected
TaskService
taskService
;
@Resource
...
...
@@ -130,7 +131,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
OrderMain
one
=
null
;
//修改业务单可用次数
if
(
ObjectUtil
.
isNotNull
(
req
.
getBussinessCode
())){
boolean
b
=
setBusFormState
(
req
,
one
,
orgId
);
one
=
setBusFormState
(
req
,
one
,
orgId
);
}
if
(
one
!=
null
){
...
...
@@ -147,7 +148,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
req
.
setExamineState
(
"working"
);
}
OrderMain
order
=
new
OrderMain
();
BeanPlusUtil
.
copyProperties
(
req
,
order
);
//先判断该单据id是否存在,如果存在,进行更新操作即可
...
...
@@ -254,6 +254,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
{
startProcessInstanceDTO
.
setOrderType
(
"workOrder"
);
processInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
}
else
if
(
req
.
getBussinessType
().
equals
(
"quick"
)
&&
req
.
getExamineState
().
equals
(
"working"
)){
//快速移库单
startProcessInstanceDTO
.
setOrderType
(
"quickOrder"
);
...
...
@@ -290,12 +292,45 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
for
(
OrderDetail
orderDetail:
detailList
)
{
list
.
add
(
Long
.
toString
(
orderDetail
.
getId
()));
}
//判断orderId在orderLog表中是否存在,如果存在,则直接替换
boolean
b
=
addOrderLog
(
req
);
return
list
;
}
//纪录日志
private
boolean
addOrderLog
(
UpdateOrderReq
req
){
//判断日志中是否存在,如果存在直接替换
OrderLog
createOrder
=
orderLogService
.
getOne
(
new
LambdaQueryWrapper
<
OrderLog
>()
.
eq
(
OrderLog:
:
getOrderId
,
req
.
getId
())
.
eq
(
OrderLog:
:
getProcessType
,
"createOrder"
));
//我要的是detail的明细存入到history—msg中
boolean
a
=
true
;
if
(
createOrder
==
null
){
createOrder
.
setId
(
UUID
.
randomUUID
().
toString
());
createOrder
.
setHistoryMsg
(
JSON
.
toJSONString
(
req
.
getDetailList
()));
createOrder
.
setOrderCode
(
req
.
getOrderCode
());
createOrder
.
setBussinessType
(
req
.
getBussinessType
());
createOrder
.
setOrderType
(
req
.
getOrderType
());
createOrder
.
setProcessType
(
"careteOrder"
);
if
(
req
.
getOrderType
().
equals
(
"in"
)){
createOrder
.
setOrgId
(
req
.
getEndOrgId
());
createOrder
.
setOrgName
(
req
.
getEndOrgName
());
}
else
{
createOrder
.
setOrgId
(
Long
.
parseLong
(
req
.
getStartOrgId
()));
createOrder
.
setOrgName
(
req
.
getStartOrgName
());
}
createOrder
.
setOrderId
(
req
.
getId
());
createOrder
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
a
=
orderLogService
.
save
(
createOrder
);
}
else
{
//直接替换
createOrder
.
setHistoryMsg
(
JSON
.
toJSONString
(
req
.
getDetailList
()));
createOrder
.
setUpdateTime
(
DateTimeUtil
.
getCurrentDateTime
());
a
=
orderLogService
.
updateById
(
createOrder
);
}
return
a
;
}
//修改业务单据可用次数
private
boolea
n
setBusFormState
(
UpdateOrderReq
req
,
OrderMain
one
,
Long
orgId
){
private
OrderMai
n
setBusFormState
(
UpdateOrderReq
req
,
OrderMain
one
,
Long
orgId
){
boolean
a
=
true
;
boolean
b
=
true
;
if
(
ObjectUtil
.
isNotNull
(
req
.
getId
())){
...
...
@@ -345,7 +380,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
BusForm
one2
=
setState2
(
orgId
,
one
.
getBussinessCode
());
b
=
busFormService
.
updateById
(
one2
);
}
return
a
&&
b
;
return
one
;
}
else
{
if
(
ObjectUtil
.
isNotNull
(
req
.
getBussinessCode
())){
//只需要更改一条单据
...
...
@@ -360,7 +395,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
BusForm
one1
=
setState1
(
orgId
,
req
.
getBussinessCode
());
a
=
busFormService
.
updateById
(
one1
);
}
return
a
;
return
one
;
}
}
...
...
@@ -744,7 +779,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//记账结束之后往消息队列中推送一条消息
String
exchangeName
=
"orderExchange"
;
MQReturnMsgDto
mqReturnMsgDto
=
new
MQReturnMsgDto
();
mqReturnMsgDto
.
setApi
(
"
s
ettlementOrder"
);
mqReturnMsgDto
.
setApi
(
"
S
ettlementOrder"
);
mqReturnMsgDto
.
setId
(
req
.
getId
());
mqReturnMsgDto
.
setOrderType
(
req
.
getOrderType
());
//需要判断是入库单还是出库单,入库单传收物单位id,出库单传发物单位id
...
...
@@ -797,6 +832,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
orderLog
.
setOrderId
(
req
.
getId
());
orderLog
.
setCreateTime
(
DateTimeUtil
.
getCurrentDateTime
());
orderLog
.
setProcessType
(
"accounting"
);
//将记账记录保存
return
orderLogService
.
save
(
orderLog
);
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/task/InvOverDueMsg.java
View file @
19fc45c7
...
...
@@ -74,7 +74,7 @@ public class InvOverDueMsg implements JobAction {
for
(
OrderMain
orderMain:
list
)
{
for
(
InvExpireReq
userIds:
userIdsList
)
{
if
(
orderMain
.
getStartOrgId
()==
userIds
.
getOrgId
()){
if
(
orderMain
.
getStartOrgId
()==
userIds
.
getOrgId
()
&&
orderMain
.
getReturnUserId
().
equals
(
userIds
.
getUserId
())
){
MessageSendReq
sendReq
=
new
MessageSendReq
();
sendReq
.
setReceiveUserIds
(
userIds
.
getUserId
());
sendReq
.
setMsgTitle
(
"物资超期提醒"
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论