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
444ef558
Commit
444ef558
authored
Aug 25, 2023
by
zhangsen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
赋码等业务开发
parent
b82fd2bc
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
190 additions
and
189 deletions
+190
-189
PersonYardTimeTask.java
...oot/module/jxiop/biz/service/impl/PersonYardTimeTask.java
+3
-2
application.properties
...p-bigscreen-biz/src/main/resources/application.properties
+1
-1
PersonYardTimeTask.java
...oot/module/jxiop/biz/service/impl/PersonYardTimeTask.java
+186
-186
No files found.
amos-boot-system-jxiop/amos-boot-module-jxiop-bigscreen-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/PersonYardTimeTask.java
View file @
444ef558
...
@@ -67,7 +67,8 @@ public class PersonYardTimeTask {
...
@@ -67,7 +67,8 @@ public class PersonYardTimeTask {
@Scheduled
(
cron
=
"0 0 0 1/1 * ? "
)
// @Scheduled(cron = "0 0 0 1/1 * ? ")
@Scheduled
(
cron
=
"0 0/3 * * * ?"
)
public
void
timeYardTimeTask
()
{
public
void
timeYardTimeTask
()
{
if
(!
redisUtils
.
hasKey
(
Constants
.
JXIOP_DICT_POST
)
||
!
redisUtils
.
hasKey
(
Constants
.
JXIOP_DICT_CERTIFICATES
))
{
if
(!
redisUtils
.
hasKey
(
Constants
.
JXIOP_DICT_POST
)
||
!
redisUtils
.
hasKey
(
Constants
.
JXIOP_DICT_CERTIFICATES
))
{
personBasicService
.
addRedisPostAndCerInfo
();
personBasicService
.
addRedisPostAndCerInfo
();
...
@@ -135,7 +136,7 @@ public class PersonYardTimeTask {
...
@@ -135,7 +136,7 @@ public class PersonYardTimeTask {
personBasic
.
setQrcodeDesc
(
"证书临期"
);
personBasic
.
setQrcodeDesc
(
"证书临期"
);
}
}
if
(!
qrcodeDescOld
.
equals
(
personBasic
.
getQrcodeDesc
()))
{
if
(
StringUtils
.
isEmpty
(
qrcodeDescOld
)
||
!
qrcodeDescOld
.
equals
(
personBasic
.
getQrcodeDesc
()))
{
personBasic
.
setRecDate
(
new
Date
());
personBasic
.
setRecDate
(
new
Date
());
personBasicService
.
updateById
(
personBasic
);
personBasicService
.
updateById
(
personBasic
);
if
((
"证书不全"
.
equals
(
personBasic
.
getQrcodeDesc
())
||
if
((
"证书不全"
.
equals
(
personBasic
.
getQrcodeDesc
())
||
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-bigscreen-biz/src/main/resources/application.properties
View file @
444ef558
spring.application.name
=
AMOS-JXIOP-BIGSCREEN
spring.application.name
=
AMOS-JXIOP-BIGSCREEN
-ZS
server.servlet.context-path
=
/jxiop-bigscreen
server.servlet.context-path
=
/jxiop-bigscreen
server.port
=
33300
server.port
=
33300
server.uri-encoding
=
UTF-8
server.uri-encoding
=
UTF-8
...
...
amos-boot-system-jxiop/amos-boot-module-jxiop-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/PersonYardTimeTask.java
View file @
444ef558
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jxiop
.
biz
.
service
.
impl
;
//
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
//
import
com.alibaba.fastjson.JSON
;
//
import com.alibaba.fastjson.JSON;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
//
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
//
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
//
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import
com.yeejoin.amos.boot.biz.common.feign.AmosFeignService
;
//
import com.yeejoin.amos.boot.biz.common.feign.AmosFeignService;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
//
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
//
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import
com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodeColorEnum
;
//
import com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodeColorEnum;
import
com.yeejoin.amos.boot.module.jxiop.api.dto.BizMessage
;
//
import com.yeejoin.amos.boot.module.jxiop.api.dto.BizMessage;
import
com.yeejoin.amos.boot.module.jxiop.api.dto.RiskBizInfoVo
;
//
import com.yeejoin.amos.boot.module.jxiop.api.dto.RiskBizInfoVo;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonAccount
;
//
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonAccount;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic
;
//
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.PersonCertificate
;
//
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonCertificate;
import
com.yeejoin.amos.boot.module.jxiop.api.entity.StationQrCodeStatistics
;
//
import com.yeejoin.amos.boot.module.jxiop.api.entity.StationQrCodeStatistics;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonAccountMapper
;
//
import com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonAccountMapper;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonBasicMapper
;
//
import com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonBasicMapper;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonCertificateMapper
;
//
import com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonCertificateMapper;
import
com.yeejoin.amos.boot.module.jxiop.api.mapper.StationQrCodeStatisticsMapper
;
//
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationQrCodeStatisticsMapper;
import
com.yeejoin.amos.boot.module.jxiop.api.util.Constants
;
//
import com.yeejoin.amos.boot.module.jxiop.api.util.Constants;
import
com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel
;
//
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import
lombok.extern.slf4j.Slf4j
;
//
import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.lang3.StringUtils
;
//
import org.apache.commons.lang3.StringUtils;
import
org.eclipse.paho.client.mqttv3.MqttException
;
//
import org.eclipse.paho.client.mqttv3.MqttException;
import
org.springframework.beans.factory.annotation.Autowired
;
//
import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.scheduling.annotation.Scheduled
;
//
import org.springframework.scheduling.annotation.Scheduled;
import
org.springframework.stereotype.Component
;
//
import org.springframework.stereotype.Component;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
//
import org.typroject.tyboot.component.emq.EmqKeeper;
//
import
java.nio.charset.StandardCharsets
;
//
import java.nio.charset.StandardCharsets;
import
java.text.ParseException
;
//
import java.text.ParseException;
import
java.util.*
;
//
import java.util.*;
import
java.util.stream.Collectors
;
//
import java.util.stream.Collectors;
//
@Slf4j
//
@Slf4j
@Component
//
@Component
public
class
PersonYardTimeTask
{
//
public class PersonYardTimeTask {
//
@Autowired
//
@Autowired
PersonBasicMapper
personBasicMapper
;
//
PersonBasicMapper personBasicMapper;
//
@Autowired
//
@Autowired
PersonBasicServiceImpl
personBasicService
;
//
PersonBasicServiceImpl personBasicService;
//
//人员资质信息service
//
//人员资质信息service
@Autowired
//
@Autowired
PersonCertificateMapper
personCertificateMapper
;
//
PersonCertificateMapper personCertificateMapper;
//
@Autowired
//
@Autowired
private
AmosFeignService
amosFeignService
;
//
private AmosFeignService amosFeignService;
//
@Autowired
//
@Autowired
private
RedisUtils
redisUtils
;
//
private RedisUtils redisUtils;
//
@Autowired
//
@Autowired
private
PersonAccountMapper
personAccountMapper
;
//
private PersonAccountMapper personAccountMapper;
//
@Autowired
//
@Autowired
protected
EmqKeeper
emqKeeper
;
//
protected EmqKeeper emqKeeper;
//
@Autowired
//
@Autowired
private
StationQrCodeStatisticsMapper
stationQrCodeStatisticsMapper
;
//
private StationQrCodeStatisticsMapper stationQrCodeStatisticsMapper;
//
@Autowired
//
@Autowired
private
StationQrCodeStatisticsServiceImpl
stationQrCodeStatisticsService
;
//
private StationQrCodeStatisticsServiceImpl stationQrCodeStatisticsService;
//
//
//
// @Scheduled(cron = "0 0 0 1/1 * ? ")
//
//
@Scheduled(cron = "0 0 0 1/1 * ? ")
// 已迁移至大屏服务
//
//
已迁移至大屏服务
public
void
timeYardTimeTask
()
{
//
public void timeYardTimeTask() {
if
(!
redisUtils
.
hasKey
(
Constants
.
JXIOP_DICT_POST
)
||
!
redisUtils
.
hasKey
(
Constants
.
JXIOP_DICT_CERTIFICATES
))
{
//
if (!redisUtils.hasKey(Constants.JXIOP_DICT_POST) || !redisUtils.hasKey(Constants.JXIOP_DICT_CERTIFICATES)) {
personBasicService
.
addRedisPostAndCerInfo
();
//
personBasicService.addRedisPostAndCerInfo();
}
//
}
// 岗位所需证书信息
//
// 岗位所需证书信息
Map
<
String
,
String
>
postNameMap
=
(
Map
<
String
,
String
>)
redisUtils
.
get
(
Constants
.
JXIOP_DICT_POST
);
//
Map<String, String> postNameMap = (Map<String, String>) redisUtils.get(Constants.JXIOP_DICT_POST);
// 证书临期信息
//
// 证书临期信息
Map
<
String
,
String
>
certificatesMap
=
(
Map
<
String
,
String
>)
redisUtils
.
get
(
Constants
.
JXIOP_DICT_CERTIFICATES
);
//
Map<String, String> certificatesMap = (Map<String, String>) redisUtils.get(Constants.JXIOP_DICT_CERTIFICATES);
List
<
PersonBasic
>
personBasicList
=
personBasicMapper
.
selectList
(
null
);
//
List<PersonBasic> personBasicList = personBasicMapper.selectList(null);
//
List
<
PersonCertificate
>
personCertificates
=
personCertificateMapper
.
selectList
(
null
);
//
List<PersonCertificate> personCertificates = personCertificateMapper.selectList(null);
//
List
<
PersonAccount
>
personAccounts
=
personAccountMapper
.
selectList
(
null
);
//
List<PersonAccount> personAccounts = personAccountMapper.selectList(null);
Map
<
Long
,
PersonAccount
>
personAccountMap
=
personAccounts
.
stream
().
collect
(
Collectors
.
toMap
(
PersonAccount:
:
getPersonId
,
t
->
t
));
//
Map<Long, PersonAccount> personAccountMap = personAccounts.stream().collect(Collectors.toMap(PersonAccount::getPersonId, t -> t));
Map
<
Long
,
List
<
PersonCertificate
>>
perCertificateMap
=
personCertificates
.
stream
().
filter
(
item
->
ObjectUtils
.
isNotEmpty
(
item
.
getPersonId
())).
collect
(
Collectors
.
groupingBy
(
PersonCertificate:
:
getPersonId
));
//
Map<Long, List<PersonCertificate>> perCertificateMap = personCertificates.stream().filter(item -> ObjectUtils.isNotEmpty(item.getPersonId())).collect(Collectors.groupingBy(PersonCertificate::getPersonId));
//
List
<
PersonBasic
>
personBasics
=
new
ArrayList
<>();
//
List<PersonBasic> personBasics = new ArrayList<>();
personBasicList
.
forEach
(
personBasic
->
{
//
personBasicList.forEach(personBasic -> {
PersonAccount
personAccount
=
personAccountMap
.
get
(
personBasic
.
getSequenceNbr
());
//
PersonAccount personAccount = personAccountMap.get(personBasic.getSequenceNbr());
//
List
<
PersonCertificate
>
personCertificateList
=
perCertificateMap
.
get
(
personBasic
.
getSequenceNbr
());
//
List<PersonCertificate> personCertificateList = perCertificateMap.get(personBasic.getSequenceNbr());
//默认红码
//
//默认红码
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
RED
.
getCode
());
//
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
// 该岗位应获得的证书
//
// 该岗位应获得的证书
List
<
String
>
list2
=
new
ArrayList
<>();
//
List<String> list2 = new ArrayList<>();
if
(
StringUtils
.
isNotEmpty
(
personBasic
.
getPostName
()))
{
//
if (StringUtils.isNotEmpty(personBasic.getPostName())) {
String
certificates
=
String
.
valueOf
(
postNameMap
.
get
(
personBasic
.
getPostName
()));
//
String certificates = String.valueOf(postNameMap.get(personBasic.getPostName()));
if
(!
StringUtils
.
isEmpty
(
certificates
))
{
//
if (!StringUtils.isEmpty(certificates)) {
list2
=
Arrays
.
asList
(
certificates
.
split
(
","
));
//
list2 = Arrays.asList(certificates.split(","));
}
//
}
}
//
}
List
<
String
>
list
=
new
ArrayList
(
list2
);
//
List<String> list = new ArrayList(list2);
//人员资质信息
//
//人员资质信息
Integer
isInMonth
=
0
;
//
Integer isInMonth = 0;
Integer
isOver
=
0
;
//
Integer isOver = 0;
//
if
(
CollectionUtils
.
isNotEmpty
(
personCertificateList
))
{
//
if (CollectionUtils.isNotEmpty(personCertificateList)) {
for
(
PersonCertificate
item
:
personCertificateList
)
{
//
for (PersonCertificate item : personCertificateList) {
int
validPeriod
=
StringUtils
.
isEmpty
(
item
.
getValidPeriod
())
?
3
:
Integer
.
parseInt
(
item
.
getValidPeriod
());
//
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod());
Date
date
=
DateUtils
.
dateAddYears
(
item
.
getCertificateTime
(),
validPeriod
);
//
Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod);
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
//
if (list.contains(item.getCertificateName()) &&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
-
1
)
{
//
DateUtils.dateCompare(date, new Date()) == -1) {
isOver
=
1
;
//
isOver = 1;
}
//
}
try
{
//
try {
if
(
list
.
contains
(
item
.
getCertificateName
())
&&
//
if (list.contains(item.getCertificateName()) &&
DateUtils
.
dateBetweenIncludeToday
(
new
Date
(),
date
)
<
Integer
.
valueOf
(
certificatesMap
.
get
(
item
.
getCertificateName
()))
&&
//
DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) &&
DateUtils
.
dateCompare
(
date
,
new
Date
())
==
1
)
{
//
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth
=
1
;
//
isInMonth = 1;
}
//
}
}
catch
(
ParseException
e
)
{
//
} catch (ParseException e) {
e
.
printStackTrace
();
//
e.printStackTrace();
}
//
}
list
.
remove
(
item
.
getCertificateName
());
//
list.remove(item.getCertificateName());
}
//
}
}
//
}
String
qrcodeDescOld
=
personBasic
.
getQrcodeDesc
();
//
String qrcodeDescOld = personBasic.getQrcodeDesc();
String
qrcodeColorOld
=
personBasic
.
getQrcodeColor
();
//
String qrcodeColorOld = personBasic.getQrcodeColor();
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isInMonth
==
0
&&
isOver
==
0
)
{
//
if (CollectionUtils.isEmpty(list) && isInMonth == 0 && isOver == 0) {
personBasic
.
setQrcodeColor
(
QrcodeColorEnum
.
GREEN
.
getCode
());
//
personBasic.setQrcodeColor(QrcodeColorEnum.GREEN.getCode());
personBasic
.
setQrcodeDesc
(
"证书齐全"
);
//
personBasic.setQrcodeDesc("证书齐全");
}
else
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isOver
==
1
)
{
//
} else if (CollectionUtils.isEmpty(list) && isOver == 1) {
personBasic
.
setQrcodeDesc
(
"证书不全"
);
//
personBasic.setQrcodeDesc("证书不全");
}
else
if
(
CollectionUtils
.
isEmpty
(
list
)
&&
isOver
==
0
&&
isInMonth
==
1
)
{
//
} else if (CollectionUtils.isEmpty(list) && isOver == 0 && isInMonth == 1) {
personBasic
.
setQrcodeDesc
(
"证书临期"
);
//
personBasic.setQrcodeDesc("证书临期");
}
//
}
//
if
(!
qrcodeDescOld
.
equals
(
personBasic
.
getQrcodeDesc
()))
{
//
if (!qrcodeDescOld.equals(personBasic.getQrcodeDesc())) {
personBasic
.
setRecDate
(
new
Date
());
//
personBasic.setRecDate(new Date());
personBasicService
.
updateById
(
personBasic
);
//
personBasicService.updateById(personBasic);
if
((
"证书不全"
.
equals
(
personBasic
.
getQrcodeDesc
())
||
//
if (("证书不全".equals(personBasic.getQrcodeDesc()) ||
"证书临期"
.
equals
(
personBasic
.
getQrcodeDesc
())))
{
//
"证书临期".equals(personBasic.getQrcodeDesc()))) {
BizMessage
bizMessage
=
new
BizMessage
();
//
BizMessage bizMessage = new BizMessage();
bizMessage
.
setIndexKey
(
"RYFM"
);
//
bizMessage.setIndexKey("RYFM");
bizMessage
.
setIndexValue
(
personBasic
.
getPostName
()
+
personBasic
.
getQrcodeDesc
());
//
bizMessage.setIndexValue(personBasic.getPostName() + personBasic.getQrcodeDesc());
RiskBizInfoVo
riskBizInfoVo
=
personBasicService
.
fetchData
(
personBasic
,
personAccount
);
//
RiskBizInfoVo riskBizInfoVo = personBasicService.fetchData(personBasic, personAccount);
bizMessage
.
setBizInfo
(
riskBizInfoVo
);
//
bizMessage.setBizInfo(riskBizInfoVo);
try
{
//
try {
emqKeeper
.
getMqttClient
().
publish
(
PersonBasicServiceImpl
.
RYFM_DATA_MQTT_TOPIC
,
JSON
.
toJSONString
(
bizMessage
).
getBytes
(
StandardCharsets
.
UTF_8
),
2
,
false
);
//
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
}
catch
(
MqttException
e
)
{
//
} catch (MqttException e) {
e
.
printStackTrace
();
//
e.printStackTrace();
}
//
}
}
//
}
}
else
if
(
"证书齐全"
.
equals
(
personBasic
.
getQrcodeDesc
()))
{
//
} else if ("证书齐全".equals(personBasic.getQrcodeDesc())) {
HashMap
<
String
,
String
>
personMap
=
new
HashMap
<>();
//
HashMap<String, String> personMap = new HashMap<>();
personMap
.
put
(
"objectId"
,
String
.
valueOf
(
personBasic
.
getSequenceNbr
()));
//
personMap.put("objectId", String.valueOf(personBasic.getSequenceNbr()));
personMap
.
put
(
"qrCodeColor"
,
qrcodeColorOld
);
//
personMap.put("qrCodeColor", qrcodeColorOld);
personMap
.
put
(
"warningObjectType"
,
"RYFM"
);
//
personMap.put("warningObjectType", "RYFM");
personMap
.
put
(
"sourceAttribution"
,
personBasic
.
getProjectOrgCode
());
//
personMap.put("sourceAttribution", personBasic.getProjectOrgCode());
personMap
.
put
(
"sourceAttributionDesc"
,
personAccount
.
getProjectName
());
//
personMap.put("sourceAttributionDesc", personAccount.getProjectName());
try
{
//
try {
emqKeeper
.
getMqttClient
().
publish
(
PersonBasicServiceImpl
.
RYFM_GREEN
,
JSON
.
toJSONString
(
personMap
).
getBytes
(
StandardCharsets
.
UTF_8
),
2
,
false
);
//
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_GREEN, JSON.toJSONString(personMap).getBytes(StandardCharsets.UTF_8), 2, false);
}
catch
(
MqttException
e
)
{
//
} catch (MqttException e) {
e
.
printStackTrace
();
//
e.printStackTrace();
}
//
}
}
//
}
});
//
});
}
//
}
//
//
// @Scheduled(cron = "0 55 23 1/1 * ? ")
//
//
@Scheduled(cron = "0 55 23 1/1 * ? ")
// @Scheduled(cron = "0 0/30 * * * ? ")
//
//
@Scheduled(cron = "0 0/30 * * * ? ")
// 已迁移至大屏服务
//
// 已迁移至大屏服务
public
void
stationQrCodeStatisticsData
()
{
//
public void stationQrCodeStatisticsData() {
LambdaQueryWrapper
<
StationQrCodeStatistics
>
qw
=
new
LambdaQueryWrapper
<>();
//
LambdaQueryWrapper<StationQrCodeStatistics> qw = new LambdaQueryWrapper<>();
qw
.
eq
(
StationQrCodeStatistics:
:
getRecordDate
,
DateUtils
.
getDateNowShortStr
());
//
qw.eq(StationQrCodeStatistics::getRecordDate, DateUtils.getDateNowShortStr());
Integer
integer
=
stationQrCodeStatisticsMapper
.
selectCount
(
qw
);
//
Integer integer = stationQrCodeStatisticsMapper.selectCount(qw);
if
(
integer
<=
0
)
{
//
if (integer <= 0) {
List
<
StationQrCodeStatistics
>
personStatistics
=
personBasicMapper
.
getPersonStatistics
();
//
List<StationQrCodeStatistics> personStatistics = personBasicMapper.getPersonStatistics();
stationQrCodeStatisticsService
.
saveBatch
(
personStatistics
);
//
stationQrCodeStatisticsService.saveBatch(personStatistics);
}
//
}
}
//
}
//
//
}
//
}
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