📄 lcget.java
字号:
package edu.whut.cwts.hc;
import java.sql.*;
import java.util.*;
public class LcGet {
public static int lcGetByQd(String qsg,String ddg)throws java.sql.SQLException {
int lcDistance = 0;
ConnectDB conndb = new ConnectDB();
Lcxx gl0 = null; //定义四个干流港口
Lcxx gl1 = null;
Lcxx gl2 = null;
Lcxx gl3 = null;
Zllcxx zl0 = null; //定义两个支流港口
Zllcxx zl1 = null;
if(qsg.substring(0,1).equals("z")) //(1)起始港为支流
{
if(ddg.substring(0,1).equals("z")) //(1-1)起始港为支流,到达港为支流
{
String sql0="Select * from zllcxxb where zldm='"+qsg.trim()+"'";
Assert.pl(sql0);
ResultSet rs0 = conndb.executeQuery(sql0);
if (rs0.next())
{//支流起始港
zl0 = new Zllcxx(rs0.getString("zldm"),rs0.getString("zlmc"),rs0.getString("sydm"),rs0.getInt("sylc"),rs0.getString("xydm"),rs0.getInt("xylc"));
}
String sql1="Select * from zllcxxb where zldm='"+ddg.trim()+"'";
Assert.pl(sql1);
ResultSet rs1 = conndb.executeQuery(sql1);
if (rs1.next())
{//支流到达港
zl1 = new Zllcxx(rs1.getString("zldm"),rs1.getString("zlmc"),rs1.getString("sydm"),rs1.getInt("sylc"),rs1.getString("xydm"),rs1.getInt("xylc"));
}
String sql2="Select * from lcxxb where gkdm='"+zl0.getSydm().trim()+"'";//获取起始港其邻近上游港口的里程信息
Assert.pl(sql2);
ResultSet rs2 = conndb.executeQuery(sql2);
if (rs2.next())
{//支流起始港之临近上游
gl0 = new Lcxx(rs2.getString("gkdm"),rs2.getString("gkmc"),rs2.getInt("lc"),rs2.getFloat("fl"));
}
String sql3="Select * from lcxxb where gkdm='"+zl0.getXydm().trim()+"'";//获取起始港其邻近下游港口的里程信息
Assert.pl(sql3);
ResultSet rs3 = conndb.executeQuery(sql3);
if (rs3.next())
{//支流起始港之临近下游
gl2 = new Lcxx(rs3.getString("gkdm"),rs3.getString("gkmc"),rs3.getInt("lc"),rs3.getFloat("fl"));
}
String sql4="Select * from lcxxb where gkdm='"+zl1.getSydm().trim()+"'";//获取到达港其邻近上游港口的里程信息
Assert.pl(sql4);
ResultSet rs4 = conndb.executeQuery(sql4);
if (rs4.next())
{//支流到达港之临近上游
gl1 = new Lcxx(rs4.getString("gkdm"),rs4.getString("gkmc"),rs4.getInt("lc"),rs4.getFloat("fl"));
}
String sql5="Select * from lcxxb where gkdm='"+zl1.getXydm().trim()+"'";//获取到达港其邻近下游港口的里程信息
Assert.pl(sql5);
ResultSet rs5 = conndb.executeQuery(sql5);
if (rs5.next())
{//支流到达港之临近下游
gl3 = new Lcxx(rs5.getString("gkdm"),rs5.getString("gkmc"),rs5.getInt("lc"),rs5.getFloat("fl"));
}
if(gl0.getLc()==gl1.getLc())
{
lcDistance = Math.abs(zl0.getSylc()-zl1.getSylc());//隶属同一支流的两支流港口
}
if(gl0.getLc()>gl1.getLc()) //上游支流到下游支流
{
lcDistance = gl2.getLc()-gl1.getLc()+zl0.getXylc()+zl1.getSylc();
}
if(gl0.getLc()<gl1.getLc()) //下游支流到上游支流
{
lcDistance = gl3.getLc()-gl0.getLc()+zl0.getSylc()+zl1.getXylc();
}
}
else //(1-2)起始港为支流,到达港为干流与(2-1)相同
{
String sql0="Select * from lcxxb where gkdm='"+ddg.trim()+"'";
Assert.pl(sql0);
ResultSet rs0 = conndb.executeQuery(sql0);
if (rs0.next())
{//干流到达港
gl0 = new Lcxx(rs0.getString("gkdm"),rs0.getString("gkmc"),rs0.getInt("lc"),rs0.getFloat("fl"));
}
String sql1="Select * from zllcxxb where zldm='"+qsg.trim()+"'";
Assert.pl(sql1);
ResultSet rs1 = conndb.executeQuery(sql1);
if (rs1.next())
{//支流起始港
zl0 = new Zllcxx(rs1.getString("zldm"),rs1.getString("zlmc"),rs1.getString("sydm"),rs1.getInt("sylc"),rs1.getString("xydm"),rs1.getInt("xylc"));
}
String sql2="Select * from lcxxb where gkdm='"+zl0.getSydm().trim()+"'";//获取其邻近上游港口的里程信息
Assert.pl(sql2);
ResultSet rs2 = conndb.executeQuery(sql2);
if (rs2.next())
{//支流起始港之临近上游
gl1 = new Lcxx(rs2.getString("gkdm"),rs2.getString("gkmc"),rs2.getInt("lc"),rs2.getFloat("fl"));
}
String sql3="Select * from lcxxb where gkdm='"+zl0.getXydm().trim()+"'";
Assert.pl(sql3);
ResultSet rs3 = conndb.executeQuery(sql3);
if (rs3.next())
{//支流起始港之临近下游
gl2 = new Lcxx(rs3.getString("gkdm"),rs3.getString("gkmc"),rs3.getInt("lc"),rs3.getFloat("fl"));
}
if(gl0.getLc()>=gl1.getLc())//下游支流到上游干流
{
lcDistance = gl0.getLc()-gl1.getLc()+zl0.getSylc();
}
if(gl0.getLc()<gl1.getLc())//上游支流到下游干流
{
lcDistance = gl2.getLc()-gl0.getLc()+zl0.getXylc();
}
}
}
else //(2)起始港为干流
{
if(ddg.substring(0,1).equals("z")) //(2-1)起始港为干流,到达港为支流
{
String sql0="Select * from lcxxb where gkdm='"+qsg.trim()+"'";
Assert.pl(sql0);
ResultSet rs0 = conndb.executeQuery(sql0);
if (rs0.next())
{//干流起始港
gl0 = new Lcxx(rs0.getString("gkdm"),rs0.getString("gkmc"),rs0.getInt("lc"),rs0.getFloat("fl"));
}
String sql1="Select * from zllcxxb where zldm='"+ddg.trim()+"'";
Assert.pl(sql1);
ResultSet rs1 = conndb.executeQuery(sql1);
if (rs1.next())
{//支流到达港
zl0 = new Zllcxx(rs1.getString("zldm"),rs1.getString("zlmc"),rs1.getString("sydm"),rs1.getInt("sylc"),rs1.getString("xydm"),rs1.getInt("xylc"));
}
String sql2="Select * from lcxxb where gkdm='"+zl0.getSydm().trim()+"'";//获取其邻近上游港口的里程信息
Assert.pl(sql2);
ResultSet rs2 = conndb.executeQuery(sql2);
if (rs2.next())
{//支流到达港之临近上游
gl1 = new Lcxx(rs2.getString("gkdm"),rs2.getString("gkmc"),rs2.getInt("lc"),rs2.getFloat("fl"));
}
String sql3="Select * from lcxxb where gkdm='"+zl0.getXydm().trim()+"'";
Assert.pl(sql3);
ResultSet rs3 = conndb.executeQuery(sql3);
if (rs3.next())
{//支流到达港之临近下游
gl2 = new Lcxx(rs3.getString("gkdm"),rs3.getString("gkmc"),rs3.getInt("lc"),rs3.getFloat("fl"));
}
if(gl0.getLc()>=gl1.getLc())//上游干流到下游支流
{
lcDistance = gl0.getLc()-gl1.getLc()+zl0.getSylc();
}
if(gl0.getLc()<gl1.getLc())//下游干流到上游支流
{
lcDistance = gl2.getLc()-gl0.getLc()+zl0.getXylc();
}
}
else //(2-2)起始港为干流,到达港为干流
{
String sql0="Select * from lcxxb where gkdm='"+qsg.trim()+"'";
Assert.pl(sql0);
ResultSet rs0 = conndb.executeQuery(sql0);
if (rs0.next())
{
gl0 = new Lcxx(rs0.getString("gkdm"),rs0.getString("gkmc"),rs0.getInt("lc"),rs0.getFloat("fl"));
}
String sql1="Select * from lcxxb where gkdm='"+ddg.trim()+"'";
Assert.pl(sql1);
ResultSet rs1 = conndb.executeQuery(sql1);
if (rs1.next())
{
gl1 = new Lcxx(rs1.getString("gkdm"),rs1.getString("gkmc"),rs1.getInt("lc"),rs1.getFloat("fl"));
}
lcDistance=Math.abs(gl0.getLc()-gl1.getLc());//取两者里程相减之绝对值
}
}
conndb.close();
return lcDistance;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -