Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
726202b4
Commit
726202b4
authored
Jul 09, 2024
by
刘林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(jg):车用气瓶流程错误单子数据处理
parent
033f026c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
79 additions
and
0 deletions
+79
-0
JgUseRegistrationServiceImpl.java
...ule/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
+1
-0
JgVehicleInformationServiceImpl.java
.../jg/biz/service/impl/JgVehicleInformationServiceImpl.java
+78
-0
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
View file @
726202b4
...
...
@@ -74,6 +74,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgVehicleInformationServiceImpl.java
View file @
726202b4
...
...
@@ -33,6 +33,7 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService
;
import
com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter
;
import
com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils
;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.ESEquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
...
...
@@ -149,6 +150,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
private
JgCertificateChangeRecordEqServiceImpl
certificateChangeRecordEqService
;
@Autowired
private
JgUseRegistrationManageServiceImpl
jgUseRegistrationManageService
;
@Autowired
private
WorkFlowFeignService
workFlowFeignService
;
private
Map
<
String
,
Object
>
fillingMediumMap
;
...
...
@@ -1470,4 +1473,78 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
"单号【"
+
obj
.
getApplyNo
()
+
"】,申请日期"
+
simpleDateFormat
.
format
(
obj
.
getRecDate
());
}
public
void
handleErrorVehicleForm
(
String
applyNo
)
{
LambdaQueryWrapper
<
JgVehicleInformation
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgVehicleInformation:
:
getApplyNo
,
applyNo
);
JgVehicleInformation
jgVehicleInformation
=
this
.
baseMapper
.
selectOne
(
queryWrapper
);
if
(
jgVehicleInformation
!=
null
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
jgVehicleInformation
.
getInstanceId
());
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
try
{
boolean
isLocked
=
lock
.
tryLock
(
0
,
180
,
TimeUnit
.
SECONDS
);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if
(!
isLocked
)
{
throw
new
BadRequest
(
"当前流程已经被执行!请重新打开页面查看并执行!"
);
}
// 流程执行时,状态及权限校验
ProcessTaskDTO
complete
=
workFlowFeignService
.
handleErrorForm
(
jgVehicleInformation
.
getInstanceId
(),
jgVehicleInformation
.
getReceiveCompanyCode
()).
getResult
();
ArrayList
<
ProcessTaskDTO
>
processTaskDTOS
=
new
ArrayList
<>();
processTaskDTOS
.
add
(
complete
);
List
<
WorkflowResultDto
>
resultDto
=
commonService
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
ObjectUtils
.
isEmpty
(
resultDto
)
&&
!
ObjectUtils
.
isEmpty
(
resultDto
.
get
(
0
)))
{
WorkflowResultDto
workflowResultDto
=
resultDto
.
get
(
0
);
String
role
=
workflowResultDto
.
getNextExecutorRoleIds
();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDto
.
getNextTaskCode
()))
{
taskCode
=
workflowResultDto
.
getNextTaskCode
();
}
jgVehicleInformation
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
jgVehicleInformation
.
setNextExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
jgVehicleInformation
.
setNextExecuteIds
(
role
);
jgVehicleInformation
.
setInstanceStatus
(
Optional
.
ofNullable
(
jgVehicleInformation
.
getInstanceStatus
())
.
map
(
status
->
String
.
join
(
","
,
status
,
role
))
.
orElse
(
role
)
);
jgVehicleInformation
.
setStatus
(
Objects
.
requireNonNull
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
)).
getPass
());
jgVehicleInformation
.
setPromoter
(
workflowResultDto
.
getStartUserId
());
// 更新代办状态
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
jgVehicleInformation
.
getInstanceId
());
params
.
put
(
"flowStatus"
,
commonService
.
getDictionaryCodeByName
(
jgVehicleInformation
.
getStatus
()));
params
.
put
(
"flowStatusLabel"
,
jgVehicleInformation
.
getStatus
());
params
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
jgVehicleInformation
.
getStatus
()));
params
.
put
(
"taskStatusLabel"
,
jgVehicleInformation
.
getStatus
());
TaskV2Model
taskV2Model
=
commonService
.
updateTaskModel
(
params
);
// 创建新的代办
if
(!
ObjectUtils
.
isEmpty
(
taskV2Model
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtil
.
copyProperties
(
jgVehicleInformation
,
taskMessageDto
);
taskModelDto
.
setModel
(
taskMessageDto
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setStartUserId
(
workflowResultDto
.
getExecutorId
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
taskModelDto
.
setFlowCode
(
workflowResultDto
.
getNextTaskId
());
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
else
{
workflowResultDto
.
setInstanceId
(
jgVehicleInformation
.
getInstanceId
());
buildTask
(
jgVehicleInformation
,
workflowResultDto
);
}
}
this
.
getBaseMapper
().
updateById
(
jgVehicleInformation
);
commonService
.
saveExecuteFlowData2Redis
(
jgVehicleInformation
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgVehicleInformation
));
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
}
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment