|
|
@@ -413,34 +413,34 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
public List<TreeAnalyse> getTownshipStatistics() {
|
|
|
int current = 1;
|
|
|
List<LandMyAttend.RecordsDTO> list = getAllLandMyAttendsData1(7, current, 60, "1506");
|
|
|
- // 12位到村,9位乡镇
|
|
|
- // 根据divisionCode的前9位进行divisionCode分组数量
|
|
|
- Map<String, List<String>> townCountMap = new HashMap<>();
|
|
|
- // 根据divisionCode的前9位进行divisionCode分组节点类别
|
|
|
- Map<String, Map<String, List<String>>> townNodeMap = new HashMap<>();
|
|
|
+ // 12位到村,9位乡镇,6位旗县
|
|
|
+ // 根据divisionCode的前6位进行divisionCode分组数量
|
|
|
+ Map<String, List<String>> qxCountMap = new HashMap<>();
|
|
|
+ // 根据divisionCode的前6位进行divisionCode分组节点类别
|
|
|
+ Map<String, Map<String, List<String>>> qxNodeMap = new HashMap<>();
|
|
|
for (LandMyAttend.RecordsDTO recordsDTO : list) {
|
|
|
String xzqhcode = recordsDTO.getDivisionCode();
|
|
|
- if (xzqhcode.length() < 9) {
|
|
|
+ if (xzqhcode.length() < 6) {
|
|
|
System.out.println(" xzqhcode.length() < 9 ");
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- if (xzqhcode.length() == 10) {//省厅数据末尾没有00的省略了
|
|
|
- recordsDTO.setDivisionCode(xzqhcode + "00");
|
|
|
- }
|
|
|
+// if (xzqhcode.length() == 10) {//省厅数据末尾没有00的省略了
|
|
|
+// recordsDTO.setDivisionCode(xzqhcode + "00");
|
|
|
+// }
|
|
|
|
|
|
- String townCode = recordsDTO.getDivisionCode().substring(0, 9);
|
|
|
- // 根据乡镇数量分组
|
|
|
- if (townCountMap.containsKey(townCode)) {
|
|
|
- townCountMap.get(townCode).add(recordsDTO.getDivisionCode());
|
|
|
+ String qxCode = recordsDTO.getDivisionCode().substring(0, 6);
|
|
|
+ // 根据旗县数量分组
|
|
|
+ if (qxCountMap.containsKey(qxCode)) {
|
|
|
+ qxCountMap.get(qxCode).add(recordsDTO.getDivisionCode());
|
|
|
} else {
|
|
|
List<String> townList = new ArrayList<>();
|
|
|
townList.add(recordsDTO.getDivisionCode());
|
|
|
- townCountMap.put(townCode, townList);
|
|
|
+ qxCountMap.put(qxCode, townList);
|
|
|
}
|
|
|
- // 根据乡镇节点类别分组
|
|
|
- if (townNodeMap.containsKey(townCode)) {
|
|
|
- Map<String, List<String>> nodeMap = townNodeMap.get(townCode);
|
|
|
+ // 根据旗县节点类别分组
|
|
|
+ if (qxNodeMap.containsKey(qxCode)) {
|
|
|
+ Map<String, List<String>> nodeMap = qxNodeMap.get(qxCode);
|
|
|
if (nodeMap.containsKey(recordsDTO.getNodeName())) {
|
|
|
nodeMap.get(recordsDTO.getNodeName()).add(recordsDTO.getDivisionCode());
|
|
|
} else {
|
|
|
@@ -453,56 +453,57 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
List<String> nodeList = new ArrayList<>();
|
|
|
nodeList.add(recordsDTO.getDivisionCode());
|
|
|
nodeMap.put(recordsDTO.getNodeName(), nodeList);
|
|
|
- townNodeMap.put(townCode, nodeMap);
|
|
|
+ qxNodeMap.put(qxCode, nodeMap);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 获取全部的行政数据
|
|
|
// 查询t_use_xzqh表中的数据
|
|
|
- List<TusexzqhDTO> townList = tuseXzqhMapper.getAllTownship();
|
|
|
+// List<TusexzqhDTO> townList = tuseXzqhMapper.getAllTownship();
|
|
|
List<TusexzqhDTO> countyList = tuseXzqhMapper.getAllCounty();
|
|
|
List<TusexzqhDTO> cityList = tuseXzqhMapper.getAllCity();
|
|
|
- //组织乡镇数据
|
|
|
- List<TreeAnalyse> townTreeList = new ArrayList<>();
|
|
|
- for (TusexzqhDTO tusexzqhDTO : townList) {
|
|
|
- Integer villageNum = tuseXzqhMapper.getAllVillageNumByPid(tusexzqhDTO.getCode());
|
|
|
-// Integer townReportNum = tuseXzqhMapper.getTownReportNum(tusexzqhDTO.getCode());//上报数
|
|
|
- Integer townReportAllNum = tuseXzqhMapper.getTownReportAllNum(tusexzqhDTO.getCode());//颖备案数
|
|
|
+ //组织旗县数据
|
|
|
+ List<TreeAnalyse> qxTreeList = new ArrayList<>();
|
|
|
+ for (TusexzqhDTO tusexzqhDTO : countyList) {
|
|
|
+ Integer townshipNum = tuseXzqhMapper.getAllTownshipNumByPid(tusexzqhDTO.getCode());
|
|
|
+ Integer qxReportAllNum = tuseXzqhMapper.getCountyReportAllNum(tusexzqhDTO.getCode());//颖备案数
|
|
|
|
|
|
TreeAnalyse treeAnalyse = new TreeAnalyse();
|
|
|
- treeAnalyse.setLevel(2);
|
|
|
+ treeAnalyse.setLevel(1);
|
|
|
treeAnalyse.setId(tusexzqhDTO.getCode());
|
|
|
treeAnalyse.setXzqh(tusexzqhDTO.getTownship());//行政区划
|
|
|
- treeAnalyse.setXzczs(villageNum);//行政村总数
|
|
|
+ treeAnalyse.setXzczs(townshipNum);//乡镇总数
|
|
|
// treeAnalyse.setQxysbczs(townReportNum);//旗县已上报的村庄数
|
|
|
- treeAnalyse.setYbaczs(townReportAllNum);//应备案村庄数
|
|
|
- // 未上报村庄
|
|
|
- if (townCountMap.containsKey(tusexzqhDTO.getCode())) {//省厅有的
|
|
|
- Integer reportNum = tuseXzqhMapper.getTownReportVillage(townCountMap.get(tusexzqhDTO.getCode()));
|
|
|
- treeAnalyse.setSbdstczs(reportNum);//上报到省厅村庄数
|
|
|
+ treeAnalyse.setYbaczs(qxReportAllNum);//应备案乡镇数
|
|
|
+ // 未上报乡镇
|
|
|
+ if (qxCountMap.containsKey(tusexzqhDTO.getCode())) {//省厅有的
|
|
|
+ Integer reportNum = tuseXzqhMapper.getTownReportTownship(qxCountMap.get(tusexzqhDTO.getCode()));
|
|
|
+ treeAnalyse.setSbdstczs(reportNum);//上报到省厅乡镇数
|
|
|
|
|
|
- List<String> unReportVillages = tuseXzqhMapper.getTownUnReportVillage(tusexzqhDTO.getCode(), townCountMap.get(tusexzqhDTO.getCode()));
|
|
|
- treeAnalyse.setQxwsbczs(unReportVillages.size());//默认是全部数量
|
|
|
- treeAnalyse.setWsbczs(unReportVillages);
|
|
|
+ List<String> unReportTownships = tuseXzqhMapper.getTownUnReportTownship(tusexzqhDTO.getCode(), qxCountMap.get(tusexzqhDTO.getCode()));
|
|
|
+ treeAnalyse.setQxwsbczs(unReportTownships.size());//默认是全部数量
|
|
|
+ treeAnalyse.setWsbczs(unReportTownships);
|
|
|
} else {
|
|
|
treeAnalyse.setQxwsbczs(treeAnalyse.getYbaczs());//默认是全部数量
|
|
|
- List<String> unReportVillages = tuseXzqhMapper.getTownUnReportVillage(tusexzqhDTO.getCode(), new ArrayList<>());
|
|
|
+ List<String> unReportVillages = tuseXzqhMapper.getTownUnReportTownship(tusexzqhDTO.getCode(), new ArrayList<>());
|
|
|
treeAnalyse.setWsbczs(unReportVillages);
|
|
|
}
|
|
|
//补正,机审,用地审查节点
|
|
|
- if (townNodeMap.containsKey(tusexzqhDTO.getCode())) {
|
|
|
- Map<String, List<String>> nodeMap = townNodeMap.get(tusexzqhDTO.getCode());
|
|
|
+ if (qxNodeMap.containsKey(tusexzqhDTO.getCode())) {
|
|
|
+ Map<String, List<String>> nodeMap = qxNodeMap.get(tusexzqhDTO.getCode());
|
|
|
if (nodeMap.containsKey("补正") || nodeMap.containsKey("文本审核")) {// 文本审核+补正
|
|
|
List<String> bzList = nodeMap.get("补正");
|
|
|
- Integer bzNum = tuseXzqhMapper.getTownReportVillage(bzList);
|
|
|
+ Integer bzNum = tuseXzqhMapper.getTownReportTownship(bzList);
|
|
|
treeAnalyse.setWbscjd(bzNum);
|
|
|
}
|
|
|
if (nodeMap.containsKey("机审")) {
|
|
|
List<String> jsList = nodeMap.get("机审");
|
|
|
- Integer jsNum = tuseXzqhMapper.getTownReportVillage(jsList);
|
|
|
+ Integer jsNum = tuseXzqhMapper.getTownReportTownship(jsList);
|
|
|
treeAnalyse.setSlsjbz(jsNum);
|
|
|
}
|
|
|
if (nodeMap.containsKey("用地审查")) {
|
|
|
List<String> ydscList = nodeMap.get("用地审查");
|
|
|
- Integer ydscNum = tuseXzqhMapper.getTownReportVillage(ydscList);
|
|
|
+ Integer ydscNum = tuseXzqhMapper.getTownReportTownship(ydscList);
|
|
|
treeAnalyse.setYbas(ydscNum);
|
|
|
}
|
|
|
}
|
|
|
@@ -514,124 +515,101 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
DecimalFormat df = new DecimalFormat("0.0%");
|
|
|
treeAnalyse.setBal(df.format(bal));
|
|
|
}
|
|
|
- townTreeList.add(treeAnalyse);
|
|
|
+ qxTreeList.add(treeAnalyse);
|
|
|
}
|
|
|
|
|
|
|
|
|
- //按照区县编码组织成map结构
|
|
|
- Map<String, List<TreeAnalyse>> townMap = new HashMap<>();
|
|
|
- for (TreeAnalyse treeAnalyse : townTreeList) {
|
|
|
- String id = treeAnalyse.getId();
|
|
|
- // 截取前6位
|
|
|
- String key = id.substring(0, 6);
|
|
|
- if (townMap.containsKey(key)) {
|
|
|
- townMap.get(key).add(treeAnalyse);
|
|
|
- } else {
|
|
|
- List<TreeAnalyse> treeAnalyses = new ArrayList<>();
|
|
|
- treeAnalyses.add(treeAnalyse);
|
|
|
- townMap.put(key, treeAnalyses);
|
|
|
- }
|
|
|
- }
|
|
|
+// //按照区县编码组织成map结构
|
|
|
+// Map<String, List<TreeAnalyse>> townMap = new HashMap<>();
|
|
|
+// for (TreeAnalyse treeAnalyse : townTreeList) {
|
|
|
+// String id = treeAnalyse.getId();
|
|
|
+// // 截取前6位
|
|
|
+// String key = id.substring(0, 6);
|
|
|
+// if (townMap.containsKey(key)) {
|
|
|
+// townMap.get(key).add(treeAnalyse);
|
|
|
+// } else {
|
|
|
+// List<TreeAnalyse> treeAnalyses = new ArrayList<>();
|
|
|
+// treeAnalyses.add(treeAnalyse);
|
|
|
+// townMap.put(key, treeAnalyses);
|
|
|
+// }
|
|
|
+// }
|
|
|
//组织区县数据
|
|
|
- List<TreeAnalyse> countyTreeList = new ArrayList<>();
|
|
|
- for (TusexzqhDTO tusexzqhDTO : countyList) {
|
|
|
- if (tusexzqhDTO.getCounty().equals("市辖区")) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- TreeAnalyse treeAnalyse = new TreeAnalyse();
|
|
|
- treeAnalyse.setLevel(1);
|
|
|
- treeAnalyse.setId(tusexzqhDTO.getCode());
|
|
|
- treeAnalyse.setXzqh(tusexzqhDTO.getCounty());//行政区划
|
|
|
- if (townMap.containsKey(tusexzqhDTO.getCode())) {
|
|
|
- List<TreeAnalyse> listCounty = townMap.get(tusexzqhDTO.getCode());
|
|
|
- treeAnalyse.setChildren(listCounty);
|
|
|
- for (TreeAnalyse analyse : listCounty) {
|
|
|
- //行政村总数
|
|
|
- treeAnalyse.setXzczs(analyse.getXzczs() + treeAnalyse.getXzczs());
|
|
|
-// //旗县已上报的村庄数
|
|
|
-// treeAnalyse.setQxysbczs(analyse.getQxysbczs() + treeAnalyse.getQxysbczs());
|
|
|
- //上报到省厅村庄数
|
|
|
- treeAnalyse.setSbdstczs(analyse.getSbdstczs() + treeAnalyse.getSbdstczs());
|
|
|
- //应备案村庄数
|
|
|
- treeAnalyse.setYbaczs(analyse.getYbaczs() + treeAnalyse.getYbaczs());
|
|
|
- //补正,机审,用地审查节点
|
|
|
- treeAnalyse.setWbscjd(analyse.getWbscjd() + treeAnalyse.getWbscjd());
|
|
|
- treeAnalyse.setSlsjbz(analyse.getSlsjbz() + treeAnalyse.getSlsjbz());
|
|
|
- treeAnalyse.setYbas(analyse.getYbas() + treeAnalyse.getYbas());
|
|
|
- //未上报村庄
|
|
|
- treeAnalyse.setQxwsbczs(analyse.getQxwsbczs() + treeAnalyse.getQxwsbczs());
|
|
|
- }
|
|
|
- // 备案率
|
|
|
- if (treeAnalyse.getYbaczs() == 0) {
|
|
|
- treeAnalyse.setBal("--");
|
|
|
- } else {
|
|
|
- float bal = (float) treeAnalyse.getYbas() / (float) treeAnalyse.getYbaczs();
|
|
|
- DecimalFormat df = new DecimalFormat("0.0%");
|
|
|
- treeAnalyse.setBal(df.format(bal));
|
|
|
- }
|
|
|
- }
|
|
|
- countyTreeList.add(treeAnalyse);
|
|
|
- }
|
|
|
+// List<TreeAnalyse> countyTreeList = new ArrayList<>();
|
|
|
+// for (TusexzqhDTO tusexzqhDTO : countyList) {
|
|
|
+// if (tusexzqhDTO.getCounty().equals("市辖区")) {
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// TreeAnalyse treeAnalyse = new TreeAnalyse();
|
|
|
+// treeAnalyse.setLevel(1);
|
|
|
+// treeAnalyse.setId(tusexzqhDTO.getCode());
|
|
|
+// treeAnalyse.setXzqh(tusexzqhDTO.getCounty());//行政区划
|
|
|
+// if (townMap.containsKey(tusexzqhDTO.getCode())) {
|
|
|
+// List<TreeAnalyse> listCounty = townMap.get(tusexzqhDTO.getCode());
|
|
|
+// treeAnalyse.setChildren(listCounty);
|
|
|
+// for (TreeAnalyse analyse : listCounty) {
|
|
|
+// //行政村总数
|
|
|
+// treeAnalyse.setXzczs(analyse.getXzczs() + treeAnalyse.getXzczs());
|
|
|
+//// //旗县已上报的村庄数
|
|
|
+//// treeAnalyse.setQxysbczs(analyse.getQxysbczs() + treeAnalyse.getQxysbczs());
|
|
|
+// //上报到省厅村庄数
|
|
|
+// treeAnalyse.setSbdstczs(analyse.getSbdstczs() + treeAnalyse.getSbdstczs());
|
|
|
+// //应备案村庄数
|
|
|
+// treeAnalyse.setYbaczs(analyse.getYbaczs() + treeAnalyse.getYbaczs());
|
|
|
+// //补正,机审,用地审查节点
|
|
|
+// treeAnalyse.setWbscjd(analyse.getWbscjd() + treeAnalyse.getWbscjd());
|
|
|
+// treeAnalyse.setSlsjbz(analyse.getSlsjbz() + treeAnalyse.getSlsjbz());
|
|
|
+// treeAnalyse.setYbas(analyse.getYbas() + treeAnalyse.getYbas());
|
|
|
+// //未上报村庄
|
|
|
+// treeAnalyse.setQxwsbczs(analyse.getQxwsbczs() + treeAnalyse.getQxwsbczs());
|
|
|
+// }
|
|
|
+// // 备案率
|
|
|
+// if (treeAnalyse.getYbaczs() == 0) {
|
|
|
+// treeAnalyse.setBal("--");
|
|
|
+// } else {
|
|
|
+// float bal = (float) treeAnalyse.getYbas() / (float) treeAnalyse.getYbaczs();
|
|
|
+// DecimalFormat df = new DecimalFormat("0.0%");
|
|
|
+// treeAnalyse.setBal(df.format(bal));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// countyTreeList.add(treeAnalyse);
|
|
|
+// }
|
|
|
//组织市数据
|
|
|
- List<TreeAnalyse> cityTreeList = new ArrayList<>();
|
|
|
- for (TusexzqhDTO tusexzqhDTO : cityList) {
|
|
|
- TreeAnalyse treeAnalyse = new TreeAnalyse();
|
|
|
- treeAnalyse.setLevel(0);
|
|
|
- treeAnalyse.setId(tusexzqhDTO.getCode());
|
|
|
- treeAnalyse.setXzqh(tusexzqhDTO.getCity());//行政区划
|
|
|
- treeAnalyse.setChildren(countyTreeList);
|
|
|
- for (TreeAnalyse analyse : countyTreeList) {
|
|
|
- //行政村总数
|
|
|
- treeAnalyse.setXzczs(analyse.getXzczs() + treeAnalyse.getXzczs());
|
|
|
-// //旗县已上报的村庄数
|
|
|
-// treeAnalyse.setQxysbczs(analyse.getQxysbczs() + treeAnalyse.getQxysbczs());
|
|
|
- //上报到省厅村庄数
|
|
|
- treeAnalyse.setSbdstczs(analyse.getSbdstczs() + treeAnalyse.getSbdstczs());
|
|
|
- //应备案村庄数
|
|
|
- treeAnalyse.setYbaczs(analyse.getYbaczs() + treeAnalyse.getYbaczs());
|
|
|
- //补正,机审,用地审查节点
|
|
|
- treeAnalyse.setWbscjd(analyse.getWbscjd() + treeAnalyse.getWbscjd());
|
|
|
- treeAnalyse.setSlsjbz(analyse.getSlsjbz() + treeAnalyse.getSlsjbz());
|
|
|
- treeAnalyse.setYbas(analyse.getYbas() + treeAnalyse.getYbas());
|
|
|
- //未上报村庄
|
|
|
- treeAnalyse.setQxwsbczs(analyse.getQxwsbczs() + treeAnalyse.getQxwsbczs());
|
|
|
- }
|
|
|
- // 备案率
|
|
|
- if (treeAnalyse.getYbaczs() == 0) {
|
|
|
- treeAnalyse.setBal("--");
|
|
|
- } else {
|
|
|
- float bal = (float) treeAnalyse.getYbas() / (float) treeAnalyse.getYbaczs();
|
|
|
- DecimalFormat df = new DecimalFormat("0.0%");
|
|
|
- treeAnalyse.setBal(df.format(bal));
|
|
|
- }
|
|
|
-
|
|
|
- cityTreeList.add(treeAnalyse);
|
|
|
- }
|
|
|
-
|
|
|
-// 插入测试数据
|
|
|
-// for (int i = 0; i < 300; i++) {
|
|
|
-// TusexzqhDTO village = villageList.get(i);
|
|
|
-//
|
|
|
-// XxghcgsbDTO xxghcgsbDTO = new XxghcgsbDTO();
|
|
|
-// xxghcgsbDTO.setUuid(IdUtils.simpleUUID());
|
|
|
-// xxghcgsbDTO.setUploadStatus(2);
|
|
|
-// xxghcgsbDTO.setUploadTime(new Date());
|
|
|
-// if (i % 3 == 0) {//上报厅
|
|
|
-// xxghcgsbDTO.setStatus("12");
|
|
|
-// } else if (i % 3 == 1) {//上报厅
|
|
|
-// xxghcgsbDTO.setStatus("22");
|
|
|
-// } else {//为上报厅
|
|
|
-// xxghcgsbDTO.setStatus("11");
|
|
|
+// List<TreeAnalyse> cityTreeList = new ArrayList<>();
|
|
|
+// for (TusexzqhDTO tusexzqhDTO : cityList) {
|
|
|
+// TreeAnalyse treeAnalyse = new TreeAnalyse();
|
|
|
+// treeAnalyse.setLevel(0);
|
|
|
+// treeAnalyse.setId(tusexzqhDTO.getCode());
|
|
|
+// treeAnalyse.setXzqh(tusexzqhDTO.getCity());//行政区划
|
|
|
+// treeAnalyse.setChildren(countyTreeList);
|
|
|
+// for (TreeAnalyse analyse : countyTreeList) {
|
|
|
+// //行政村总数
|
|
|
+// treeAnalyse.setXzczs(analyse.getXzczs() + treeAnalyse.getXzczs());
|
|
|
+//// //旗县已上报的村庄数
|
|
|
+//// treeAnalyse.setQxysbczs(analyse.getQxysbczs() + treeAnalyse.getQxysbczs());
|
|
|
+// //上报到省厅村庄数
|
|
|
+// treeAnalyse.setSbdstczs(analyse.getSbdstczs() + treeAnalyse.getSbdstczs());
|
|
|
+// //应备案村庄数
|
|
|
+// treeAnalyse.setYbaczs(analyse.getYbaczs() + treeAnalyse.getYbaczs());
|
|
|
+// //补正,机审,用地审查节点
|
|
|
+// treeAnalyse.setWbscjd(analyse.getWbscjd() + treeAnalyse.getWbscjd());
|
|
|
+// treeAnalyse.setSlsjbz(analyse.getSlsjbz() + treeAnalyse.getSlsjbz());
|
|
|
+// treeAnalyse.setYbas(analyse.getYbas() + treeAnalyse.getYbas());
|
|
|
+// //未上报村庄
|
|
|
+// treeAnalyse.setQxwsbczs(analyse.getQxwsbczs() + treeAnalyse.getQxwsbczs());
|
|
|
// }
|
|
|
-// xxghcgsbDTO.setCounty(village.getCounty());
|
|
|
-// xxghcgsbDTO.setTown(village.getTownship());
|
|
|
-// xxghcgsbDTO.setVillage(village.getVillage());
|
|
|
-// xxghcgsbDTO.setXzqCode(village.getUse_id());
|
|
|
-// xxghcgsbDTO.setXzqName(village.getVillage());
|
|
|
-// xxghcgsbDTO.setYear("2025-03-13");
|
|
|
-// xxghcgsbMapper.insert(xxghcgsbDTO);
|
|
|
+// // 备案率
|
|
|
+// if (treeAnalyse.getYbaczs() == 0) {
|
|
|
+// treeAnalyse.setBal("--");
|
|
|
+// } else {
|
|
|
+// float bal = (float) treeAnalyse.getYbas() / (float) treeAnalyse.getYbaczs();
|
|
|
+// DecimalFormat df = new DecimalFormat("0.0%");
|
|
|
+// treeAnalyse.setBal(df.format(bal));
|
|
|
+// }
|
|
|
+//
|
|
|
+// cityTreeList.add(treeAnalyse);
|
|
|
// }
|
|
|
- return cityTreeList;
|
|
|
+// return cityTreeList;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
/**
|