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
85731866
Commit
85731866
authored
Jul 22, 2024
by
王果
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
21052 车用气瓶变更登记校验设备是否在流程中
parent
84ee23f0
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
140 additions
and
7 deletions
+140
-7
JgChangeVehicleRegistrationUnitMapper.java
.../jg/api/mapper/JgChangeVehicleRegistrationUnitMapper.java
+3
-0
JgChangeVehicleRegistrationUnitMapper.xml
...esources/mapper/JgChangeVehicleRegistrationUnitMapper.xml
+9
-0
JgChangeVehicleRegistrationUnitEquipUsedCheckImpl.java
...pl/JgChangeVehicleRegistrationUnitEquipUsedCheckImpl.java
+55
-0
JgChangeVehicleRegistrationUnitServiceImpl.java
...vice/impl/JgChangeVehicleRegistrationUnitServiceImpl.java
+73
-7
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/mapper/JgChangeVehicleRegistrationUnitMapper.java
View file @
85731866
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
mapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgChangeVehicleRegistrationUnitDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -25,4 +26,6 @@ public interface JgChangeVehicleRegistrationUnitMapper extends BaseMapper<JgChan
@Param
(
"orgCode"
)
String
orgCode
,
@Param
(
"currentUserId"
)
String
currentUserId
,
@Param
(
"roleIds"
)
List
<
String
>
roleIds
);
List
<
CompanyEquipCountDto
>
queryForFlowingEquipList
();
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgChangeVehicleRegistrationUnitMapper.xml
View file @
85731866
...
...
@@ -96,5 +96,14 @@
order by cru.rec_date desc
</select>
<select
id=
"queryForFlowingEquipList"
resultType=
"com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto"
>
select a.use_unit_credit_code as companyCode,
group_concat(b.equ_id) as records
from tzs_jg_change_vehicle_registration_unit a,
tzs_jg_change_vehicle_registration_unit_eq b
where a.sequence_nbr = b.unit_change_id
and a.status in ('三级待受理', '二级待受理', '一级待受理')
GROUP BY a.use_unit_credit_code
</select>
</mapper>
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/JgChangeVehicleRegistrationUnitEquipUsedCheckImpl.java
0 → 100644
View file @
85731866
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.redisson.api.RBucket
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.stereotype.Component
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* @author Administrator
*/
@Component
@Slf4j
public
class
JgChangeVehicleRegistrationUnitEquipUsedCheckImpl
extends
BaseEquipUsedCheckService
{
private
RedissonClient
redissonClient
;
private
String
bizType
=
"vehicleGasCylinderChange"
;
private
JgChangeVehicleRegistrationUnitMapper
mapper
;
public
JgChangeVehicleRegistrationUnitEquipUsedCheckImpl
(
RedissonClient
redissonClient
,
JgChangeVehicleRegistrationUnitMapper
mapper
)
{
this
.
redissonClient
=
redissonClient
;
this
.
mapper
=
mapper
;
}
@Override
public
RedissonClient
getRedisClient
()
{
return
redissonClient
;
}
@Override
public
String
getApplyBizType
()
{
return
bizType
;
}
@Override
public
void
init
()
{
// 初始化已经完成或者在流程中安装告知的设备数据
List
<
CompanyEquipCountDto
>
companyEquipCountDtos
=
mapper
.
queryForFlowingEquipList
();
companyEquipCountDtos
.
forEach
(
c
->
{
RBucket
<
Set
<
String
>>
rBucket
=
redissonClient
.
getBucket
(
getFlowingEquipRedisKey
(
c
.
getCompanyCode
(),
bizType
));
rBucket
.
set
(
Arrays
.
stream
(
c
.
getRecords
().
split
(
","
)).
collect
(
Collectors
.
toSet
()));
});
}
}
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/JgChangeVehicleRegistrationUnitServiceImpl.java
View file @
85731866
...
...
@@ -17,6 +17,9 @@ import com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgChangeVehicleRegistrationUnitService
;
import
com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest
;
import
com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICommonService
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo
;
...
...
@@ -43,10 +46,12 @@ import org.typroject.tyboot.core.foundation.context.RequestContext;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
static
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
enums
.
VehicleApanageEnum
.
XIAN_YANG
;
import
static
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
enums
.
VehicleApanageEnum
.
XI_XIAN
;
...
...
@@ -60,6 +65,7 @@ import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XI
public
class
JgChangeVehicleRegistrationUnitServiceImpl
extends
BaseService
<
JgChangeVehicleRegistrationUnitDto
,
JgChangeVehicleRegistrationUnit
,
JgChangeVehicleRegistrationUnitMapper
>
implements
IJgChangeVehicleRegistrationUnitService
{
private
static
final
String
SUBMIT_TYPE_FLOW
=
"1"
;
private
static
final
String
PROCESS_DEFINITION_KEY
=
"vehicleGasCylinderChange"
;
private
final
List
<
String
>
NOT_FLOWING_STATE
=
Arrays
.
asList
(
"使用单位待提交"
,
"一级受理已驳回"
,
"使用单位已撤回"
,
"已作废"
,
"已完成"
);
private
static
final
String
BUSINESS_NAME
=
"车用气瓶变更"
;
private
static
final
String
template
=
"发起【车用气瓶变更登记】业务申请,【申请单号:%s】"
;
@Autowired
...
...
@@ -125,7 +131,21 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
,
timeoutMills
=
600000
)
public
List
<
JgChangeVehicleRegistrationUnit
>
saveMessage
(
JSONObject
map
,
ReginParams
reginParams
)
{
try
{
JgChangeVehicleRegistrationUnit
dto
=
new
JgChangeVehicleRegistrationUnit
();
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"submit"
))
&&
SUBMIT_TYPE_FLOW
.
equals
(
map
.
get
(
"submit"
).
toString
()))
{
if
(
map
.
containsKey
(
"dataList"
))
{
List
<
Map
<
String
,
Object
>>
equipList
=
new
ArrayList
<>();
JSONArray
objects
=
JSONObject
.
parseArray
(
JSON
.
toJSONString
(
map
.
get
(
"dataList"
)));
objects
.
forEach
(
data
->
{
Map
<
String
,
Object
>
equ
=
new
HashMap
<>();
JSONObject
object
=
JSONObject
.
parseObject
(
data
.
toString
());
equ
.
put
(
"record"
,
object
.
get
(
"record"
));
equipList
.
add
(
equ
);
});
this
.
repeatUsedEquipCheck
(
equipList
,
reginParams
.
getCompany
().
getCompanyCode
());
}
}
if
(!
map
.
containsKey
(
"sequenceNbr"
))
{
// 新增
BeanUtil
.
copyProperties
(
map
,
dto
);
...
...
@@ -209,9 +229,47 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
}
}
return
Collections
.
singletonList
(
dto
);
}
catch
(
BadRequest
|
LocalBadRequest
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
this
.
rollBackForDelRedisData
();
throw
e
;
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
this
.
rollBackForDelRedisData
();
throw
new
BadRequest
(
"保存失败!"
);
}
finally
{
FlowingEquipRedisContext
.
clean
();
}
}
private
void
repeatUsedEquipCheck
(
List
<
Map
<
String
,
Object
>>
equipList
,
String
companyCode
)
{
equipList
.
forEach
(
equipMap
->
EquipUsedCheckStrategyContext
.
getUsedStrategy
(
PROCESS_DEFINITION_KEY
)
.
equipRepeatUsedCheck
(
String
.
valueOf
(
equipMap
.
get
(
"record"
)),
companyCode
));
}
/**
* 删除 redis校验重复引用设备的数据
*/
private
void
delRepeatUseEquipData
(
JgChangeVehicleRegistrationUnit
notice
)
{
if
(
NOT_FLOWING_STATE
.
contains
(
notice
.
getStatus
()))
{
LambdaQueryWrapper
<
JgChangeVehicleRegistrationUnitEq
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgChangeVehicleRegistrationUnitEq:
:
getUnitChangeId
,
notice
.
getSequenceNbr
());
List
<
JgChangeVehicleRegistrationUnitEq
>
noticeEqList
=
jgChangeVehicleRegistrationUnitEqService
.
list
(
queryWrapper
);
noticeEqList
.
forEach
(
noticeEq
->
EquipUsedCheckStrategyContext
.
getUsedStrategy
(
PROCESS_DEFINITION_KEY
)
.
delDataForCheckEquipRepeatUsed
(
Collections
.
singletonList
(
noticeEq
.
getEquId
()),
notice
.
getNewUseUnitCreditCode
()));
}
}
private
void
rollBackForDelRedisData
()
{
FlowingEquipRedisContext
.
getContext
().
forEach
(
e
->
{
EquipUsedCheckStrategyContext
.
getUsedStrategy
(
PROCESS_DEFINITION_KEY
)
.
delDataForCheckWithKey
(
e
.
getData
(),
e
.
getRedisKey
());
});
}
public
Page
<
Map
<
String
,
Object
>>
getPage
(
Page
<
JgChangeVehicleRegistrationUnit
>
page
,
JgChangeVehicleRegistrationUnitDto
dto
,
String
type
,
ReginParams
reginParams
)
{
public
Page
<
Map
<
String
,
Object
>>
getPage
(
Page
<
JgChangeVehicleRegistrationUnit
>
page
,
JgChangeVehicleRegistrationUnitDto
dto
,
String
type
,
ReginParams
reginParams
)
{
String
orgCode
=
reginParams
.
getCompany
().
getCompanyCode
();
String
currentUserId
=
reginParams
.
getUserModel
().
getUserId
();
return
this
.
getBaseMapper
().
getPage
(
page
,
dto
,
type
,
orgCode
,
currentUserId
,
dto
.
getRoleIds
());
...
...
@@ -257,6 +315,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
WorkflowResultDto
workflowResultDto
=
resultDto
.
get
(
0
);
updateData
(
jgChangeVehicleRegistrationUnit
.
getSequenceNbr
(),
operate
,
workflowResultDto
,
Boolean
.
FALSE
);
}
this
.
delRepeatUseEquipData
(
jgChangeVehicleRegistrationUnit
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
...
...
@@ -267,7 +326,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
}
public
JgChangeVehicleRegistrationUnit
updateData
(
Long
sequenceNbr
,
String
operate
,
WorkflowResultDto
workflowResultDto
,
Boolean
isFirst
)
{
public
JgChangeVehicleRegistrationUnit
updateData
(
Long
sequenceNbr
,
String
operate
,
WorkflowResultDto
workflowResultDto
,
Boolean
isFirst
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
role
=
workflowResultDto
.
getNextExecutorRoleIds
();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
...
...
@@ -351,7 +411,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return
jgChangeVehicleRegistrationUnit
;
}
public
void
updateEsData
(
List
<
String
>
ids
,
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
,
String
useRegistCode
)
{
public
void
updateEsData
(
List
<
String
>
ids
,
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
,
String
useRegistCode
)
{
// 更新es
HashMap
<
String
,
Map
<
String
,
Object
>>
objMap
=
new
HashMap
<>();
ids
.
forEach
(
item
->
{
...
...
@@ -452,7 +513,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
/**
* 生成监管码
*/
public
void
createCode
(
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
,
String
equCategory
,
String
record
)
{
public
void
createCode
(
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
,
String
equCategory
,
String
record
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"cityCode"
,
XI_XIAN
.
getCode
().
equals
(
jgChangeVehicleRegistrationUnit
.
getVehicleApanage
())
?
XIAN_YANG
.
getCode
()
:
jgChangeVehicleRegistrationUnit
.
getVehicleApanage
());
map
.
put
(
"isXiXian"
,
XI_XIAN
.
getCode
().
equals
(
jgChangeVehicleRegistrationUnit
.
getVehicleApanage
())
?
"1"
:
"0"
);
...
...
@@ -487,7 +549,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return
stringResponseModel
.
getResult
();
}
public
InstanceRuntimeData
buildInstanceRuntimeData
(
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
)
{
public
InstanceRuntimeData
buildInstanceRuntimeData
(
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
)
{
return
InstanceRuntimeData
.
builder
()
.
nextExecuteUserIds
(
jgChangeVehicleRegistrationUnit
.
getNextExecuteUserIds
())
.
promoter
(
jgChangeVehicleRegistrationUnit
.
getPromoter
())
...
...
@@ -509,7 +572,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return
commonServiceImpl
.
updateTaskModel
(
params
);
}
public
void
buildTask
(
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
,
WorkflowResultDto
workflowResultDto
)
{
public
void
buildTask
(
JgChangeVehicleRegistrationUnit
jgChangeVehicleRegistrationUnit
,
WorkflowResultDto
workflowResultDto
)
{
// 代办消息
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
TaskModelDto
dto
=
new
TaskModelDto
();
...
...
@@ -588,7 +652,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
/**
* 分页查询
*/
public
Page
<
JgChangeVehicleRegistrationUnitDto
>
queryForJgChangeVehicleRegistrationUnitPage
(
Page
<
JgChangeVehicleRegistrationUnitDto
>
page
)
{
public
Page
<
JgChangeVehicleRegistrationUnitDto
>
queryForJgChangeVehicleRegistrationUnitPage
(
Page
<
JgChangeVehicleRegistrationUnitDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
...
...
@@ -714,6 +779,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
commonServiceImpl
.
rollbackTask
(
instanceId
,
jsonObject
);
// redis流程实时数据更新
commonServiceImpl
.
saveExecuteFlowData2Redis
(
instanceId
,
this
.
buildInstanceRuntimeData
(
data
));
this
.
delRepeatUseEquipData
(
data
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
...
...
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