📄 submittabletext.java
字号:
package net.aetherial.gis.our.auto;
import net.aetherial.gis.our.FrameOur;
import org.w3c.dom.*;
import net.aetherial.gis.surface.ItemValue;
import net.aetherial.gis.dataType.WptType;
import net.aetherial.gis.table.WuWei;
import java.io.File;
import net.aetherial.gis.surface.CreateFile;
import net.aetherial.gis.table.ReferencePoint;
import net.aetherial.gis.table.TableTing;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Date;
import net.aetherial.gis.dataType.GPSFile;
import net.aetherial.gis.dataType.TrackType;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class SubmitTableText {
private final String Table_Type_old = "老表格";
private final String Table_Type_new = "统计表格";
private final String Table_Type = Table_Type_old;
private String xiangzhen = "";
private WuWei ww = new WuWei();
private double licheng_all =0.0;
private double licheng_all_all = 0.0;
private String log = "";
private boolean xuyao_xzc = true;//需要行政村
private boolean xuyao_njian = true;//需要拟建
TableTing tt = null;
public SubmitTableText(String Table_Type) {
tt = new TableTing(Table_Type);
}
public void setXuyao_xzc(boolean xuyao){
this.xuyao_xzc = xuyao;
}
public void setXuyao_nijian(boolean xuyao){
this.xuyao_njian = xuyao;
}
//线路名称
private String getRoadName(Node track){
String str = ItemValue.getTracksName(track);
str = ItemValue.get_kuahao_String(str);
//str = ItemValue.getRidOf_kuahao(str);
//str = ItemValue.getShortName(str);
return str;
}
private String getRoadNameOfStartEnd(String[][] referencePoint){
return referencePoint[0][0] + "-" + referencePoint[4][0];
}
//沟通的行政村名称
private String getXZCName(Node xzcNode){
if(xzcNode == null){
return "";
}
return ItemValue.getWaypointShortName(xzcNode);
}
//得到该航迹的行政村个数,形成数组
private Node[] getXZCNode(Node track){
Node[] wpt1 = ItemValue.getTracksWaypoint(track);
if(wpt1 == null){
return null;
}
Node[] wpt2 = ItemValue.getXingZCInWaypoint(wpt1);
return wpt2;
}
private String getNowRoadDis(Node track){
String dis = ItemValue.getTracksStringDistance(track);
try {
this.licheng_all = this.licheng_all + Double.parseDouble(dis);
}
catch (NumberFormatException ex) {
}
this.print("this.licheng_all:"+this.licheng_all);
return dis;
}
private String getNowRoadbedWidth(Node track){
return ItemValue.getTracksWidth(track);
}
private String getNowRoadsurfaceWidth(Node track){
return ItemValue.getTracksWidth(track);
}
private String getNowRoadType(Node track){
return ItemValue.getTracksType(track);
}
private int getXZCXiabiao(Node xzcNode){//得到行政村数组的下标
if(xzcNode == null){
return -1;
}
String xzcName = ItemValue.getWaypointName(xzcNode);
for(int i =0;i<ww.wuwei_cun.length;i++){
if(!ww.wuwei_cun[i].equals("")){
if (xzcName.indexOf(ww.wuwei_cun[i]) != -1) {
return i;
}
}
}
return -1;
}
private String getCunPopulation(int xiabaio){
//人口
if(xiabaio != -1){
return ww.wuwei_renkou[xiabaio];
}else{
return "";
}
}
private String getCunIncome(int xiabaio){
//收入
if(xiabaio != -1){
return ww.wuwei_shouru[xiabaio];
}else{
return "";
}
}
private String getCunEconomy(int xiabaio){
//主要经济 作物
if(xiabaio != -1){
return ww.wuwei_jinji[xiabaio];
}else{
return "";
}
}
//制作Excel格式
public String getHead(){
return tt.getEHead();
}
int yeCount = 0;
private String getTop(Node track){
//得到头部描述
String top =tt.getETop();
Calendar c = new GregorianCalendar ();
c.setTime(new Date());
if (this.Table_Type.equals(this.Table_Type_old)) {
top = this.tt.getTDanWei(top, " ");
top = this.tt.getTDate(top,
c.get(Calendar.YEAR) + "年" +
(c.get(Calendar.MONTH) + 1) + "月" +
c.get(Calendar.DATE) + "日");
top = this.tt.getTShi(top, ItemValue.getTracksT1(track));
top = this.tt.getTXian(top, ItemValue.getTracksT2(track));
top = this.tt.getTXiang(top, ItemValue.getTracksT3(track));
yeCount++;
top = this.tt.getTYe(top, "" + yeCount);
}
else {
top = this.tt.getTDanWeiNew(top, " ");
top = this.tt.getTDateNew(top,c.get(Calendar.YEAR) + "年" +
(c.get(Calendar.MONTH) + 1) + "月" +
c.get(Calendar.DATE) + "日");
}
return top;
}
private String getXiangzhen(){
String xiangrow = this.tt.getEXiangZhen();
return this.tt.getD1_36_xiangzhen(xiangrow,this.xiangzhen);
}
int count =1;
private String getRowData(Node trk){
//得到trk数据
String dataRow = "";
if (this.Table_Type.equals(this.Table_Type_old)) {
/**
* 如果是老的表格
*/
if ( (count % tt.rowNum) == 1) {
dataRow = this.getTop(trk);
}
if ( (this.count % tt.rowNum) == 0) {
dataRow = dataRow + tt.getEDatarow2();
}
else {
dataRow = dataRow + tt.getEDatarow1();
}
}
else if (this.Table_Type.equals(this.Table_Type_new)) {
/**
* 如果是新的表格
*/
if (count == 1) {
dataRow = this.getTop(trk);
}
dataRow = dataRow + tt.getEDataRow();
}
this.count ++;
return dataRow;
}
private String getOnlyRow(Node track, Node xzc) {
String dataRow = this.getRowData(track);
int xb = -1;
dataRow = tt.getD1_1RoadName(dataRow, this.getRoadName(track));
dataRow = tt.getD1_2XZCName(dataRow, this.getXZCName(xzc));
try {
dataRow = getReferencePoint(dataRow, track);
}
catch (Exception ex) {
}
dataRow = getNowString(dataRow, track);
dataRow = this.getPlan(dataRow, track);
dataRow = this.get_ganxian(dataRow, track);
String[] xzcArray = setXZCArrayValue(ItemValue.getWaypointXZC(xzc));
//this.printXZCArray(xzcArray);
if (xzcArray == null) {
xb = this.getXZCXiabiao(xzc);
dataRow = getXZCString(dataRow,xb);
}
else {
dataRow = this.getXZCString(dataRow,xzc);
}
dataRow = this.get_beizhu(dataRow, track);
return dataRow;
}
private String[] setXZCArrayValue(String[] xzc){
if (xzc != null) {
for (int i = 0; i < xzc.length; i++) {
if (xzc[0] == null) {
return null;
}else if(xzc[0].equals("null")){
return null;
}else if(xzc[0].equals("")){
return null;
}
}
}
return xzc;
}
private void printXZCArray(String[] xzc){
if (xzc == null) {
return;
}
else {
for (int i = 0; i < xzc.length; i++) {
if (xzc[i] == null) {
System.out.println("xzc[" + i + "] ==" +xzc[i]);
}else{
System.out.println("xzc[" + i + "] equlse" +xzc[i]);
}
System.out.println("("+ xzc[i] + ")");
}
}
}
private String getRow(Node track) {
String n = "";
Node[] xzcArray = this.getXZCNode(track);
boolean isShashi_Tulu = (ItemValue.getTracksType(track).equals(WptType.RS_C_type)) ||
(ItemValue.getTracksType(track).equals(WptType.RS_D_bad));
if (this.xuyao_xzc && this.xuyao_njian) { //行政村为true,拟建为true
if ( isShashi_Tulu &&
(ItemValue.getTracks_construct(track).equals(TrackType.Plan_NIJIAN))) {
if (xzcArray == null) {
return "";
}
n = n + getOnlyRow(track, xzcArray[0]);
}
}
else if ( (!this.xuyao_xzc) && this.xuyao_njian) { //行政村为false,拟建为true
if ( isShashi_Tulu &&
(ItemValue.getTracks_construct(track).equals(TrackType.Plan_NIJIAN)))
{
if (xzcArray == null) {
n = n + getOnlyRow(track, null);
}else{
return "";
}
}
}
else if ( (this.xuyao_xzc) && (!this.xuyao_njian)) { //行政村为true,拟建为false
if ( isShashi_Tulu )
{
if (xzcArray == null) {//如果行政村数组为空的话,
return "";
}else{
n = n + getOnlyRow(track, xzcArray[0]);
}
}
}
else if ( (!this.xuyao_xzc) && (!this.xuyao_njian)) {//行政村为和拟建都不限制,只限制是否是砂石或者土路
if (isShashi_Tulu){
if (xzcArray == null) {
n = n + getOnlyRow(track, null);
}else{
n = n + getOnlyRow(track, xzcArray[0]);
}
}
}
return n;
}
private String get_tianbu(){
//填补没有数据的行
String nullRow = "";
if(this.count == 1){
return "";
// nullRow = this.getNullTop();
}
int cu = tt.rowNum - this.count%tt.rowNum;
if(this.count%tt.rowNum == 0){
nullRow = nullRow + tt.getENullrow2();
this.count ++;
}else{
for (int i = cu; i >= 0; i--) {
if (i == 0) {
nullRow = nullRow + tt.getENullrow2();
}
else {
nullRow = nullRow + tt.getENullrow1();
}
this.count++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -