Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-zx-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
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
Jobs
Commits
Open sidebar
项目统一框架
一体化_户用光伏项目代码
amos-boot-zx-biz
Commits
2e618e11
Commit
2e618e11
authored
Jul 04, 2024
by
yangyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug 20235 、20255、20232、20340
parent
17a5e543
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
310 additions
and
133 deletions
+310
-133
RedisLockUtil.java
...yeejoin/amos/boot/module/hygf/api/util/RedisLockUtil.java
+92
-0
AcceptanceRectificationOrderServiceImpl.java
...service/impl/AcceptanceRectificationOrderServiceImpl.java
+33
-15
AcceptanceServiceImpl.java
...t/module/hygf/biz/service/impl/AcceptanceServiceImpl.java
+34
-18
BasicGridAcceptanceServiceImpl.java
...hygf/biz/service/impl/BasicGridAcceptanceServiceImpl.java
+107
-94
PowerStationServiceImpl.java
...module/hygf/biz/service/impl/PowerStationServiceImpl.java
+13
-1
SurveyInformationServiceImpl.java
...e/hygf/biz/service/impl/SurveyInformationServiceImpl.java
+31
-5
No files found.
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/util/RedisLockUtil.java
0 → 100644
View file @
2e618e11
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
util
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.Cursor
;
import
org.springframework.data.redis.core.RedisCallback
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ScanOptions
;
import
org.springframework.lang.Nullable
;
import
org.springframework.stereotype.Component
;
import
java.nio.charset.StandardCharsets
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.concurrent.TimeUnit
;
/**
* spring redis 工具类
* <p>
* ProjectName: qms
* PackageName: com.yeejoin.amos.qms.api.spc.utils
*
* @author yangyang
* @version v1.0
* @date 2024/4/19 10:15
*/
@Component
@Slf4j
public
class
RedisLockUtil
{
@Autowired
public
RedisTemplate
redisTemplate
;
/**
* 加锁,阻塞
*
* @param key 锁主键
* @param value 缓存值
* @param expireTime 锁有效时间,-1永久存储,单位秒
* @param waitTime 获取锁阻塞等待时间,单位秒
* @return result
*/
public
Boolean
tryLock
(
String
key
,
String
value
,
long
expireTime
,
long
waitTime
)
{
long
start
=
System
.
currentTimeMillis
();
// 默认10秒
waitTime
=
(
waitTime
<
0
?
10
:
waitTime
)
*
1000
;
expireTime
=
expireTime
<
0
?
-
1
:
expireTime
;
for
(;
;
)
{
//SET命令返回OK ,则证明获取锁成功
Boolean
ret
=
redisTemplate
.
opsForValue
().
setIfAbsent
(
key
,
value
,
expireTime
,
TimeUnit
.
SECONDS
);
if
(
BooleanUtils
.
isTrue
(
ret
))
{
return
true
;
}
//否则循环等待,在等待超时时间内仍未获取到锁,则获取失败
long
end
=
System
.
currentTimeMillis
()
-
start
;
if
(
end
>=
waitTime
)
{
return
false
;
}
}
}
/**
* 删除单个对象
*
* @param key
*/
public
boolean
releaseLock
(
final
String
key
)
{
return
redisTemplate
.
delete
(
key
);
}
/**
* 替代keys
*
* @param pattern key模糊
*/
public
Set
<
String
>
scan
(
final
String
pattern
)
{
return
(
Set
<
String
>)
redisTemplate
.
execute
((
RedisCallback
<
Set
<
String
>>)
connection
->
{
Set
<
String
>
keys
=
new
HashSet
<>();
try
(
Cursor
<
byte
[]>
cursor
=
connection
.
scan
(
new
ScanOptions
.
ScanOptionsBuilder
().
match
(
pattern
).
count
(
1000
).
build
()))
{
while
(
cursor
.
hasNext
())
{
keys
.
add
(
new
String
(
cursor
.
next
(),
StandardCharsets
.
UTF_8
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
}
return
keys
;
});
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/AcceptanceRectificationOrderServiceImpl.java
View file @
2e618e11
...
@@ -17,15 +17,18 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.BasicGridAcceptance;
...
@@ -17,15 +17,18 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.BasicGridAcceptance;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.AcceptanceRectificationOrderMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.AcceptanceRectificationOrderMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.BasicGridAcceptanceMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.BasicGridAcceptanceMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IAcceptanceRectificationOrderService
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IAcceptanceRectificationOrderService
;
import
com.yeejoin.amos.boot.module.hygf.api.util.RedisLockUtil
;
import
com.yeejoin.amos.component.robot.BadRequest
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -47,7 +50,8 @@ public class AcceptanceRectificationOrderServiceImpl extends BaseService<Accepta
...
@@ -47,7 +50,8 @@ public class AcceptanceRectificationOrderServiceImpl extends BaseService<Accepta
private
WorkflowImpl
workflow
;
private
WorkflowImpl
workflow
;
@Autowired
@Autowired
private
RedisUtils
redisUtils
;
private
RedisUtils
redisUtils
;
@Resource
(
type
=
RedisLockUtil
.
class
)
private
RedisLockUtil
redisLockUtil
;
/**
/**
* 分页查询
* 分页查询
*/
*/
...
@@ -107,24 +111,38 @@ public class AcceptanceRectificationOrderServiceImpl extends BaseService<Accepta
...
@@ -107,24 +111,38 @@ public class AcceptanceRectificationOrderServiceImpl extends BaseService<Accepta
AcceptanceRectificationOrder
entity
=
new
AcceptanceRectificationOrder
();
AcceptanceRectificationOrder
entity
=
new
AcceptanceRectificationOrder
();
BeanUtils
.
copyProperties
(
model
,
entity
);
BeanUtils
.
copyProperties
(
model
,
entity
);
String
lockName
=
String
.
format
(
"LockName:updateAndDriveWorkflow:%s"
,
entity
.
getSequenceNbr
());
Boolean
isLocked
=
redisLockUtil
.
tryLock
(
lockName
,
lockName
,
10
,
1
);
if
(
BooleanUtils
.
isNotTrue
(
isLocked
))
{
throw
new
BadRequest
(
"其他用户正在操作,请稍后再试!"
);
}
try
{
acceptanceRectificationOrderMapper
.
updateById
(
entity
);
AcceptanceRectificationOrder
acceptanceRectificationOrder
=
acceptanceRectificationOrderMapper
.
selectById
(
entity
.
getSequenceNbr
());
if
(
String
.
valueOf
(
RectificationStatusEnum
.
整改已完成
.
getCode
()).
equals
(
acceptanceRectificationOrder
.
getRectificationStatus
()))
{
throw
new
BadRequest
(
"整改已完成,请稍后再试!"
);
}
// 如果整改已完成则触发工作流
acceptanceRectificationOrderMapper
.
updateById
(
entity
);
String
status
=
entity
.
getRectificationStatus
();
if
(
String
.
valueOf
(
RectificationStatusEnum
.
整改已完成
.
getCode
()).
equals
(
status
))
{
BasicGridAcceptance
basicGridAcceptance
=
basicGridAcceptanceMapper
.
selectOne
(
Wrappers
.<
BasicGridAcceptance
>
lambdaQuery
()
.
eq
(
BasicGridAcceptance:
:
getPeasantHouseholdId
,
entity
.
getPeasantHouseholdId
())
);
basicGridAcceptance
.
setAcceptanceStatus
(
String
.
valueOf
(
Integer
.
parseInt
(
basicGridAcceptance
.
getAcceptanceStatus
())
-
1
));
// 如果整改已完成则触发工作流
String
status
=
entity
.
getRectificationStatus
();
if
(
String
.
valueOf
(
RectificationStatusEnum
.
整改已完成
.
getCode
()).
equals
(
status
))
{
BasicGridAcceptance
basicGridAcceptance
=
basicGridAcceptanceMapper
.
selectOne
(
Wrappers
.<
BasicGridAcceptance
>
lambdaQuery
()
.
eq
(
BasicGridAcceptance:
:
getPeasantHouseholdId
,
entity
.
getPeasantHouseholdId
())
);
StandardDto
standardDto
=
new
StandardDto
();
basicGridAcceptance
.
setAcceptanceStatus
(
String
.
valueOf
(
Integer
.
parseInt
(
basicGridAcceptance
.
getAcceptanceStatus
())
-
1
));
standardDto
.
setTaskId
(
basicGridAcceptance
.
getNextTaskId
());
workflow
.
standard
(
basicGridAcceptance
,
standardDto
,
userId
);
basicGridAcceptanceMapper
.
updateById
(
basicGridAcceptance
);
StandardDto
standardDto
=
new
StandardDto
();
standardDto
.
setTaskId
(
basicGridAcceptance
.
getNextTaskId
());
workflow
.
standard
(
basicGridAcceptance
,
standardDto
,
userId
);
basicGridAcceptanceMapper
.
updateById
(
basicGridAcceptance
);
}
}
finally
{
redisLockUtil
.
releaseLock
(
lockName
);
}
}
return
model
;
return
model
;
}
}
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/AcceptanceServiceImpl.java
View file @
2e618e11
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
...
@@ -18,14 +17,17 @@ import com.yeejoin.amos.boot.module.hygf.api.mapper.AcceptanceMapper;
...
@@ -18,14 +17,17 @@ import com.yeejoin.amos.boot.module.hygf.api.mapper.AcceptanceMapper;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.BasicGridAcceptanceMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.BasicGridAcceptanceMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.PeasantHouseholdMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.PeasantHouseholdMapper
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IAcceptanceService
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IAcceptanceService
;
import
com.yeejoin.amos.boot.module.hygf.api.util.RedisLockUtil
;
import
com.yeejoin.amos.component.robot.BadRequest
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -43,6 +45,9 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
...
@@ -43,6 +45,9 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
private
AcceptanceCheckItemMapper
acceptanceCheckItemMapper
;
private
AcceptanceCheckItemMapper
acceptanceCheckItemMapper
;
@Autowired
@Autowired
WorkflowImpl
workflow
;
WorkflowImpl
workflow
;
@Resource
(
type
=
RedisLockUtil
.
class
)
private
RedisLockUtil
redisLockUtil
;
/**
/**
* 分页查询验收列表数据
* 分页查询验收列表数据
*
*
...
@@ -111,23 +116,34 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
...
@@ -111,23 +116,34 @@ public class AcceptanceServiceImpl implements IAcceptanceService {
}
}
@Override
@Override
@GlobalTransactional
@GlobalTransactional
public
void
checkAccept
(
Long
basicGridAcceptanceId
,
String
userId
){
public
void
checkAccept
(
Long
basicGridAcceptanceId
,
String
userId
)
{
BasicGridAcceptance
basicGridAcceptanc
=
basicGridAcceptanceMapper
.
selectById
(
basicGridAcceptanceId
);
String
lockName
=
String
.
format
(
"LockName:checkAccept:%s"
,
basicGridAcceptanceId
);
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
待投融验收
.
getCode
());
Boolean
isLocked
=
redisLockUtil
.
tryLock
(
lockName
,
lockName
,
10
,
1
);
basicGridAcceptanc
.
setAcceptanceRecDate
(
new
Date
());
if
(
BooleanUtils
.
isNotTrue
(
isLocked
))
{
//执行工作流
throw
new
BadRequest
(
"其他用户正在操作,请稍后再试!"
);
StandardDto
standardDto
=
new
StandardDto
();
}
standardDto
.
setTaskId
(
basicGridAcceptanc
.
getNextTaskId
());
try
{
workflow
.
standard
(
basicGridAcceptanc
,
standardDto
,
userId
);
BasicGridAcceptance
basicGridAcceptanc
=
basicGridAcceptanceMapper
.
selectById
(
basicGridAcceptanceId
);
basicGridAcceptanceMapper
.
updateById
(
basicGridAcceptanc
);
if
(
AcceptanceStatusEnum
.
待投融验收
.
getCode
().
equals
(
basicGridAcceptanc
.
getAcceptanceStatus
()))
{
throw
new
BadRequest
(
"待投融验收,请稍后再试!"
);
//线上验收
}
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
待投融验收
.
getCode
());
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
线上验收
.
getCode
());
basicGridAcceptanc
.
setAcceptanceRecDate
(
new
Date
());
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
//执行工作流
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
StandardDto
standardDto
=
new
StandardDto
();
peasantHouseholdMapper
.
update
(
null
,
up
);
standardDto
.
setTaskId
(
basicGridAcceptanc
.
getNextTaskId
());
workflow
.
standard
(
basicGridAcceptanc
,
standardDto
,
userId
);
basicGridAcceptanceMapper
.
updateById
(
basicGridAcceptanc
);
//线上验收
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
线上验收
.
getCode
());
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
peasantHouseholdMapper
.
update
(
null
,
up
);
}
finally
{
redisLockUtil
.
releaseLock
(
lockName
);
}
}
}
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/BasicGridAcceptanceServiceImpl.java
View file @
2e618e11
...
@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
...
@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.github.pagehelper.PageInfo
;
...
@@ -12,14 +11,18 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.*;
...
@@ -12,14 +11,18 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.*
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.*
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IBasicGridAcceptanceService
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IBasicGridAcceptanceService
;
import
com.yeejoin.amos.boot.module.hygf.api.util.NumberUtil
;
import
com.yeejoin.amos.boot.module.hygf.api.util.NumberUtil
;
import
com.yeejoin.amos.boot.module.hygf.api.util.RedisLockUtil
;
import
com.yeejoin.amos.component.robot.BadRequest
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.typroject.tyboot.core.foundation.utils.DateUtil
;
import
org.typroject.tyboot.core.foundation.utils.DateUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
@Slf4j
@Slf4j
...
@@ -47,7 +50,8 @@ public class BasicGridAcceptanceServiceImpl
...
@@ -47,7 +50,8 @@ public class BasicGridAcceptanceServiceImpl
RegionalCompaniesMapper
regionalCompaniesMapper
;
RegionalCompaniesMapper
regionalCompaniesMapper
;
@Autowired
@Autowired
WorkOrderMapper
workOrderMapper
;
WorkOrderMapper
workOrderMapper
;
@Resource
(
type
=
RedisLockUtil
.
class
)
private
RedisLockUtil
redisLockUtil
;
@Autowired
@Autowired
PeasantHouseholdMapper
peasantHouseholdMapper
;
PeasantHouseholdMapper
peasantHouseholdMapper
;
@Autowired
@Autowired
...
@@ -203,109 +207,118 @@ public class BasicGridAcceptanceServiceImpl
...
@@ -203,109 +207,118 @@ public class BasicGridAcceptanceServiceImpl
@GlobalTransactional
@GlobalTransactional
public
void
execute
(
AcceptanceCheckItem
dto
,
String
userId
)
{
public
void
execute
(
AcceptanceCheckItem
dto
,
String
userId
)
{
// 查询并网审批信息
String
lockName
=
String
.
format
(
"LockName:executeWorkflow:%s"
,
dto
.
getBasicGridAcceptanceId
());
BasicGridAcceptance
basicGridAcceptanc
=
basicGridAcceptanceMapper
.
selectById
(
dto
.
getBasicGridAcceptanceId
());
Boolean
isLocked
=
redisLockUtil
.
tryLock
(
lockName
,
lockName
,
10
,
1
);
String
nextNodeKey
=
basicGridAcceptanc
.
getNextNodeKey
();
if
(
BooleanUtils
.
isNotTrue
(
isLocked
))
{
if
(
OK
.
equals
(
dto
.
getApprovalStatus
()))
{
throw
new
BadRequest
(
"其他用户正在操作,请稍后再试!"
);
if
(
BasicGridAcceptancEnum
.
并网管理端工程审核
.
getCode
().
equals
(
nextNodeKey
))
{
}
basicGridAcceptanc
.
setGridStatus
(
GridStatusEnum
.
YWC
.
getCode
());
try
{
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
待提交验收
.
getCode
());
// 查询并网审批信息
// 并网时间
BasicGridAcceptance
basicGridAcceptanc
=
basicGridAcceptanceMapper
.
selectById
(
dto
.
getBasicGridAcceptanceId
());
LambdaUpdateWrapper
<
HygfOnGrid
>
upq
=
new
LambdaUpdateWrapper
();
String
nextNodeKey
=
basicGridAcceptanc
.
getNextNodeKey
();
upq
.
eq
(
HygfOnGrid:
:
getSequenceNbr
,
dto
.
getFonGridId
());
if
(
OK
.
equals
(
dto
.
getApprovalStatus
()))
{
upq
.
set
(
HygfOnGrid:
:
getGridConnectionTime
,
new
Date
());
if
(
BasicGridAcceptancEnum
.
并网管理端工程审核
.
getCode
().
equals
(
nextNodeKey
))
{
onGridMapper
.
update
(
null
,
upq
);
basicGridAcceptanc
.
setGridStatus
(
GridStatusEnum
.
YWC
.
getCode
());
// 并网完成
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
待提交验收
.
getCode
());
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
// 并网时间
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
并网完成
.
getCode
());
LambdaUpdateWrapper
<
HygfOnGrid
>
upq
=
new
LambdaUpdateWrapper
();
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
upq
.
eq
(
HygfOnGrid:
:
getSequenceNbr
,
dto
.
getFonGridId
());
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
upq
.
set
(
HygfOnGrid:
:
getGridConnectionTime
,
new
Date
());
peasantHouseholdMapper
.
update
(
null
,
up
);
onGridMapper
.
update
(
null
,
upq
);
// 并网完成
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
并网完成
.
getCode
());
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
peasantHouseholdMapper
.
update
(
null
,
up
);
}
else
{
}
else
{
basicGridAcceptanc
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
}
}
else
{
if
(
BasicGridAcceptancEnum
.
并网管理端工程审核
.
getCode
().
equals
(
nextNodeKey
))
{
basicGridAcceptanc
.
setGridStatus
(
GridStatusEnum
.
WTG
.
getCode
());
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
}
// 投融/法务/工程/线下验收审核不通过
else
if
(
BasicGridAcceptancEnum
.
管理端投融审核
.
getCode
().
equals
(
nextNodeKey
)
||
BasicGridAcceptancEnum
.
管理端法务审核
.
getCode
().
equals
(
nextNodeKey
)
||
BasicGridAcceptancEnum
.
管理端工程审核
.
getCode
().
equals
(
nextNodeKey
)
||
BasicGridAcceptancEnum
.
管理端工程线下验
.
getCode
().
equals
(
nextNodeKey
))
{
AcceptanceRectificationOrder
rectificationOrder
=
new
AcceptanceRectificationOrder
();
try
{
WorkOrder
workOrder
=
workOrderMapper
.
selectById
(
basicGridAcceptanc
.
getWorkOrderId
());
RegionalCompanies
regionalCompanies
=
regionalCompaniesMapper
.
selectRegionName
(
workOrder
.
getRegionCompanyId
());
String
code
=
NumberUtil
.
getCode
(
CodeEnum
.
整改单
.
getCode
(),
regionalCompanies
.
getCompanyCode
(),
regionalCompanies
.
getRegionalAddress
());
rectificationOrder
.
setRectificationOrderCode
(
code
);
rectificationOrder
.
setWorkOrderId
(
basicGridAcceptanc
.
getWorkOrderId
());
rectificationOrder
.
setWorkOrderPowerStationId
(
basicGridAcceptanc
.
getWorkOrderPowerStationId
());
rectificationOrder
.
setPeasantHouseholdId
(
basicGridAcceptanc
.
getPeasantHouseholdId
());
rectificationOrder
.
setProblemDescription
(
dto
.
getComment
());
rectificationOrder
.
setRectificationStatus
(
String
.
valueOf
(
RectificationStatusEnum
.
待整改
.
getCode
()));
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
acceptanceRectificationOrderMapper
.
insert
(
rectificationOrder
);
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
}
else
{
}
else
{
basicGridAcceptanc
if
(
BasicGridAcceptancEnum
.
并网管理端工程审核
.
getCode
().
equals
(
nextNodeKey
))
{
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
basicGridAcceptanc
.
setGridStatus
(
GridStatusEnum
.
WTG
.
getCode
());
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
}
// 投融/法务/工程/线下验收审核不通过
else
if
(
BasicGridAcceptancEnum
.
管理端投融审核
.
getCode
().
equals
(
nextNodeKey
)
||
BasicGridAcceptancEnum
.
管理端法务审核
.
getCode
().
equals
(
nextNodeKey
)
||
BasicGridAcceptancEnum
.
管理端工程审核
.
getCode
().
equals
(
nextNodeKey
)
||
BasicGridAcceptancEnum
.
管理端工程线下验
.
getCode
().
equals
(
nextNodeKey
))
{
AcceptanceRectificationOrder
rectificationOrder
=
new
AcceptanceRectificationOrder
();
try
{
WorkOrder
workOrder
=
workOrderMapper
.
selectById
(
basicGridAcceptanc
.
getWorkOrderId
());
RegionalCompanies
regionalCompanies
=
regionalCompaniesMapper
.
selectRegionName
(
workOrder
.
getRegionCompanyId
());
String
code
=
NumberUtil
.
getCode
(
CodeEnum
.
整改单
.
getCode
(),
regionalCompanies
.
getCompanyCode
(),
regionalCompanies
.
getRegionalAddress
());
rectificationOrder
.
setRectificationOrderCode
(
code
);
rectificationOrder
.
setWorkOrderId
(
basicGridAcceptanc
.
getWorkOrderId
());
rectificationOrder
.
setWorkOrderPowerStationId
(
basicGridAcceptanc
.
getWorkOrderPowerStationId
());
rectificationOrder
.
setPeasantHouseholdId
(
basicGridAcceptanc
.
getPeasantHouseholdId
());
rectificationOrder
.
setProblemDescription
(
dto
.
getComment
());
rectificationOrder
.
setRectificationStatus
(
String
.
valueOf
(
RectificationStatusEnum
.
待整改
.
getCode
()));
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
acceptanceRectificationOrderMapper
.
insert
(
rectificationOrder
);
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
}
else
{
basicGridAcceptanc
.
setAcceptanceStatus
(
AcceptanceStatusEnum
.
getNodeByKey
(
nextNodeKey
,
dto
.
getApprovalStatus
()));
}
}
}
}
if
(
nextNodeKey
.
equals
(
BasicGridAcceptancEnum
.
管理端工程线下验
.
getCode
()))
{
if
(
nextNodeKey
.
equals
(
BasicGridAcceptancEnum
.
管理端工程线下验
.
getCode
()))
{
dto
.
setWorkOrderId
(
basicGridAcceptanc
.
getWorkOrderId
());
dto
.
setWorkOrderId
(
basicGridAcceptanc
.
getWorkOrderId
());
dto
.
setWorkOrderPowerStationId
(
basicGridAcceptanc
.
getWorkOrderPowerStationId
());
dto
.
setWorkOrderPowerStationId
(
basicGridAcceptanc
.
getWorkOrderPowerStationId
());
dto
.
setPeasantHouseholdId
(
basicGridAcceptanc
.
getPeasantHouseholdId
());
dto
.
setPeasantHouseholdId
(
basicGridAcceptanc
.
getPeasantHouseholdId
());
acceptanceCheckItemMapper
.
insert
(
dto
);
acceptanceCheckItemMapper
.
insert
(
dto
);
}
}
// 执行工作流
// 执行工作流
StandardDto
standardDto
=
new
StandardDto
();
StandardDto
standardDto
=
new
StandardDto
();
standardDto
.
setComment
(
dto
.
getComment
());
standardDto
.
setComment
(
dto
.
getComment
());
standardDto
.
setResult
(
dto
.
getApprovalStatus
());
standardDto
.
setResult
(
dto
.
getApprovalStatus
());
standardDto
.
setTaskId
(
basicGridAcceptanc
.
getNextTaskId
());
standardDto
.
setTaskId
(
basicGridAcceptanc
.
getNextTaskId
());
VariableDto
variable
=
new
VariableDto
();
VariableDto
variable
=
new
VariableDto
();
variable
.
setApprovalStatus
(
dto
.
getApprovalStatus
());
variable
.
setApprovalStatus
(
dto
.
getApprovalStatus
());
variable
.
setComment
(
dto
.
getComment
());
variable
.
setComment
(
dto
.
getComment
());
variable
.
setOperationTime
(
dto
.
getOperationTime
());
variable
.
setOperationTime
(
dto
.
getOperationTime
());
variable
.
setOperator
(
dto
.
getOperator
());
variable
.
setOperator
(
dto
.
getOperator
());
standardDto
.
setVariable
(
variable
);
standardDto
.
setVariable
(
variable
);
BasicGridAcceptance
workBasicGridAcceptance
=
workflow
.
standard
(
basicGridAcceptanc
,
standardDto
,
userId
);
BasicGridAcceptance
workBasicGridAcceptance
=
workflow
.
standard
(
basicGridAcceptanc
,
standardDto
,
userId
);
if
(
workBasicGridAcceptance
.
getNextNodeKey
().
equals
(
BasicGridAcceptancEnum
.
管理端工程线下验
.
getCode
()))
{
if
(
workBasicGridAcceptance
.
getNextNodeKey
().
equals
(
BasicGridAcceptancEnum
.
管理端工程线下验
.
getCode
()))
{
// 线下验收
// 线下验收
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
线下验收
.
getCode
());
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
线下验收
.
getCode
());
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
peasantHouseholdMapper
.
update
(
null
,
up
);
peasantHouseholdMapper
.
update
(
null
,
up
);
}
}
// 验收完成
// 验收完成
System
.
out
.
println
(
"验收完成==============================="
+
workBasicGridAcceptance
.
getNextTaskId
());
System
.
out
.
println
(
"验收完成==============================="
+
workBasicGridAcceptance
.
getNextTaskId
());
System
.
out
.
println
(
"验收完成888888==============================="
+
workBasicGridAcceptance
.
getAcceptanceStatus
());
System
.
out
.
println
(
"验收完成888888==============================="
+
workBasicGridAcceptance
.
getAcceptanceStatus
());
if
(
"10"
.
equals
(
workBasicGridAcceptance
.
getAcceptanceStatus
()))
{
if
(
"10"
.
equals
(
workBasicGridAcceptance
.
getAcceptanceStatus
()))
{
// 更新状态
// 更新状态
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
LambdaUpdateWrapper
<
PeasantHousehold
>
up
=
new
LambdaUpdateWrapper
<>();
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
验收完成
.
getCode
());
up
.
set
(
PeasantHousehold:
:
getConstructionState
,
ArrivalStateeEnum
.
验收完成
.
getCode
());
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
long
idsk
=
basicGridAcceptanc
.
getPeasantHouseholdId
();
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
up
.
eq
(
PeasantHousehold:
:
getSequenceNbr
,
idsk
);
peasantHouseholdMapper
.
update
(
null
,
up
);
peasantHouseholdMapper
.
update
(
null
,
up
);
}
}
basicGridAcceptanceMapper
.
updateById
(
workBasicGridAcceptance
);
basicGridAcceptanceMapper
.
updateById
(
workBasicGridAcceptance
);
}
finally
{
redisLockUtil
.
releaseLock
(
lockName
);
}
}
}
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/PowerStationServiceImpl.java
View file @
2e618e11
...
@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.*;
...
@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.*;
import
com.yeejoin.amos.boot.module.hygf.api.fegin.IdxFeginService
;
import
com.yeejoin.amos.boot.module.hygf.api.fegin.IdxFeginService
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.*
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.*
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IPowerStationService
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IPowerStationService
;
import
com.yeejoin.amos.boot.module.hygf.api.util.RedisLockUtil
;
import
com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.component.robot.AmosRequestContext
;
import
com.yeejoin.amos.component.robot.AmosRequestContext
;
...
@@ -23,6 +24,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
...
@@ -23,6 +24,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import
io.seata.spring.annotation.GlobalTransactional
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -34,6 +36,7 @@ import org.typroject.tyboot.core.rdbms.annotation.Condition;
...
@@ -34,6 +36,7 @@ import org.typroject.tyboot.core.rdbms.annotation.Condition;
import
org.typroject.tyboot.core.rdbms.annotation.Operator
;
import
org.typroject.tyboot.core.rdbms.annotation.Operator
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -88,6 +91,8 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
...
@@ -88,6 +91,8 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
WorkflowImpl
workflow
;
WorkflowImpl
workflow
;
@Autowired
@Autowired
HouseholdContractMapper
householdContractMapper
;
HouseholdContractMapper
householdContractMapper
;
@Resource
(
type
=
RedisLockUtil
.
class
)
private
RedisLockUtil
redisLockUtil
;
public
Page
<
PowerStationDto
>
queryForPowerStationUserRoles
(
Page
<
PowerStationDto
>
page
,
String
powerStationCode
,
public
Page
<
PowerStationDto
>
queryForPowerStationUserRoles
(
Page
<
PowerStationDto
>
page
,
String
powerStationCode
,
String
ownersName
,
AgencyUserModel
userInfo
,
String
serviceAgent
,
String
regionalCompaniesName
,
String
processStatus
)
{
String
ownersName
,
AgencyUserModel
userInfo
,
String
serviceAgent
,
String
regionalCompaniesName
,
String
processStatus
)
{
...
@@ -238,6 +243,11 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
...
@@ -238,6 +243,11 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
@Override
@Override
public
String
powerStationExamine
(
long
pageId
,
String
nodeCode
,
String
stationId
,
String
taskId
,
public
String
powerStationExamine
(
long
pageId
,
String
nodeCode
,
String
stationId
,
String
taskId
,
String
planInstanceId
,
Map
<
String
,
Object
>
kv
)
{
String
planInstanceId
,
Map
<
String
,
Object
>
kv
)
{
String
lockName
=
String
.
format
(
"LockName:powerStationExamine:%s"
,
stationId
);
Boolean
isLocked
=
redisLockUtil
.
tryLock
(
lockName
,
lockName
,
10
,
1
);
if
(
BooleanUtils
.
isNotTrue
(
isLocked
))
{
throw
new
com
.
yeejoin
.
amos
.
component
.
robot
.
BadRequest
(
"其他用户正在操作,请稍后再试!"
);
}
String
meg
=
""
;
String
meg
=
""
;
// 1. 业务相关数据落表
// 1. 业务相关数据落表
PowerStation
powerStation
=
this
.
baseMapper
.
selectById
(
stationId
);
PowerStation
powerStation
=
this
.
baseMapper
.
selectById
(
stationId
);
...
@@ -366,8 +376,10 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
...
@@ -366,8 +376,10 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
// }
// }
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
log
.
error
(
"powerStationExamine error:"
,
e
);
}
finally
{
redisLockUtil
.
releaseLock
(
lockName
);
}
}
return
code
;
return
code
;
...
...
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/SurveyInformationServiceImpl.java
View file @
2e618e11
...
@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.module.hygf.api.service.IPowerStationService;
...
@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.module.hygf.api.service.IPowerStationService;
import
com.yeejoin.amos.boot.module.hygf.api.service.ISurveyInformationService
;
import
com.yeejoin.amos.boot.module.hygf.api.service.ISurveyInformationService
;
import
com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils
;
import
com.yeejoin.amos.boot.module.hygf.api.util.BeanDtoUtils
;
import
com.yeejoin.amos.boot.module.hygf.api.util.NumberUtil
;
import
com.yeejoin.amos.boot.module.hygf.api.util.NumberUtil
;
import
com.yeejoin.amos.boot.module.hygf.api.util.RedisLockUtil
;
import
com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.boot.module.hygf.biz.feign.WorkflowFeignClient
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.component.robot.AmosRequestContext
;
import
com.yeejoin.amos.component.robot.AmosRequestContext
;
...
@@ -26,6 +27,7 @@ import com.yeejoin.amos.feign.systemctl.Systemctl;
...
@@ -26,6 +27,7 @@ import com.yeejoin.amos.feign.systemctl.Systemctl;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.BooleanUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -38,6 +40,7 @@ import org.typroject.tyboot.core.foundation.exception.BaseException;
...
@@ -38,6 +40,7 @@ import org.typroject.tyboot.core.foundation.exception.BaseException;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
java.util.stream.Stream
;
...
@@ -125,7 +128,8 @@ public class SurveyInformationServiceImpl
...
@@ -125,7 +128,8 @@ public class SurveyInformationServiceImpl
WorkOrderPowerStationMapper
workOrderPowerStationMapper
;
WorkOrderPowerStationMapper
workOrderPowerStationMapper
;
@Autowired
@Autowired
AmosRequestContext
requestContext
;
AmosRequestContext
requestContext
;
@Resource
(
type
=
RedisLockUtil
.
class
)
private
RedisLockUtil
redisLockUtil
;
@Autowired
@Autowired
WorkflowImpl
workflow
;
WorkflowImpl
workflow
;
...
@@ -145,6 +149,7 @@ public class SurveyInformationServiceImpl
...
@@ -145,6 +149,7 @@ public class SurveyInformationServiceImpl
@GlobalTransactional
@GlobalTransactional
public
SurveyInfoAllDto
saveSurveyInfo
(
SurveyInfoAllDto
surveyInfoAllDto
,
String
operationType
)
{
public
SurveyInfoAllDto
saveSurveyInfo
(
SurveyInfoAllDto
surveyInfoAllDto
,
String
operationType
)
{
String
lockName
=
null
;
try
{
try
{
JSONArray
regionName
=
getRegionName
();
JSONArray
regionName
=
getRegionName
();
...
@@ -153,6 +158,22 @@ public class SurveyInformationServiceImpl
...
@@ -153,6 +158,22 @@ public class SurveyInformationServiceImpl
// 更新勘察基本信息
// 更新勘察基本信息
SurveyInformation
surveyInformation
=
BeanDtoUtils
.
convert
(
surveyInfoAllDto
.
getSurveyInformation
(),
SurveyInformation
surveyInformation
=
BeanDtoUtils
.
convert
(
surveyInfoAllDto
.
getSurveyInformation
(),
SurveyInformation
.
class
);
SurveyInformation
.
class
);
lockName
=
String
.
format
(
"LockName:saveSurveyInfo:%s"
,
surveyInformation
.
getSequenceNbr
());
Boolean
isLocked
=
redisLockUtil
.
tryLock
(
lockName
,
lockName
,
10
,
1
);
if
(
BooleanUtils
.
isNotTrue
(
isLocked
))
{
throw
new
BadRequest
(
"其他用户正在操作,请稍后再试!"
);
}
QueryWrapper
<
PeasantHousehold
>
peasantHouseholdQueryWrapper
=
new
QueryWrapper
<>();
peasantHouseholdQueryWrapper
.
eq
(
"survey_information_id"
,
surveyInformation
.
getSequenceNbr
());
PeasantHousehold
peasantHousehold
=
peasantHouseholdServiceImpl
.
getBaseMapper
()
.
selectOne
(
peasantHouseholdQueryWrapper
);
if
(
ArrivalStateeEnum
.
勘察中
.
getCode
().
equals
(
peasantHousehold
.
getConstructionState
()))
{
throw
new
BadRequest
(
"勘察中,请稍后再试!"
);
}
surveyInformation
.
setReview
(
0
);
surveyInformation
.
setReview
(
0
);
if
(
OPERATION_TYPE_APPLY
.
equals
(
operationType
)
&&
null
==
surveyInformation
.
getCreatorTime
())
{
if
(
OPERATION_TYPE_APPLY
.
equals
(
operationType
)
&&
null
==
surveyInformation
.
getCreatorTime
())
{
surveyInformation
.
setCreatorTime
(
new
Date
());
surveyInformation
.
setCreatorTime
(
new
Date
());
...
@@ -196,10 +217,10 @@ public class SurveyInformationServiceImpl
...
@@ -196,10 +217,10 @@ public class SurveyInformationServiceImpl
.
eq
(
Commercial:
:
getSurveyInformationId
,
surveyInformation
.
getSequenceNbr
()));
.
eq
(
Commercial:
:
getSurveyInformationId
,
surveyInformation
.
getSequenceNbr
()));
//commercialService.saveOrUpdate(commercial);
//commercialService.saveOrUpdate(commercial);
// 勘察后,更新状态
// 勘察后,更新状态
QueryWrapper
<
PeasantHousehold
>
peasantHouseholdQueryWrapper
=
new
QueryWrapper
<>();
//
QueryWrapper<PeasantHousehold> peasantHouseholdQueryWrapper = new QueryWrapper<>();
peasantHouseholdQueryWrapper
.
eq
(
"survey_information_id"
,
surveyInformation
.
getSequenceNbr
());
//
peasantHouseholdQueryWrapper.eq("survey_information_id", surveyInformation.getSequenceNbr());
PeasantHousehold
peasantHousehold
=
peasantHouseholdServiceImpl
.
getBaseMapper
()
//
PeasantHousehold peasantHousehold = peasantHouseholdServiceImpl.getBaseMapper()
.
selectOne
(
peasantHouseholdQueryWrapper
);
//
.selectOne(peasantHouseholdQueryWrapper);
// 更新资料归档信息
// 更新资料归档信息
Information
information
=
BeanDtoUtils
.
convert
(
surveyInfoAllDto
.
getInformation
(),
Information
.
class
);
Information
information
=
BeanDtoUtils
.
convert
(
surveyInfoAllDto
.
getInformation
(),
Information
.
class
);
...
@@ -282,6 +303,10 @@ public class SurveyInformationServiceImpl
...
@@ -282,6 +303,10 @@ public class SurveyInformationServiceImpl
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
finally
{
if
(
StringUtils
.
isNotEmpty
(
lockName
))
{
redisLockUtil
.
releaseLock
(
lockName
);
}
}
}
return
surveyInfoAllDto
;
return
surveyInfoAllDto
;
...
@@ -371,6 +396,7 @@ public class SurveyInformationServiceImpl
...
@@ -371,6 +396,7 @@ public class SurveyInformationServiceImpl
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
log
.
error
(
"submitExamine error:"
,
e
);
}
}
// PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()), PowerStationProcessStateEnum.作废.getCode());
// PowerStation powerStation = powerStationService.getObjByNhId(String.valueOf(peasantHousehold.getSequenceNbr()), PowerStationProcessStateEnum.作废.getCode());
...
...
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