|
|
|
|
@ -46,7 +46,8 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
private final GBaseAJJBXXMapper gBaseAJJBXXMapper; |
|
|
|
|
|
|
|
|
|
public Page<BusinessPoliceModel> page(BusinessQueryParam businessQueryParam) { |
|
|
|
|
if (businessQueryParam.getDepartName()!=null && businessQueryParam.getDepartName().equals("开始导入今年所有的数据")) { |
|
|
|
|
// 测基础数据
|
|
|
|
|
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("开始导入今年所有的数据")) { |
|
|
|
|
LocalDate start = LocalDate.parse("2024-01-01"); |
|
|
|
|
LocalDate end = LocalDate.parse("2024-10-31"); |
|
|
|
|
for (LocalDate date = start; !date.isAfter(end); date = date.plusDays(1)) { |
|
|
|
|
@ -66,33 +67,19 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
happenTime.add(end); |
|
|
|
|
generate(happenTime); |
|
|
|
|
} |
|
|
|
|
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("运行测试1")) { |
|
|
|
|
System.out.println("开始执行测试1"); |
|
|
|
|
modelClueService.generate(1); |
|
|
|
|
System.out.println("测试1执行完毕"); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("运行测试2")) { |
|
|
|
|
System.out.println("开始执行测试2"); |
|
|
|
|
modelClueService.generate(2); |
|
|
|
|
System.out.println("测试2执行完毕"); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("运行测试3")) { |
|
|
|
|
System.out.println("开始执行测试3"); |
|
|
|
|
modelClueService.generate(3); |
|
|
|
|
System.out.println("测试3执行完毕"); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("运行测试4")) { |
|
|
|
|
System.out.println("开始执行测试4"); |
|
|
|
|
modelClueService.generate(4); |
|
|
|
|
System.out.println("测试4执行完毕"); |
|
|
|
|
return null; |
|
|
|
|
// 测模型
|
|
|
|
|
String departName = businessQueryParam.getDepartName(); |
|
|
|
|
if (departName != null && departName.startsWith("运行测试")) { |
|
|
|
|
int testNumber = Integer.parseInt(departName.substring(4)); |
|
|
|
|
System.out.println("开始执行测试" + testNumber); |
|
|
|
|
modelClueService.generate(testNumber); |
|
|
|
|
System.out.println("测试" + testNumber + "执行完毕"); |
|
|
|
|
} |
|
|
|
|
// 测导入单位关联表
|
|
|
|
|
if (businessQueryParam.getDepartName() != null && businessQueryParam.getDepartName().equals("导入单位")) { |
|
|
|
|
System.out.println("开始导入单位"); |
|
|
|
|
externalDepartService.insertPreData(); |
|
|
|
|
System.out.println("执行完毕"); |
|
|
|
|
System.out.println("导入单位完毕"); |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
QueryWrapper<BusinessPoliceModel> queryWrapper = new QueryWrapper<>(); |
|
|
|
|
@ -119,18 +106,7 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
List<String> departIds = new ArrayList<>(); |
|
|
|
|
if (!gBaseJJDSList.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseJJDSList.stream().map(GBaseJJD::getGxdwdm).toList()); |
|
|
|
|
} |
|
|
|
|
if (!gBaseAJJBXXListSA.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseAJJBXXListSA.stream().map(GBaseAJJBXX::getBADWIDdm).toList()); |
|
|
|
|
} |
|
|
|
|
if (!gBaseAJJBXXListLA.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseAJJBXXListLA.stream().map(GBaseAJJBXX::getLADWBMdm).toList()); |
|
|
|
|
} |
|
|
|
|
if (!gBaseAJJBXXListPA.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseAJJBXXListPA.stream().map(GBaseAJJBXX::getLADWBMdm).toList()); |
|
|
|
|
} |
|
|
|
|
generateDepartIds(gBaseJJDSList, departIds, gBaseAJJBXXListSA, gBaseAJJBXXListLA, gBaseAJJBXXListPA); |
|
|
|
|
if (departIds.isEmpty()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
@ -156,6 +132,21 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
Map<String, Long> resultMap = resultList.stream().collect(Collectors.toMap(map -> (String) map.get("departId"), map -> (Long) map.get("groupId"))); |
|
|
|
|
Map<String, Long> resultMap4 = resultList2.stream().collect(Collectors.toMap(map -> (String) map.get("departId"), map -> (Long) map.get("groupId"))); |
|
|
|
|
List<Long> groupIds = new ArrayList<>(); |
|
|
|
|
generateBusinessDepartList(happenTime, gBaseJJDSList, resultMap, resultMap2, resultMap4, 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"))); |
|
|
|
|
for (BusinessDepart businessDepart : businessDepartList) { |
|
|
|
|
businessDepart.setGroupName(names.get(businessDepart.getGroupId())); |
|
|
|
|
businessDepart.setCreateTime(LocalDateTime.now()); |
|
|
|
|
} |
|
|
|
|
log.info("单位业务数据准备插入:{}", businessDepartList.size()); |
|
|
|
|
List<BatchResult> insert = baseMapper.insert(businessDepartList); |
|
|
|
|
log.info("单位业务数据插入成功"); |
|
|
|
|
int actualNum = (int) Arrays.stream(insert.get(0).getUpdateCounts()).parallel().filter(num -> num != 0).count(); |
|
|
|
|
businessLogMapper.insert(new BusinessLog().setType("单位业务数据").setNum(gBaseJJDSList.size() + gBaseAJJBXXListSA.size() + gBaseAJJBXXListLA.size() + gBaseAJJBXXListPA.size()).setActualNum(actualNum).setCreateTime(LocalDateTime.now())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void generateBusinessDepartList(List<Date> happenTime, List<GBaseJJD> gBaseJJDSList, Map<String, Long> resultMap, Map<String, String> resultMap2, Map<String, Long> resultMap4, List<Long> groupIds, List<BusinessDepart> businessDepartList, List<GBaseAJJBXX> gBaseAJJBXXListSA, List<GBaseAJJBXX> gBaseAJJBXXListLA, List<GBaseAJJBXX> gBaseAJJBXXListPA) { |
|
|
|
|
for (GBaseJJD gBaseJJD : gBaseJJDSList) { |
|
|
|
|
Long groupId = resultMap.get(resultMap2.get(gBaseJJD.getGxdwdm())); |
|
|
|
|
if (groupId == null) { |
|
|
|
|
@ -192,17 +183,21 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
|
|
|
|
|
BusinessDepart businessDepart = getAJJBXXBusinessDepart(happenTime, gBaseAJJBXX, groupId, 3); |
|
|
|
|
businessDepartList.add(businessDepart); |
|
|
|
|
} |
|
|
|
|
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"))); |
|
|
|
|
for (BusinessDepart businessDepart : businessDepartList) { |
|
|
|
|
businessDepart.setGroupName(names.get(businessDepart.getGroupId())); |
|
|
|
|
businessDepart.setCreateTime(LocalDateTime.now()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void generateDepartIds(List<GBaseJJD> gBaseJJDSList, List<String> departIds, List<GBaseAJJBXX> gBaseAJJBXXListSA, List<GBaseAJJBXX> gBaseAJJBXXListLA, List<GBaseAJJBXX> gBaseAJJBXXListPA) { |
|
|
|
|
if (!gBaseJJDSList.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseJJDSList.stream().map(GBaseJJD::getGxdwdm).toList()); |
|
|
|
|
} |
|
|
|
|
if (!gBaseAJJBXXListSA.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseAJJBXXListSA.stream().map(GBaseAJJBXX::getBADWIDdm).toList()); |
|
|
|
|
} |
|
|
|
|
if (!gBaseAJJBXXListLA.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseAJJBXXListLA.stream().map(GBaseAJJBXX::getLADWBMdm).toList()); |
|
|
|
|
} |
|
|
|
|
if (!gBaseAJJBXXListPA.isEmpty()) { |
|
|
|
|
departIds.addAll(gBaseAJJBXXListPA.stream().map(GBaseAJJBXX::getLADWBMdm).toList()); |
|
|
|
|
} |
|
|
|
|
log.info("单位业务数据准备插入:{}", businessDepartList.size()); |
|
|
|
|
List<BatchResult> insert = baseMapper.insert(businessDepartList); |
|
|
|
|
log.info("单位业务数据插入成功"); |
|
|
|
|
int actualNum = (int) Arrays.stream(insert.get(0).getUpdateCounts()).parallel().filter(num -> num != 0).count(); |
|
|
|
|
businessLogMapper.insert(new BusinessLog().setType("单位业务数据").setNum(gBaseJJDSList.size() + gBaseAJJBXXListSA.size() + gBaseAJJBXXListLA.size() + gBaseAJJBXXListPA.size()).setActualNum(actualNum).setCreateTime(LocalDateTime.now())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static BusinessDepart getJJDBusinessDepart(List<Date> happenTime, GBaseJJD gBaseJJD, Long groupId) { |
|
|
|
|
|