@ -16,10 +16,7 @@ import com.biutag.supervisiondata.pojo.entity.dwd.*;
import com.biutag.supervisiondata.pojo.entity.mine.* ;
import com.biutag.supervisiondata.pojo.entity.mine.* ;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj ;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdXfsj ;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx ;
import com.biutag.supervisiondata.pojo.entity.wdpc.WdpcGrjdZblx ;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcHZCRYXX ;
import com.biutag.supervisiondata.pojo.entity.wdpc2.* ;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcJZJLB ;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXdry ;
import com.biutag.supervisiondata.pojo.entity.wdpc2.WdpcXfsjCsDetail ;
import com.biutag.supervisiondata.repository.* ;
import com.biutag.supervisiondata.repository.* ;
import com.biutag.supervisiondata.service.PointService ;
import com.biutag.supervisiondata.service.PointService ;
import com.biutag.supervisiondata.service.RiskModelTaskClueService ;
import com.biutag.supervisiondata.service.RiskModelTaskClueService ;
@ -83,6 +80,12 @@ public class PointServiceImpl implements PointService {
private final WdpcJZJLBRepository jZJLBRepository ;
private final WdpcJZJLBRepository jZJLBRepository ;
private final WdpcGrjdJsbryRepository jsbryRepository ;
private final WdpcSqjzryRepository sqjzryRepository ;
private final WdpcXmsfryRepository xmsfryRepository ;
@Override
@Override
public void personPullAndSave ( LocalDateTime start , LocalDateTime end ) {
public void personPullAndSave ( LocalDateTime start , LocalDateTime end ) {
riskPersonalService . formatAndSave ( getPersons ( ) , Default . POINT_POEPLE ) ;
riskPersonalService . formatAndSave ( getPersons ( ) , Default . POINT_POEPLE ) ;
@ -670,6 +673,297 @@ public class PointServiceImpl implements PointService {
taskRepository . updateById ( updateTask ) ;
taskRepository . updateById ( updateTask ) ;
}
}
@Override
public void syncIsSpecialPeople ( TaskParamDomain domain ) {
RiskTask task = createTask ( domain . getPersons ( ) . size ( ) , 129 ) ;
taskRepository . save ( task ) ;
Map < String , RiskModelTaskClue > oldMap = domain . getOldMap ( task . getModelId ( ) , true ) ;
Map < String , Integer > idCode = new HashMap < > ( ) ;
log . info ( "模型129开始查询" ) ;
List < WdpcGrjdJsbry > list1 = new ArrayList < > ( ) ;
List < WdpcJZJLB > list2 = jZJLBRepository . getBaseMapper ( ) . selectForModel129 ( ) ; ;
List < WdpcXdry > list3 = new ArrayList < > ( ) ;
List < WdpcSqjzry > list4 = new ArrayList < > ( ) ;
List < WdpcXmsfry > list5 = new ArrayList < > ( ) ;
for ( List < String > idCard : domain . getIdCards ( ) ) {
list1 . addAll ( jsbryRepository . getBaseMapper ( ) . selectByIdNos ( idCard ) ) ;
list3 . addAll ( xdryRepository . getBaseMapper ( ) . selectXIDU ( idCard ) ) ;
list4 . addAll ( sqjzryRepository . getBaseMapper ( ) . selectByIdNos ( idCard ) ) ;
list5 . addAll ( xmsfryRepository . getBaseMapper ( ) . selectByIdNos ( idCard ) ) ;
}
log . info ( "模型129查询结果数:{},{},{},{},{}" , list1 . size ( ) , list2 . size ( ) , list3 . size ( ) , list4 . size ( ) , list5 . size ( ) ) ;
Map < String , RiskPersonal > personalMap = domain . getPersons ( ) . stream ( ) . collect ( Collectors . toMap ( RiskPersonal : : getIdCode , Function . identity ( ) , ( old , newVal ) - > newVal ) ) ;
List < RiskModelTaskClue > toInsert = new ArrayList < > ( ) ;
for ( WdpcGrjdJsbry domicileType : list1 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "是否特殊人群" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为精神障碍患者,是特殊人群,增加风险分5分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
for ( WdpcJZJLB domicileType : list2 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "是否特殊人群" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为艾滋人员,是特殊人群,增加风险分5分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
for ( WdpcXdry domicileType : list3 ) {
RiskPersonal personal = personalMap . get ( domicileType . getSfzh ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getSfzh ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getSfzh ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getSfzh ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "是否特殊人群" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为吸毒人员,是特殊人群,增加风险分5分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
for ( WdpcSqjzry domicileType : list4 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "是否特殊人群" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为社区矫正人员,是特殊人群,增加风险分5分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
for ( WdpcXmsfry domicileType : list5 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "是否特殊人群" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为刑释解教人员,是特殊人群,增加风险分5分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
if ( ! toInsert . isEmpty ( ) ) {
modelTaskClueService . saveClues ( toInsert , Default . ISSPECIALPEOPLE ) ;
}
RiskTask updateTask = new RiskTask ( ) ;
updateTask . setId ( task . getId ( ) ) ;
updateTask . setInsertSize ( toInsert . size ( ) ) ;
updateTask . setUpdateSize ( 0 ) ;
updateTask . setState ( 1 ) ;
updateTask . setEndTime ( LocalDateTime . now ( ) ) ;
taskRepository . updateById ( updateTask ) ;
}
@Override
public void syncSpecialPeopleType ( TaskParamDomain domain ) {
RiskTask task = createTask ( domain . getPersons ( ) . size ( ) , 130 ) ;
taskRepository . save ( task ) ;
Map < String , RiskModelTaskClue > oldMap = domain . getOldMap ( task . getModelId ( ) , true ) ;
Map < String , Integer > idCode = new HashMap < > ( ) ;
log . info ( "模型130开始查询" ) ;
List < WdpcGrjdJsbry > list1 = new ArrayList < > ( ) ;
List < WdpcJZJLB > list2 = jZJLBRepository . getBaseMapper ( ) . selectForModel129 ( ) ; ;
List < WdpcXdry > list3 = new ArrayList < > ( ) ;
List < WdpcSqjzry > list4 = new ArrayList < > ( ) ;
List < WdpcXmsfry > list5 = new ArrayList < > ( ) ;
for ( List < String > idCard : domain . getIdCards ( ) ) {
list1 . addAll ( jsbryRepository . getBaseMapper ( ) . selectByIdNos ( idCard ) ) ;
list3 . addAll ( xdryRepository . getBaseMapper ( ) . selectXIDU ( idCard ) ) ;
list4 . addAll ( sqjzryRepository . getBaseMapper ( ) . selectByIdNos ( idCard ) ) ;
list5 . addAll ( xmsfryRepository . getBaseMapper ( ) . selectByIdNos ( idCard ) ) ;
}
log . info ( "模型130查询结果数:{},{},{},{},{}" , list1 . size ( ) , list2 . size ( ) , list3 . size ( ) , list4 . size ( ) , list5 . size ( ) ) ;
Map < String , RiskPersonal > personalMap = domain . getPersons ( ) . stream ( ) . collect ( Collectors . toMap ( RiskPersonal : : getIdCode , Function . identity ( ) , ( old , newVal ) - > newVal ) ) ;
List < RiskModelTaskClue > toInsert = new ArrayList < > ( ) ;
for ( WdpcGrjdJsbry domicileType : list1 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "特殊人群类型" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员于" + getDateString ( domicileType . getActualTime ( ) )
+ "确诊为为“" + domicileType . getActualId ( ) + "”精神障碍患者,增加风险分1分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 1 , task . getId ( ) , data ) ) ;
}
for ( WdpcJZJLB domicileType : list2 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "特殊人群类型" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为艾滋人员,增加风险分2分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 2 , task . getId ( ) , data ) ) ;
}
for ( WdpcXdry domicileType : list3 ) {
RiskPersonal personal = personalMap . get ( domicileType . getSfzh ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getSfzh ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getSfzh ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getSfzh ( ) , 1 ) ;
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "特殊人群类型" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为吸毒人员,增加风险分3分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 3 , task . getId ( ) , data ) ) ;
}
for ( WdpcSqjzry domicileType : list4 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
String context = "" ;
if ( domicileType . getSentenceOrganizationName ( ) ! = null ) {
context = context + ",社区矫正决定单位为" + domicileType . getSentenceOrganizationName ( ) ;
}
if ( domicileType . getCorrectBeginTime ( ) ! = null ) {
context = context + ",社区矫正开始日期为" + getDateString ( domicileType . getCorrectBeginTime ( ) ) ;
}
if ( domicileType . getCorrectEndTime ( ) ! = null ) {
context = context + ",社区矫正结束日期为" + getDateString ( domicileType . getCorrectEndTime ( ) ) ;
}
if ( domicileType . getActionPlace ( ) ! = null ) {
context = context + ",执行地为" + domicileType . getActionPlace ( ) ;
}
if ( domicileType . getCrimeDescribe ( ) ! = null ) {
context = context + ",主要犯罪事实为“" + domicileType . getCrimeDescribe ( ) + "”" ;
}
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "特殊人群类型" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为社区矫正人员" + context + ",增加风险分4分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 4 , task . getId ( ) , data ) ) ;
}
for ( WdpcXmsfry domicileType : list5 ) {
RiskPersonal personal = personalMap . get ( domicileType . getIdCode ( ) ) ;
if ( personal = = null ) continue ;
if ( idCode . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
if ( oldMap . get ( domicileType . getIdCode ( ) ) ! = null ) continue ;
idCode . put ( domicileType . getIdCode ( ) , 1 ) ;
String context = "" ;
if ( domicileType . getCrimeName ( ) ! = null ) {
context = context + ",罪名为" + domicileType . getCrimeName ( ) ;
}
if ( domicileType . getSentenceTime ( ) ! = null ) {
context = context + ",判决日期为" + getDateString ( domicileType . getSentenceTime ( ) ) ;
}
if ( domicileType . getPrisonBegin ( ) ! = null ) {
context = context + ",服刑开始日期为" + getDateString ( domicileType . getPrisonBegin ( ) ) ;
}
if ( domicileType . getPrisonEnd ( ) ! = null ) {
context = context + ",服刑结束日期为" + getDateString ( domicileType . getPrisonEnd ( ) ) ;
}
if ( domicileType . getPrisonOrganization ( ) ! = null ) {
context = context + ",服刑单位为" + domicileType . getPrisonOrganization ( ) ;
}
ClueData data = ClueData . builder ( )
. name ( personal . getName ( ) )
. id ( personal . getId ( ) . toString ( ) )
. idCode ( personal . getIdCode ( ) )
. tag ( "特殊人群类型" )
. eventTime ( LocalDateTime . now ( ) )
. personId ( personal . getId ( ) )
. sourceData ( "发现该人员为刑释解教人员" + context + ",增加风险分5分" )
. build ( ) ;
toInsert . add ( createClue ( task . getModelId ( ) , 5 , task . getId ( ) , data ) ) ;
}
if ( ! toInsert . isEmpty ( ) ) {
modelTaskClueService . saveClues ( toInsert , Default . SPECIALPEOPLETYPE ) ;
}
RiskTask updateTask = new RiskTask ( ) ;
updateTask . setId ( task . getId ( ) ) ;
updateTask . setInsertSize ( toInsert . size ( ) ) ;
updateTask . setUpdateSize ( 0 ) ;
updateTask . setState ( 1 ) ;
updateTask . setEndTime ( LocalDateTime . now ( ) ) ;
taskRepository . updateById ( updateTask ) ;
}
@Override
@Override
public void syncXIDU ( TaskParamDomain domain ) {
public void syncXIDU ( TaskParamDomain domain ) {
RiskTask task = createTask ( domain . getPersons ( ) . size ( ) , 122 ) ;
RiskTask task = createTask ( domain . getPersons ( ) . size ( ) , 122 ) ;