📄 datavirytabulation.java
字号:
* 1、已删除超范围调查路线一览表,路线编号必须包含在第一次报送的数据中且不包含在第二次报送的数据中
* 2、如果该路线为通达路线,将该乡镇、建制村的编码(第一次报送)写入备注中
* 3、路线按照路线编码排序
*/
public List hasEarseRoads(){
FileOperate fileOperate = new FileOperate();
List list1 = new ArrayList();
List list2 = new ArrayList();
List tempList = new ArrayList();
CommClass cc = new CommClass();
cc.setTxtFilePath(this.oldFilePath);
list1 = cc.getRoadTable();
cc.setTxtFilePath(this.newFilePath);
list2 = cc.getRoadTable();
cc.setTxtFilePath(this.oldFilePath );
List oldTongList = cc.getVillageAndTownTongDa();//获取丰次报部时所有通达的信息
String oldLineStr = "";
String newLineStr = "";
String oldLxNumber = "";
String oldLxName = "";
String newLxNumber = "";
String [] oldLine = null;
String [] newLine = null;
double liCheng = 0.0;
String lineStr = "";
String tongDaStr = "";
String contentTxt = "";
int n = 0;
int lineInt = 0;
System.out.println(" 正在处理数据,请稍候...");
List tongList = cc.isTongDa(this.oldFilePath);
List ldList = cc.getLd(this.oldFilePath);
for (int i=0; list1 != null && i<list1.size(); i++)
{
oldLineStr =(String)list1.get(i);
oldLine = oldLineStr.split("\t");
oldLxName = oldLine[1];
oldLxNumber = oldLine[0];
if (!oldLxNumber.substring(0,1).equals("C")) continue; //只取村道
n=0;
for( int j = 0; list2 != null && j<list2.size(); j++){
newLineStr =(String)list2.get(j);
newLine = newLineStr.split("\t");
newLxNumber = newLine[0];
if (!newLxNumber.substring(0,1).equals("C")) continue;
if (newLxNumber.equals(oldLxNumber) ){
n++;
break;
}
}
if ( n == 0 ){
liCheng = cc.getRoadInfo(ldList,oldLxNumber); //获取里程
if (liCheng > 0.0 ){
boolean isTongDa = cc.isTongDaLx(tongList,oldLxNumber); //判断是否是通达路线
if (isTongDa) {
System.out.println("删除路线:"+ oldLxNumber + " " + oldLxName);
lineInt ++ ;
tongDaStr = cc.getIsTongDa(oldTongList,oldLxNumber); //得到上次报部时所用的行政村编码
lineStr = lineInt + "\t" + oldLxNumber + "\t" + oldLxName + "\t" ;
lineStr += liCheng+ "\t" + tongDaStr;
contentTxt += lineStr +"\r\n";
tempList.add(lineStr);
}
}
}
}
fileOperate.newFile("e:\\报部接口文件\\"+this.cityName + "\\已删除超范围调查路线一览表.txt",contentTxt);//输出文件
return tempList;
}
/*
* 1、新增乡镇、建制村一览表,所有在第一次数据报送时没有填报的乡镇、建制村,乡镇、建制村编码和名称必须不在第一次报送的数据中
* 2、按照乡镇、建制村编码排序
*/
public List getNewVillagesAndTowns(){
FileOperate fileOperate = new FileOperate();
List list1 = new ArrayList();
List list2 = new ArrayList();
List tempList = new ArrayList();
CommClass cc = new CommClass();
cc.setTxtFilePath(this.oldFilePath );
list1 = cc.getVillagesAndTowns(); //获取上次乡镇、行政村信息
cc.setTxtFilePath(this.newFilePath);
list2 = cc.getVillagesAndTowns(); //获取本次乡镇、行政村信息
String oldLineStr = "";
String newLineStr = "";
String oldTownNumber = "";
String oldTownName = "";
String newTownNumber = "";
String newTownName = "";
String [] oldLine = null;
String [] newLine = null;
String renKou = "";
String lineStr = "";
String contentTxt = "";
int lineInt = 0;
int renKouCount =0;
boolean isAdd = false;
for (int i=0; list2 != null && i<list2.size(); i++)
{
newLineStr =(String)list2.get(i);
newLine = newLineStr.split("\t");
newTownName = newLine[1].trim();
newTownNumber = newLine[0].trim();
renKou = newLine[2];
isAdd = true;
for( int j = 0; list1 != null && j<list1.size(); j++){
oldLineStr =(String)list1.get(j);
oldLine = oldLineStr.split("\t");
oldTownName = oldLine[1].trim();
oldTownNumber = oldLine[0].trim();
//乡镇、建制村编码和名称必须和上次的不同
if ( (oldTownName.equals(newTownName ) && oldTownNumber.equals(newTownNumber))
|| ((oldTownName.equals(newTownName ) && !oldTownNumber.equals(newTownNumber)))
|| ((!oldTownName.equals(newTownName ) && oldTownNumber.equals(newTownNumber)))){
isAdd = false;
break;
}
}
if ( isAdd ) {
lineInt ++ ;
System.out.println("新增的乡镇、行政村: "+ newTownNumber + " " + newTownName);
renKouCount += Integer.parseInt(renKou);
lineStr = lineInt + "\t" + newTownNumber + "\t" + newTownName + "\t" + renKou + "\t" ;
contentTxt += lineStr +"\r\n";
tempList.add(lineStr);
}
}
if (tempList.size() != 0 )
lineStr = "\t\t" + renKouCount+ "\t\r\n";
contentTxt = lineStr + contentTxt;
fileOperate.newFile("e:\\报部接口文件\\"+this.cityName + "\\新增乡镇建制村一览表.txt",contentTxt);//输出文件
return tempList;
}
/*
* 1、删除乡镇、建制村一览表,所有在第一次数据报送时超范围填报的乡镇、建制村,乡镇、建制村编码和名称必须在第一次报送的数据中,
* 且不在第二次报送的数据中,
* 2、按照乡镇、建制村编码排序
*/
public List hasEarseVillagesAndTowns(){
FileOperate fileOperate = new FileOperate();
List list1 = new ArrayList();
List list2 = new ArrayList();
List tempList = new ArrayList();
CommClass cc = new CommClass();
cc.setTxtFilePath(this.oldFilePath);
list1 = cc.getVillagesAndTowns();
cc.setTxtFilePath(this.newFilePath);
list2 = cc.getVillagesAndTowns();
String oldLineStr = "";
String newLineStr = "";
String oldTownNumber = "";
String oldTownName = "";
String newTownNumber = "";
String newTownName = "";
String [] oldLine = null;
String [] newLine = null;
String renKou = "";
String lineStr = "";
String contentTxt = "";
int renKouCount = 0;
int lineInt = 0;
boolean isAdd = true;
for (int i=0; list1 != null && i<list1.size(); i++)
{
newLineStr =(String)list1.get(i);
newLine = newLineStr.split("\t");
newTownName = newLine[1].trim();
newTownNumber = newLine[0].trim();
renKou = newLine[2];
isAdd = true;
for( int j = 0; list2 != null && j<list2.size(); j++){
oldLineStr =(String)list2.get(j);
oldLine = oldLineStr.split("\t");
oldTownName = oldLine[1].trim();
oldTownNumber = oldLine[0].trim();
if ( (oldTownName.equals(newTownName ) && oldTownNumber.equals(newTownNumber))
|| ((oldTownName.equals(newTownName ) && !oldTownNumber.equals(newTownNumber)))
|| ((!oldTownName.equals(newTownName ) && oldTownNumber.equals(newTownNumber)))){
isAdd = false;
break;
}
}
if ( isAdd ) {
lineInt ++ ;
System.out.println("删除的乡镇、行政村: "+ newTownNumber + " " + newTownName);
renKouCount += Integer.parseInt(renKou);
lineStr = lineInt + "\t" + newTownNumber + "\t" + newTownName + "\t" + renKou + "\t" ;
contentTxt += lineStr +"\r\n";
tempList.add(lineStr);
}
}
if (tempList.size() != 0 )
lineStr = "\t\t" + renKouCount+ "\t\r\n";
contentTxt = lineStr + contentTxt;
fileOperate.newFile("E:\\报部接口文件\\"+this.cityName + "\\删除乡镇建制村一览表.txt",contentTxt);//输出文件
return tempList;
}
/*
*1、乡镇、建制村编码或名称调整一览表,与第一次报送数据名称、编码或二者都发生变化的乡镇、建制村信息
*2、按照第一次报送的乡镇、建制村编码排序
*/
public List changeVillagesAndTowns(){
FileOperate fileOperate = new FileOperate();
List list1 = new ArrayList();
List list2 = new ArrayList();
List tempList = new ArrayList();
CommClass cc = new CommClass();
cc.setTxtFilePath(this.oldFilePath);
list1 = cc.getVillagesAndTowns();
cc.setTxtFilePath(this.newFilePath);
list2 = cc.getVillagesAndTowns();
String oldLineStr = "";
String newLineStr = "";
String oldTownNumber = "";
String oldTownName = "";
String newTownNumber = "";
String newTownName = "";
String [] oldLine = null;
String [] newLine = null;
String renKou = "";
String lineStr = "";
String jinDu = "";
String weiDu = "";
String contentTxt = "";
int lineInt = 0;
boolean isAdd = true;
for (int i=0; list2 != null && i<list2.size(); i++)
{
newLineStr =(String)list2.get(i);
newLine = newLineStr.split("\t");
newTownName = newLine[1].trim();
newTownNumber = newLine[0].trim();
renKou = newLine[2];
jinDu = newLine[8];
weiDu = newLine[9];
lineStr = newTownNumber ;
isAdd = false;
for( int j = 0; list1 != null && j<list1.size(); j++){
oldLineStr =(String)list1.get(j);
oldLine = oldLineStr.split("\t");
oldTownName = oldLine[1].trim();
oldTownNumber = oldLine[0].trim();
if ((newTownName.equals(oldTownName) && newTownNumber.equals(oldTownNumber)))
break;
if ((!newTownName.equals(oldTownName) && newTownNumber.equals(oldTownNumber) )
|| (newTownName.equals(oldTownName) && !newTownNumber.equals(oldTownNumber))
&& oldTownNumber.substring(0,9).equals(newTownNumber.substring(0,9))){
isAdd = true;
break;
}
}
if ( isAdd ) {
lineInt ++ ;
String [] temp = cc.getNameAndNumber(newTownName,newTownNumber,list1);
oldTownName = temp[1];
oldTownNumber = temp[0];
lineStr = lineInt + "\t" + oldTownNumber + " \t" + newTownNumber +"\t"+ oldTownName + "\t"
+ newTownName +"\t" + jinDu + "\t" + weiDu + "\t";
contentTxt += lineStr + "\r\n";
tempList.add(lineStr);
}
}
fileOperate.newFile("E:\\报部接口文件\\"+this.cityName + "\\乡镇建制村编码或名称调整一览表.txt",contentTxt);//输出文件
return tempList;
}
/*
*1、通达路线选取变化一览表,所有与第一次报送数据中通达路线发生变化的乡镇、建制村通达路线信息
*2、里程为乡镇政府距离通达路线的里程
*3、新增或删除的乡镇、建制村不在表中
*4、按照乡镇、建制村编码排序
*/
public List changePassageRoads(){
//获取所有已经删除或新增的行政村或乡镇信息
List delRowList = this.getdelTownAndVillage();
FileOperate fileOperate = new FileOperate();
List list = new ArrayList();
List newList = new ArrayList();
List tongDaList = new ArrayList();
List addRowList = new ArrayList();
List tempList = new ArrayList();
CommClass cc = new CommClass();
cc.setTxtFilePath(this.newFilePath);
list = cc.getAllVillageAndTown2(this.oldFilePath); //获取所有乡镇、建制村编码
String dwNumber = "";
String contentTxt = "";
String roadNumber = "";
String newRoadNumber = "";
String danWeiNumber = "";
String lineStr = "";
String [] childStr = null;
String [] newChildStr = null;
String newLineStr = "";
String rowStr = "";
String tempStr = "";
double roadMile = 0.0;
int m = 0;
int n = 0;
boolean isAlter =true;
System.out.println("正在比较数据,请稍后...");
List oldList = cc.getTDList(this.oldFilePath); //获取上次通达信息
List newTDList = cc.getTDList(this.newFilePath ); //获取本次通达信息
for (int i = 0; list != null && i < list.size(); i++ ){
danWeiNumber = ((String)list.get(i)).trim();
m = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -