|
|
|
|
@ -107,41 +107,48 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
|
|
|
|
|
public void generate(List<Date> happenTime) { |
|
|
|
|
List<BusinessDepart> businessDepartList = new ArrayList<>(); |
|
|
|
|
List<GBaseJJD> gBaseJJDSList = selectJJDList(happenTime); |
|
|
|
|
List<GBaseAJJBXX> gBaseAJJBXXListSA = selectAJJBXX(1, happenTime); |
|
|
|
|
List<GBaseAJJBXX> gBaseAJJBXXListLA = selectAJJBXX(2, happenTime); |
|
|
|
|
List<GBaseAJJBXX> gBaseAJJBXXListPA = selectAJJBXX(3, happenTime); |
|
|
|
|
List<GBaseJJD> gBaseJJDSList = selectJJDList(happenTime); // 接警单,除去无效、其他等案件
|
|
|
|
|
List<GBaseAJJBXX> gBaseAJJBXXListSA = selectAJJBXX(1, happenTime); // 受理日期
|
|
|
|
|
List<GBaseAJJBXX> gBaseAJJBXXListLA = selectAJJBXX(2, happenTime); // 立案日期
|
|
|
|
|
List<GBaseAJJBXX> gBaseAJJBXXListPA = selectAJJBXX(3, happenTime); // 破案日期
|
|
|
|
|
// 为空就不执行,记录日志
|
|
|
|
|
if (gBaseJJDSList.isEmpty() && gBaseAJJBXXListSA.isEmpty() && gBaseAJJBXXListLA.isEmpty() && gBaseAJJBXXListPA.isEmpty()) { |
|
|
|
|
businessLogMapper.insert(new BusinessLog().setType("单位业务数据").setNum(0).setCreateTime(LocalDateTime.now())); |
|
|
|
|
log.info("{}没有单位数据", happenTime.get(0)); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
List<String> departIds = new ArrayList<>(); |
|
|
|
|
// 获取管辖单位代码
|
|
|
|
|
generateDepartIds(gBaseJJDSList, departIds, gBaseAJJBXXListSA, gBaseAJJBXXListLA, gBaseAJJBXXListPA); |
|
|
|
|
if (departIds.isEmpty()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
List<Map<String, Object>> idsByDepartIds = supExternalDepartMapper.getIdsByDepartIds(departIds);// 430100221100-1011
|
|
|
|
|
// 关联表获取单位id和内部id 例如:430105424500——13365 湖南省长沙市公安局开福分局望麓园派出所五中队——(湖南省长沙市公安局开福分局望麓园派出所五中队)望麓园所五中队
|
|
|
|
|
List<Map<String, Object>> idsByDepartIds = supExternalDepartMapper.getIdsByDepartIds(departIds);//
|
|
|
|
|
// 单位ID的映射:430100221100-1011(内部ID)
|
|
|
|
|
Map<String, String> resultMap2 = idsByDepartIds.stream().filter(map -> map.get("external_id") != null).collect(Collectors.toMap( |
|
|
|
|
map -> (String) map.get("external_id"), |
|
|
|
|
map -> map.get("internal_id") == null ? "" : (String) map.get("internal_id") |
|
|
|
|
)); |
|
|
|
|
List<String> values = resultMap2.values().stream().filter(Objects::nonNull).toList();// 1011
|
|
|
|
|
List<String> values = resultMap2.values().stream().filter(Objects::nonNull).toList();// 去空
|
|
|
|
|
// 单位短名的映射:430100221100-望麓园所五中队(这是内部短名)
|
|
|
|
|
Map<String, String> resultMap3 = idsByDepartIds.stream().filter(map -> map.get("external_id") != null).collect(Collectors.toMap( |
|
|
|
|
map -> (String) map.get("external_id"), |
|
|
|
|
map -> map.get("internal_short_name") == null ? "" : (String) map.get("internal_short_name") |
|
|
|
|
)); |
|
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>(); |
|
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>(); // 分组: 长沙县局ID:xxx派出所ID、xxx派出所ID
|
|
|
|
|
if (!values.isEmpty()) { |
|
|
|
|
resultList = statisticsDepartMapper.getGroupIdsByDepartIds(values); |
|
|
|
|
} |
|
|
|
|
if (resultList.isEmpty()) { |
|
|
|
|
if (resultList.isEmpty()) { // 如果没有查到ID,则不执行插入操作
|
|
|
|
|
businessLogMapper.insert(new BusinessLog().setType("单位业务数据").setNum(0).setCreateTime(LocalDateTime.now())); |
|
|
|
|
log.info("{}没有单位数据", happenTime.get(0)); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
// 分组ID的映射:xxx(内部ID)——长沙县局ID
|
|
|
|
|
Map<String, Long> resultMap = resultList.stream().collect(Collectors.toMap(map -> (String) map.get("departId"), map -> (Long) map.get("groupId"))); |
|
|
|
|
List<Long> groupIds = new ArrayList<>(); |
|
|
|
|
// 映射成是我们单位的数据
|
|
|
|
|
generateBusinessDepartList(happenTime, gBaseJJDSList, resultMap, resultMap2, resultMap3, groupIds, businessDepartList, gBaseAJJBXXListSA, gBaseAJJBXXListLA, gBaseAJJBXXListPA); |
|
|
|
|
List<Map<Long, Object>> nameList = statisticsGroupMapper.getNameByGroupIds(groupIds); |
|
|
|
|
Map<Long, String> names = nameList.stream().collect(Collectors.toMap(map -> (Long) map.get("groupId"), map -> (String) map.get("name"))); |
|
|
|
|
@ -253,8 +260,8 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
public List<GBaseJJD> selectJJDList(List<Date> happenTime) { |
|
|
|
|
QueryWrapper<GBaseJJD> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
queryWrapper.between("cjsj", happenTime.get(0), happenTime.get(1)); |
|
|
|
|
queryWrapper.notLikeRight("jqxzdm", "11"); |
|
|
|
|
queryWrapper.notLikeRight("jqxzdm", "99"); |
|
|
|
|
queryWrapper.notLikeRight("jqxzdm", "11"); // 其他业务
|
|
|
|
|
queryWrapper.notLikeRight("jqxzdm", "99"); // 无效、重复报警等
|
|
|
|
|
queryWrapper.groupBy("gxdwdm", "gxdwmc"); |
|
|
|
|
return gBaseJJDMapper.selectJJDList(queryWrapper); |
|
|
|
|
} |
|
|
|
|
|