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
f6e41acb
Commit
f6e41acb
authored
Dec 01, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改报废业务单逻辑
parent
4b0c70d3
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
92 行增加
和
26 行删除
+92
-26
InventoryExceptionEnum.java
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/InventoryExceptionEnum.java
+1
-0
TestController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/TestController.java
+1
-1
InventorySummary.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/InventorySummary.java
+6
-0
LogSummary.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/LogSummary.java
+1
-1
CounterSignListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
+0
-1
GlobalEndListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
+5
-4
OutInLogsReceiver.java
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/OutInLogsReceiver.java
+1
-1
BusFormServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/BusFormServiceImpl.java
+73
-18
LogSummaryServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
+4
-0
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/InventoryExceptionEnum.java
View file @
f6e41acb
...
...
@@ -8,6 +8,7 @@ import lombok.Getter;
public
enum
InventoryExceptionEnum
implements
IExceptionEnum
{
INVENTORY_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"装备信息不存在"
),
INVENTORY_BEYOND_STOCK
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"填写的报废的装备数量大于实际能进行报废的数量"
),
BROKENNUM_BEYOND_STOCK
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"审核中的数量已存在最大可报废数量,现提交失败"
),
;
/**
* 错误编码
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/controller/TestController.java
View file @
f6e41acb
...
...
@@ -46,7 +46,7 @@ public class TestController {
// return ApiRes.success(testService.test(req));
// }
//消息队列中是否有消费者
@PostMapping
(
"/hasConsumers"
)
public
ApiRes
<
Boolean
>
hasConsumers
(
@RequestBody
TestReq
req
){
Long
execute
=
rabbitAdmin
.
getRabbitTemplate
().
execute
(
channel
->
channel
.
consumerCount
(
req
.
getQueueName
()));
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/entity/InventorySummary.java
View file @
f6e41acb
...
...
@@ -193,6 +193,11 @@ public class InventorySummary implements Serializable {
@TableField
(
"threshold"
)
private
Integer
threshold
;
/**
* 审核中的报废数量(仅移入报废区的业务单使用)
*/
@TableField
(
value
=
"agent_broken_num"
)
private
Integer
agentBrokenNum
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/entity/LogSummary.java
View file @
f6e41acb
...
...
@@ -20,7 +20,7 @@ public class LogSummary implements Serializable {
/**
* 出入库汇总ID
*/
@TableId
(
type
=
IdType
.
AUTO
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
View file @
f6e41acb
...
...
@@ -76,7 +76,6 @@ public class CounterSignListener implements ExecutionListener {
@Override
public
void
notify
(
DelegateExecution
execution
)
{
String
currentActivityId
=
execution
.
getCurrentActivityId
();
Process
mainProcess
=
repositoryService
.
getBpmnModel
(
execution
.
getProcessDefinitionId
()).
getMainProcess
();
UserTask
userTask
=
(
UserTask
)
mainProcess
.
getFlowElement
(
currentActivityId
);
String
flowJson
=
mainProcess
.
getAttributeValue
(
"http://flowable.org/bpmn"
,
"Junmp"
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
View file @
f6e41acb
...
...
@@ -88,10 +88,6 @@ import java.util.stream.Collectors;
// 获取流程定义ID
String
processDefinitionId
=
event
.
getProcessDefinitionId
();
List
<
HistoricVariableInstance
>
orderType
=
historyService
.
createHistoricVariableInstanceQuery
().
processInstanceId
(
processInstanceId
).
variableName
(
"orderType"
).
list
();
List
<
HistoricVariableInstance
>
bussinessType
=
historyService
.
createHistoricVariableInstanceQuery
().
processInstanceId
(
processInstanceId
).
variableName
(
"bussinessType"
).
list
();
for
(
HistoricVariableInstance
a:
bussinessType
)
{
System
.
out
.
println
(
"a = "
+
a
);
}
if
(
orderType
.
size
()>
0
)
{
...
...
@@ -147,6 +143,11 @@ import java.util.stream.Collectors;
}
}
if
(
event
.
getType
()
==
FlowableEngineEventType
.
PROCESS_COMPLETED_WITH_TERMINATE_END_EVENT
){
System
.
out
.
println
(
"event.getType() = "
+
event
.
getType
());
}
if
(
event
.
getType
()==
FlowableEngineEventType
.
PROCESS_COMPLETED_WITH_ESCALATION_END_EVENT
)
System
.
out
.
println
(
"event = "
+
event
);
}
// 获取流程实例关联的变量
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/rabbitmq/OutInLogsReceiver.java
View file @
f6e41acb
...
...
@@ -19,7 +19,7 @@ public class OutInLogsReceiver {
@Resource
private
LogSummaryService
logSummaryService
;
@RabbitListener
(
queues
=
"
orderResult
"
)
//监听队列名
@RabbitListener
(
queues
=
"
2222
"
)
//监听队列名
private
void
a
(
String
msg
,
Channel
channel
,
@Header
(
AmqpHeaders
.
DELIVERY_TAG
)
long
deliveryTag
){
try
{
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/BusFormServiceImpl.java
View file @
f6e41acb
...
...
@@ -20,8 +20,10 @@ import com.junmp.jyzb.api.bean.query.QueryBusFormReq;
import
com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq
;
import
com.junmp.jyzb.api.bean.req.GeneratePurchaseQuicklyReq
;
import
com.junmp.jyzb.api.bean.req.UpdateBusFormReq
;
import
com.junmp.jyzb.api.exception.JYZBAppException
;
import
com.junmp.jyzb.api.exception.enums.InventoryExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.OrderExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.OrgExceptionEnum
;
import
com.junmp.jyzb.entity.*
;
import
com.junmp.jyzb.mapper.InventorySummaryMapper
;
import
com.junmp.jyzb.service.*
;
...
...
@@ -92,6 +94,11 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
*/
@Override
public
String
AddBussinessOrder
(
UpdateBusFormReq
req
)
{
//判断inventorySummary表中是否有这个装备的已在审核中的数量,如果数量为null或者为0,则表示可以进行审批
if
(
req
.
getBussinessType
().
equals
(
"remove"
)){
Boolean
aBoolean
=
addOrRevokeAgentBrokenNum
(
req
,
true
);
}
//判断是否有工作流id,如果有则将状态进行修改
if
(
ObjectUtil
.
isEmpty
(
req
.
getProcessDefinitionId
()))
{
...
...
@@ -143,24 +150,26 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
startProcessInstanceDTO
.
setOrderType
(
"bussinessOrder"
);
startProcessInstanceDTO
.
setUserId
(
req
.
getApplyUserId
());
//发物单位和收物单位
if
(
req
.
getBussinessType
().
equals
(
"use"
)){
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
}
else
if
(
req
.
getBussinessType
().
equals
(
"purchase"
))
{
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getSupplierName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getOrgName
());
}
else
if
(
req
.
getBussinessType
().
equals
(
"allocate"
))
{
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getStartOrgName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getEndOrgName
());
}
else
if
(
req
.
getBussinessType
().
equals
(
"repair"
))
{
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getSupplierName
());
}
else
if
(
req
.
getBussinessType
().
equals
(
"remove"
))
{
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
}
else
if
(
req
.
getBussinessType
().
equals
(
"destruction"
))
{
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getSupplierName
());
switch
(
req
.
getBussinessType
()){
case
"use"
:
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
break
;
case
"purchase"
:
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getSupplierName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getOrgName
());
break
;
case
"allocate"
:
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getStartOrgName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getEndOrgName
());
break
;
case
"repair"
:
case
"destruction"
:
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
startProcessInstanceDTO
.
setEndOrgName
(
req
.
getSupplierName
());
break
;
case
"remove"
:
startProcessInstanceDTO
.
setStartOrgName
(
req
.
getOrgName
());
break
;
}
//装备列表
startProcessInstanceDTO
.
setInvList
(
req
.
getInvList
());
...
...
@@ -207,6 +216,51 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
return
busForm
.
getId
();
}
//在提交审核或者保存草稿的时候判断申请报废数+审核中数量+报废区数量是否等于在库数,如果大于则报错
//flag表示一个标识,如果是提交业务单那么flag=true,如果是审核拒绝,那么flag就为false
private
Boolean
addOrRevokeAgentBrokenNum
(
UpdateBusFormReq
req
,
boolean
flag
){
List
<
BussinessOrderDetialReq
>
list
=
JSON
.
parseArray
(
req
.
getDetailList
(),
BussinessOrderDetialReq
.
class
);
List
<
Object
[]>
searchItem
=
new
ArrayList
<>();
for
(
BussinessOrderDetialReq
detialReq:
list
)
{
//我先去数据库查询summary表中的数据
Object
[]
item
=
new
Object
[]{
req
.
getOrgId
(),
detialReq
.
getLocationId
(),
detialReq
.
getTypeId
(),
detialReq
.
getSizeId
(),
detialReq
.
getPrice
()};
searchItem
.
add
(
item
);
}
List
<
InventorySummary
>
inventorySummaryList
=
inventorySummaryMapper
.
selectSumByItems
(
searchItem
);
String
msg
=
""
;
for
(
BussinessOrderDetialReq
detialReq:
list
)
{
for
(
InventorySummary
is:
inventorySummaryList
)
{
if
(
ObjectUtil
.
isNull
(
is
.
getAgentBrokenNum
())){
is
.
setAgentBrokenNum
(
0
);
}
if
(
detialReq
.
getLocationId
().
equals
(
is
.
getLocationId
())
&&
detialReq
.
getTypeId
().
equals
(
is
.
getTypeId
())
&&
detialReq
.
getSizeId
().
equals
(
is
.
getSizeId
())
&&
detialReq
.
getPrice
().
compareTo
(
is
.
getUnitPrice
())==
0
){
if
(
flag
){
//判断审核中的数量是否为0,如果为0 ,那么直接进行添加,如果不为0,则需要判断审核中的数量加申请报废的数量是否超过可以报废的数量
//如果超过那么则直接进行报错提醒
if
(
detialReq
.
getPlanNum
()+
is
.
getAgentBrokenNum
()<=
is
.
getStockNumber
()){
//将库存的审核中的报废数量根据单据重新进行计算
is
.
setAgentBrokenNum
(
is
.
getAgentBrokenNum
()+
detialReq
.
getPlanNum
());
}
else
{
msg
=
msg
+
"装备:"
+
detialReq
.
getTypeName
()+
"号型:"
+
detialReq
.
getSizeName
()+
"已存在审核最大可报废数量;"
;
}
}
else
{
//直接将在审核中的数量修改为审核之前的状态
is
.
setAgentBrokenNum
(
is
.
getAgentBrokenNum
()-
detialReq
.
getPlanNum
());
}
}
break
;
}
}
if
(!
msg
.
trim
().
isEmpty
()){
throw
new
JYZBAppException
(
OrgExceptionEnum
.
ORG_NOT_EXIST
,
msg
);
}
return
inventorySummaryService
.
updateBatchById
(
inventorySummaryList
);
}
/**
...
...
@@ -322,6 +376,7 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
// return returnList;
// }
//更新报废数(inventorySummary,审核通过之后更新)
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateBrokenResult
(
BusForm
busForm
)
{
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/LogSummaryServiceImpl.java
View file @
f6e41acb
...
...
@@ -162,6 +162,10 @@ public class LogSummaryServiceImpl extends ServiceImpl<LogSummaryMapper, LogSumm
//出入库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
());
//无单据的时候
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论