@ -264,6 +264,10 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
RuleList ruleList = new RuleList ( ) ;
ruleList . setStatus ( 0 ) ;
List < RuleList > ruleLists = ruleListService . selectRuleListList ( ruleList ) ;
//企业预警
List < EnforceRegCount > qyWarnList = new ArrayList < > ( ) ;
//执法预警
List < EnforceRegCount > zfWarnList = new ArrayList < > ( ) ;
for ( RuleList list : ruleLists ) {
// 先获取规则
RuleItemList ruleItem = new RuleItemList ( ) ;
@ -273,70 +277,77 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
// 根据规则作为条件查询符合要求的数据
List < EnforceRegCount > regList = new ArrayList < > ( ) ;
for ( RuleItemList rule : ruleItemLists ) {
List < EnforceRegCount > tmpList = new ArrayList < > ( ) ;
if ( list . getRuleCode ( ) . equals ( "zf_warn" ) ) {
String time = getTime ( rule . getCycleTime ( ) . intValue ( ) ) ;
String [ ] timeArr = time . split ( "," ) ;
tmpList = enforcementRegistrationMapper . countMentByTimeLawNew ( timeArr [ 0 ] , timeArr [ 1 ] ) ;
tmpLi st . forEach ( res - > {
List < EnforceRegCount > enforceRegCounts = enforcementRegistrationMapper . countMentByTimeLawNew ( timeArr [ 0 ] , timeArr [ 1 ] ) ;
enforceRegCoun ts. forEach ( res - > {
res . setBeginTime ( timeArr [ 0 ] ) ;
res . setEndTime ( timeArr [ 1 ] ) ;
} ) ;
zfWarnList . addAll ( enforceRegCounts ) ;
} else if ( list . getRuleCode ( ) . equals ( "qy_warn" ) ) {
String time = getTime ( rule . getCycleTime ( ) . intValue ( ) ) ;
String [ ] timeArr = time . split ( "," ) ;
tmpList = enforcementRegistrationMapper . countMentByTimeQyNew ( timeArr [ 0 ] , timeArr [ 1 ] ) ;
tmpList . forEach ( res - > {
res . setBeginTime ( timeArr [ 0 ] ) ;
res . setEndTime ( timeArr [ 1 ] ) ;
} ) ;
} else {
tmpList = enforcementRegistrationMapper . countMentByTime2 ( rule . getCycleTime ( ) , searchValue ) ;
List < EnforceRegCount > qyWarnList1 = enforcementRegistrationMapper . countMentByTimeQyNew ( timeArr [ 0 ] , timeArr [ 1 ] ) ;
if ( qyWarnList1 . size ( ) > 0 ) {
qyWarnList1 . forEach ( res - > {
res . setBeginTime ( timeArr [ 0 ] ) ;
res . setEndTime ( timeArr [ 1 ] ) ;
} ) ;
qyWarnList . addAll ( qyWarnList1 ) ;
}
}
regList . addAll ( tmpList ) ;
}
// 对数据进行组合
Map < String , EnforceRegCount > maxItems = regList . stream ( )
. collect ( Collectors . groupingBy (
EnforceRegCount : : getLawEnforcementId ,
Collectors . collectingAndThen (
Collectors . maxBy ( Comparator . comparingInt ( EnforceRegCount : : getNum ) ) ,
Optional : : get ) ) ) ;
Date nowDate = DateUtils . getNowDate ( ) ;
// List<LawEnforcementWarningList> lawEnforcementWarningLists = new ArrayList<>();
Iterator < Map . Entry < String , EnforceRegCount > > iterator = maxItems . entrySet ( ) . iterator ( ) ;
while ( iterator . hasNext ( ) ) {
EnforceRegCount reg = iterator . next ( ) . getValue ( ) ;
// 判断预警级别
for ( RuleItemList rule : ruleItemLists ) {
// if (reg.getNum() >= rule.getExistAlarm() && reg.getNum() <= rule.getExistAlarmEnd()) {
if ( reg . getNum ( ) > = rule . getExistAlarm ( ) ) {
reg . setLevel ( rule . getAlarmType ( ) ) ;
// LawEnforcementWarningList lawEnforcementWarningList = new LawEnforcementWarningList();
// lawEnforcementWarningList.setId(IdUtil.simpleUUID());
// //获取执法次数
// lawEnforcementWarningList.setEnforcementNumber(reg.getNum());
// //企业名称
// lawEnforcementWarningList.setEnterpriseName(reg.getLawEnforcement());
// //企业统一信用代码
// lawEnforcementWarningList.setEnterpriseNumber(reg.getEnterpriseNumber());
// //预警原因
// lawEnforcementWarningList.setWarningCause(""+ reg.getNum() +"");
// //预警时间
// lawEnforcementWarningList.setWarningTime(nowDate);
// //创建时间
// lawEnforcementWarningList.setCreateTime(nowDate);
if ( list . getRuleCode ( ) . equals ( "zf_warn" ) ) {
reg . setWarnType ( 0 ) ;
} else if ( list . getRuleCode ( ) . equals ( "qy_warn" ) ) {
reg . setWarnType ( 1 ) ;
if ( zfWarnList . size ( ) > 0 ) {
//企业需分别 对数据进行组合
Map < String , EnforceRegCount > zfMaxItems = zfWarnList . stream ( )
. collect ( Collectors . groupingBy (
EnforceRegCount : : getEnterpriseNumber ,
Collectors . collectingAndThen (
Collectors . maxBy ( Comparator . comparingInt ( EnforceRegCount : : getNum ) ) ,
Optional : : get ) ) ) ;
Iterator < Map . Entry < String , EnforceRegCount > > iterator = zfMaxItems . entrySet ( ) . iterator ( ) ;
while ( iterator . hasNext ( ) ) {
EnforceRegCount reg = iterator . next ( ) . getValue ( ) ;
// 判断预警级别
for ( RuleItemList rule : ruleItemLists ) {
if ( reg . getNum ( ) > = rule . getExistAlarm ( ) ) {
reg . setLevel ( rule . getAlarmType ( ) ) ;
if ( list . getRuleCode ( ) . equals ( "zf_warn" ) ) {
reg . setWarnType ( 0 ) ;
results . add ( reg ) ;
}
break ;
}
}
}
}
if ( qyWarnList . size ( ) > 0 ) {
//企业需分别 对数据进行组合
Map < String , EnforceRegCount > qyMaxItems = qyWarnList . stream ( )
. collect ( Collectors . groupingBy (
EnforceRegCount : : getEnterpriseNumber ,
Collectors . collectingAndThen (
Collectors . maxBy ( Comparator . comparingInt ( EnforceRegCount : : getNum ) ) ,
Optional : : get ) ) ) ;
Iterator < Map . Entry < String , EnforceRegCount > > qyIterator = qyMaxItems . entrySet ( ) . iterator ( ) ;
while ( qyIterator . hasNext ( ) ) {
EnforceRegCount reg = qyIterator . next ( ) . getValue ( ) ;
// 判断预警级别
for ( RuleItemList rule : ruleItemLists ) {
if ( reg . getNum ( ) > = rule . getExistAlarm ( ) ) {
reg . setLevel ( rule . getAlarmType ( ) ) ;
if ( list . getRuleCode ( ) . equals ( "qy_warn" ) ) {
reg . setWarnType ( 1 ) ;
results . add ( reg ) ;
}
break ;
}
//存储告警信息
// lawEnforcementWarningLists.add(lawEnforcementWarningList);
results . add ( reg ) ;
break ;
}
}
}