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
3a790b61
Commit
3a790b61
authored
Oct 22, 2024
by
suhuiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop_tzs_bugfix' of
http://36.40.66.175:5000/moa/amos-boot-biz…
Merge branch 'develop_tzs_bugfix' of
http://36.40.66.175:5000/moa/amos-boot-biz
into develop_tzs_bugfix
parents
7caac0b7
dae2ba70
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
202 additions
and
15 deletions
+202
-15
JgChangeRegistrationUnitController.java
...jg/biz/controller/JgChangeRegistrationUnitController.java
+16
-0
JgChangeRegistrationUnitServiceImpl.java
...biz/service/impl/JgChangeRegistrationUnitServiceImpl.java
+105
-1
JgUseRegistrationManageServiceImpl.java
.../biz/service/impl/JgUseRegistrationManageServiceImpl.java
+81
-14
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/controller/JgChangeRegistrationUnitController.java
View file @
3a790b61
...
@@ -202,4 +202,20 @@ public class JgChangeRegistrationUnitController extends BaseController {
...
@@ -202,4 +202,20 @@ public class JgChangeRegistrationUnitController extends BaseController {
jgChangeRegistrationUnitServiceImpl
.
exportUseRegistrationCertificate
(
sequenceNbr
,
response
,
printType
);
jgChangeRegistrationUnitServiceImpl
.
exportUseRegistrationCertificate
(
sequenceNbr
,
response
,
printType
);
}
}
/**
* bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)
*
* @param applyNos 单位变更的申请编号
* @return result
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/bug24304"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)"
,
notes
=
"bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去"
)
public
ResponseModel
<
String
>
bug24304
(
@RequestParam
(
value
=
"applyNos"
)
@ApiParam
(
value
=
"单位变更的申请编号,多个用逗号分隔"
)
String
applyNos
)
{
jgChangeRegistrationUnitServiceImpl
.
bug24304Handle
(
applyNos
);
return
ResponseHelper
.
buildResponse
(
"申请单号:"
+
applyNos
+
"数据修改成功"
);
}
}
}
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/JgChangeRegistrationUnitServiceImpl.java
View file @
3a790b61
...
@@ -24,8 +24,8 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationUnitServ
...
@@ -24,8 +24,8 @@ import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationUnitServ
import
com.yeejoin.amos.boot.module.jg.api.vo.SortVo
;
import
com.yeejoin.amos.boot.module.jg.api.vo.SortVo
;
import
com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
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.jg.biz.feign.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICommonService
;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis
;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
...
@@ -1352,4 +1352,107 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
...
@@ -1352,4 +1352,107 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
commonServiceImpl
.
saveExecuteFlowData2Redis
(
jgChangeRegistrationUnit
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgChangeRegistrationUnit
));
commonServiceImpl
.
saveExecuteFlowData2Redis
(
jgChangeRegistrationUnit
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgChangeRegistrationUnit
));
}
}
/**
* bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)
*/
public
void
bug24304Handle
(
String
applyNos
)
{
/* // 查询单位变更登记的历史数据
List<JgRegistrationHistory> historyList = jgRegistrationHistoryMapper.selectList(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getRegistrationClass, "单位变更登记"));
// 过滤出异常数据
List<JgRegistrationHistory> targetHistory = historyList
.stream()
.filter(item -> {
try {
return JSONArray.parseArray(item.getChangeData()).size() > 10;
} catch (Exception ex) {
return false;
}
})
.collect(Collectors.toList()); */
List
<
String
>
applyNoList
=
Arrays
.
asList
(
applyNos
.
split
(
","
));
applyNoList
.
forEach
(
applyNo
->{
// 查询单位变更登记的历史数据
JgRegistrationHistory
history
=
jgRegistrationHistoryMapper
.
selectOne
(
new
LambdaQueryWrapper
<
JgRegistrationHistory
>()
.
eq
(
JgRegistrationHistory:
:
getRegistrationClass
,
"单位变更登记"
)
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
applyNo
));
// 查询变更数据
JgChangeRegistrationUnit
registrationUnit
=
this
.
baseMapper
.
selectOne
(
new
LambdaQueryWrapper
<
JgChangeRegistrationUnit
>()
.
eq
(
JgChangeRegistrationUnit:
:
getApplyNo
,
history
.
getCurrentDocumentId
()));
// 查询已经入库的设备id
List
<
String
>
inEqTableEquId
=
jgChangeRegistrationUnitEqMapper
.
selectList
(
new
LambdaQueryWrapper
<
JgChangeRegistrationUnitEq
>()
.
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
registrationUnit
.
getSequenceNbr
()))
.
stream
()
.
map
(
JgChangeRegistrationUnitEq:
:
getEquId
)
.
collect
(
Collectors
.
toList
());
// 查询单子下的所有使用登记证的seq
List
<
Long
>
certificateSeq
=
JSONArray
.
parseArray
(
history
.
getChangeData
()).
stream
().
map
(
item
->
Long
.
valueOf
((
String
)
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
item
)).
get
(
"sequenceNbr"
))).
collect
(
Collectors
.
toList
());
// 使用登记证下的所有设备
List
<
JSONObject
>
equJSONList
=
registrationManageService
.
queryEquByCertificateSeqList
(
certificateSeq
);
// 过滤出未入库的设备
List
<
JSONObject
>
toBeProcessedEq
=
equJSONList
.
stream
().
filter
(
item
->
!
inEqTableEquId
.
contains
(
item
.
getString
(
"SEQUENCE_NBR"
))).
collect
(
Collectors
.
toList
());
// 将未入库设备 保存到eq表
this
.
bug24304HandleSaveLackEqu
(
toBeProcessedEq
,
registrationUnit
);
// 将未入库设备 更新es和otherInfo表的使用单位信息
this
.
bug24304HandleUpdateLackEquForES
(
toBeProcessedEq
,
registrationUnit
);
this
.
bug24304HandleUpdateLackEquForUseInfo
(
toBeProcessedEq
,
registrationUnit
);
});
// for (JgRegistrationHistory history : targetHistory) {
// }
}
/**
* 保存漏掉的设备
*/
public
void
bug24304HandleSaveLackEqu
(
List
<
JSONObject
>
deviceList
,
JgChangeRegistrationUnit
registrationUnit
)
{
List
<
JgChangeRegistrationUnitEq
>
jgRelationEquipList
=
new
ArrayList
<>();
deviceList
.
forEach
(
device
->
{
JgChangeRegistrationUnitEq
unitEq
=
new
JgChangeRegistrationUnitEq
();
if
(
device
.
containsKey
(
"USE_ORG_CODE"
))
{
unitEq
.
setRegistrationCertificate
(
device
.
getString
(
"USE_ORG_CODE"
));
//使用登记证主键
}
if
(
device
.
containsKey
(
"SEQUENCE_NBR"
))
{
unitEq
.
setEquId
(
device
.
getString
(
"SEQUENCE_NBR"
));
//设备主键
}
unitEq
.
setUnitChangeRegistrationId
(
registrationUnit
.
getSequenceNbr
().
toString
());
//单位变更业务主键
unitEq
.
setDeviceInfo
(
JSONObject
.
toJSONString
(
device
));
//设备信息json
jgRelationEquipList
.
add
(
unitEq
);
});
registrationUnitEqService
.
saveBatch
(
jgRelationEquipList
);
}
/**
* 修改es漏掉的设备
*/
public
void
bug24304HandleUpdateLackEquForES
(
List
<
JSONObject
>
deviceList
,
JgChangeRegistrationUnit
registration
)
{
deviceList
.
forEach
(
device
->
{
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
String
[]
companyCode
=
registration
.
getNewUseUnitCreditCode
().
split
(
"_"
);
map1
.
put
(
"USE_UNIT_CREDIT_CODE"
,
companyCode
.
length
>
1
?
companyCode
[
1
]
:
registration
.
getNewUseUnitCreditCode
());
map1
.
put
(
"USE_UNIT_NAME"
,
registration
.
getNewUseUnitName
());
map1
.
put
(
"REC_DATE"
,
registration
.
getCreateDate
());
resultMap
.
put
(
device
.
getString
(
"SEQUENCE_NBR"
),
map1
);
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
resultMap
);
});
}
/**
* 修改使用信息表中漏掉的设备
*/
public
void
bug24304HandleUpdateLackEquForUseInfo
(
List
<
JSONObject
>
deviceList
,
JgChangeRegistrationUnit
registration
)
{
deviceList
.
forEach
(
device
->
{
LambdaQueryWrapper
<
UseInfo
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
UseInfo:
:
getRecord
,
device
.
getString
(
"SEQUENCE_NBR"
));
UseInfo
useInfo
=
useInfoMapper
.
selectOne
(
queryWrapper
);
if
(
ObjectUtils
.
isNotEmpty
(
useInfo
))
{
useInfo
.
setUseUnitName
(
registration
.
getNewUseUnitName
());
useInfo
.
setUseUnitCreditCode
(
registration
.
getNewUseUnitCreditCode
());
useInfoMapper
.
updateById
(
useInfo
);
}
});
}
}
}
\ No newline at end of file
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/JgUseRegistrationManageServiceImpl.java
View file @
3a790b61
...
@@ -21,14 +21,20 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
...
@@ -21,14 +21,20 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.lucene.queryparser.classic.QueryParser
;
import
org.apache.lucene.queryparser.classic.QueryParser
;
import
org.elasticsearch.action.search.ClearScrollRequest
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.action.search.SearchScrollRequest
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.core.TimeValue
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.TermsQueryBuilder
;
import
org.elasticsearch.index.query.TermsQueryBuilder
;
import
org.elasticsearch.search.Scroll
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -51,6 +57,7 @@ import java.text.SimpleDateFormat;
...
@@ -51,6 +57,7 @@ import java.text.SimpleDateFormat;
import
java.time.LocalDate
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
parseArray
;
import
static
com
.
alibaba
.
fastjson
.
JSON
.
parseArray
;
...
@@ -114,6 +121,9 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
...
@@ -114,6 +121,9 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
@Autowired
@Autowired
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
private
RedisTemplate
<
String
,
String
>
redisTemplate
;
private
static
final
long
SCROLL_TIMEOUT
=
180000
;
private
static
final
int
SIZE
=
1000
;
/**
/**
* 将已经通过使用登记审批的证信息录入到 jg-use-registration-manage 表中
* 将已经通过使用登记审批的证信息录入到 jg-use-registration-manage 表中
...
@@ -343,30 +353,87 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
...
@@ -343,30 +353,87 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
if
(
ValidationUtil
.
isEmpty
(
jgUseRegistrationManageList
))
{
if
(
ValidationUtil
.
isEmpty
(
jgUseRegistrationManageList
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
List
<
JSONObject
>
result
=
new
ArrayList
<>();
//
List<JSONObject> result = new ArrayList<>();
Set
<
String
>
useOrgCodes
=
jgUseRegistrationManageList
.
stream
().
map
(
JgUseRegistrationManage:
:
getUseRegistrationCode
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
useOrgCodes
=
jgUseRegistrationManageList
.
stream
().
map
(
JgUseRegistrationManage:
:
getUseRegistrationCode
).
collect
(
Collectors
.
toSet
());
// es中通过查询【使用登记证编号】所有设备
// es中通过查询【使用登记证编号】所有设备
SearchRequest
request
=
new
SearchRequest
(
"idx_biz_view_jg_all"
);
//
SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
//
SearchSourceBuilder builder = new SearchSourceBuilder();
builder
.
trackTotalHits
(
true
);
//
builder.trackTotalHits(true);
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
"USE_ORG_CODE"
,
useOrgCodes
);
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
"USE_ORG_CODE"
,
useOrgCodes
);
boolQuery
.
must
(
termsQuery
);
boolQuery
.
must
(
termsQuery
);
builder
.
query
(
boolQuery
);
//
builder.query(boolQuery);
builder
.
size
(
useOrgCodes
.
size
());
//
builder.size(useOrgCodes.size());
request
.
source
(
builder
);
//
request.source(builder);
List
<
JSONObject
>
result
=
Collections
.
emptyList
();
try
{
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
result
=
searchResponse
(
"idx_biz_view_jg_all"
,
boolQuery
,
hit
->
JSONObject
.
parseObject
(
hit
.
getSourceAsString
(),
JSONObject
.
class
));
for
(
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
}
catch
(
Exception
ex
){
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
hit
);
ex
.
printStackTrace
();
JSONObject
dto2
=
jsonObject
.
getJSONObject
(
"sourceAsMap"
);
}
result
.
add
(
dto2
);
// try {
// SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
// for (SearchHit hit : response.getHits().getHits()) {
// JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
// JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
// result.add(dto2);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
return
result
;
}
/**
* 构建SearchResponse
*
* @param indices 索引
* @param query queryBuilder
* @param fun 返回函数
* @param <T> 返回类型
* @return List, 可以使用fun转换为T结果
* @throws Exception e
*/
public
<
T
>
List
<
T
>
searchResponse
(
String
indices
,
QueryBuilder
query
,
Function
<
SearchHit
,
T
>
fun
)
throws
Exception
{
SearchRequest
request
=
new
SearchRequest
(
indices
);
Scroll
scroll
=
new
Scroll
(
TimeValue
.
timeValueMillis
(
SCROLL_TIMEOUT
));
SearchSourceBuilder
sourceBuilder
=
new
SearchSourceBuilder
();
sourceBuilder
.
query
(
query
);
sourceBuilder
.
size
(
SIZE
);
request
.
scroll
(
scroll
);
request
.
source
(
sourceBuilder
);
List
<
String
>
scrollIdList
=
new
ArrayList
<>();
List
<
T
>
result
=
new
ArrayList
<>();
SearchResponse
searchResponse
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
String
scrollId
=
searchResponse
.
getScrollId
();
SearchHit
[]
hits
=
searchResponse
.
getHits
().
getHits
();
scrollIdList
.
add
(
scrollId
);
try
{
while
(
ArrayUtils
.
isNotEmpty
(
hits
))
{
for
(
SearchHit
hit
:
hits
)
{
result
.
add
(
fun
.
apply
(
hit
));
}
if
(
hits
.
length
<
SIZE
)
{
break
;
}
SearchScrollRequest
searchScrollRequest
=
new
SearchScrollRequest
(
scrollId
);
searchScrollRequest
.
scroll
(
scroll
);
SearchResponse
searchScrollResponse
=
restHighLevelClient
.
scroll
(
searchScrollRequest
,
RequestOptions
.
DEFAULT
);
scrollId
=
searchScrollResponse
.
getScrollId
();
hits
=
searchScrollResponse
.
getHits
().
getHits
();
scrollIdList
.
add
(
scrollId
);
}
}
}
catch
(
Exception
e
)
{
}
finally
{
e
.
printStackTrace
();
ClearScrollRequest
clearScrollRequest
=
new
ClearScrollRequest
();
clearScrollRequest
.
setScrollIds
(
scrollIdList
);
restHighLevelClient
.
clearScroll
(
clearScrollRequest
,
RequestOptions
.
DEFAULT
);
}
}
return
result
;
return
result
;
}
}
...
...
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