1. 表t_proReconRecord的结构定义:
prr_id int ; //主键
contract_id int ; //合同号
ttr_id int ; //解决方案id
sell_id int; //网元
pr_values text ; //工勘信息
webModelDetail varchar ; //细分的网元类型
config_id int; //bill清单编号
2. ProjectReconRecord.java
package com.pojo;
/**
* 工勘记录表
*/
public class ProjectReconRecord {
private Integer prr_id; //主键
private Integer contract_id; //合同号
private Integer ttr_id; //解决方案id
private Integer sell_id; //网元
private String pr_values; //工勘信息
private String webModelDetail; //细分的网元类型
private Integer config_id; //bill清单编号
public Integer getPrr_id() {
return prr_id;
}
public void setPrr_id(Integer prr_id) {
this.prr_id = prr_id;
}
public Integer getContract_id() {
return contract_id;
}
public void setContract_id(Integer contract_id) {
this.contract_id = contract_id;
}
public String getPr_values() {
return pr_values;
}
public void setPr_values(String pr_values) {
this.pr_values = pr_values;
}
public Integer getTtr_id() {
return ttr_id;
}
public void setTtr_id(Integer ttr_id) {
this.ttr_id = ttr_id;
}
public Integer getSell_id() {
return sell_id;
}
public void setSell_id(Integer sell_id) {
this.sell_id = sell_id;
}
public String getWebModelDetail() {
return webModelDetail;
}
public void setWebModelDetail(String webModelDetail) {
this.webModelDetail = webModelDetail;
}
public Integer getConfig_id() {
return config_id;
}
public void setConfig_id(Integer config_id) {
this.config_id = config_id;
}
}
3. DBUtil.java
package com.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class DBUtil {
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
public Connection getConn() {
return conn;
}
public PreparedStatement getPs() {
return ps;
}
public ResultSet getRs() {
return rs;
}
public Connection getConnection(){
try{
String username = "root";
String password = "dfd12df";
String url = "jdbc:mysql://localhost:3306/db_hp";
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
System.out.println("数据库连接成功");
}catch(Exception e){
conn = null;
}
return conn;
}
public PreparedStatement getPreparedStatement(String sql){
try{
ps = conn.prepareStatement(sql);
}catch(Exception e){
e.printStackTrace();
}
return null;
}
public ResultSet getResultSet(){
try{
rs = ps.executeQuery();
}catch(Exception e){
e.printStackTrace();
}
return rs;
}
public void close(){
try{
if(rs != null){
rs.close();
}
if(ps != null){
ps.close();
}
if(conn != null){
conn.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String[] args){
DBUtil du = new DBUtil();
du.getConnection();
}
}
4. CommonDB.java
package com.db;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.pojo.ProjectReconRecord;
public class CommonDB<T> {
private T t;
public void setT(T t){
this.t = t;
}
public T getT(){
return this.t;
}
/**查询数据库*/
public List<?> findListBySql(T t, String sql){
this.setT(t);
List<ProjectReconRecord> list = new ArrayList<ProjectReconRecord>();
DBUtil du = new DBUtil();
du.getConnection();
du.getPreparedStatement(sql);
ResultSet rs = du.getResultSet();
try{
ProjectReconRecord p = null;
/** 1为ProjectReconRecord */
int flg = 0;
if(this.getT().getClass().equals(ProjectReconRecord.class)){
flg = 1;
}
while(rs.next()){
if(flg == 1){
p = new ProjectReconRecord();
Integer prr_id = rs.getInt("prr_id");
Integer contract_id = rs.getInt("contract_id");
Integer ttr_id = rs.getInt("ttr_id");
Integer sell_id = rs.getInt("sell_id");
String pr_values = rs.getString("pr_values");
Integer config_id = rs.getInt("config_id");
p.setPrr_id(prr_id);
p.setContract_id(contract_id);
p.setTtr_id(ttr_id);
p.setSell_id(sell_id);
p.setPr_values(pr_values);
p.setConfig_id(config_id);
list.add(p);
continue;
}else{
break;
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
du.close();
}
System.out.println("rs是否关闭?"+(du.getRs()==null?"是":"否"));
System.out.println("ps是否关闭?"+(du.getPs()==null?"是":"否"));
System.out.println("conn是否关闭?"+(du.getConn()==null?"是":"否"));
return list;
}
public static void main(String[] args) {
CommonDB<ProjectReconRecord> cd = new CommonDB<ProjectReconRecord>();
cd.setT(new ProjectReconRecord());
List<ProjectReconRecord> list = (List<ProjectReconRecord>) cd.findListBySql(new ProjectReconRecord(), "select * from t_proReconRecord where contract_id = 227 and ttr_id = 6 and sell_id = 12");
for(ProjectReconRecord p : list){
System.out.println("contract_id = "+p.getContract_id()+", "+
"ttr_id = "+p.getTtr_id()+", sell_id = "+p.getSell_id()+", config_id = "+p.getConfig_id()+", prr_values = "+p.getPr_values());
}
}
}
4. ProReconRecordUtil.java
import java.util.*;
/**对上传的工勘的结果进行处理的工具类*/
public class ProReconRecordUtil
{
public static void main(String[] args){
//基站
int enb_sell_id = 12;
String enb_prr_value = "pr_en_1=新建机房,pr_en_2=青青小美,pr_en_3=20.0,pr_en_4=30.0,pr_en_6=上走线,"
+"pr_en_7=一般地区,pr_en_8=20.0,pr_en_9=直流-48V,pr_en_10=室外落地,"
+"pr_en_12=1.8GHz eRRU3251,pr_en_13=华为,pr_en_14=直流,pr_en_15=抱杆安装,"
+"pr_en_16=室外,pr_en_17=2.0,pr_en_18=3.0,pr_en_19=1.0,pr_en_20=6.144G-单模-2km,"
+"pr_en_21=2.0,pr_en_24=单模,pr_en_27=40.0,pr_en_28=2.0,pr_en_34=50.0,pr_en_35=50.0,"
+"pr_en_36=否,pr_en_37=否,pr_en_50=0度,pr_en_52=抱杆,pr_en_53=是,pr_en_54=40.0,"
+"pr_en_60=光口,pr_en_61=单模10km,pr_en_63=LC-LC,pr_en_64=单模,pr_en_65=20.0,"
+"pr_en_69=5.0,pr_en_70=5.0,pr_en_90=10.0,pr_en_91=单相三芯电源线,pr_en_92=10.0"; //实际使用这个地方的值从数据库中获取得到
int totalPrNumber = 152;
handPrValue(enb_sell_id, enb_prr_value, totalPrNumber);
//核心网
int hardCore_sell_id = 13;
String hardCore_prr_value = "pr_en_1=是,pr_en_9=1,pr_en_2=2,pr_en_5=2,pr_en_7=一般地区,pr_en_10=3"; //实际使用这个地方的值从数据库中获取得到
int hardCore_totalPrNumber = 10;
handPrValue(hardCore_sell_id, hardCore_prr_value, hardCore_totalPrNumber);
}
/**对上传的工勘的结果进行处理*/
public static Map<String, String> handPrValue(int sell_id, String prr_value, int totalPrNumber){
int[] indexArray = {1,5,9,14,16};
String[] prArray = prr_value.split(",");
String[] prName = new String[prArray.length];
String[] prValue = new String[prArray.length];
if(prArray.length > 0){
for(int i = 0; i < prArray.length; i++){
String[] p_v = prArray[i].split("=");
prName[i] = p_v[0];
prValue[i] = p_v[1];
}
}
Map<String,String> map = new LinkedHashMap<String, String>();
for(int i = 0; i < totalPrNumber; i++){
boolean flg = false;
for(int j = 0; j < prName.length; j++){
if(prName[j].equals("pr_en_"+(i+1))){
map.put(prName[j],prValue[j]);
flg = true;
break;
}else{
continue;
}
}
if(!flg){
map.put("pr_en_"+(i+1),"-10000");
}
}
for(Map.Entry<String,String> obj : map.entrySet()){
System.out.println(obj.getKey() + " = "+obj.getValue());
}
System.out.println("map.size = "+map.size());
System.out.println("---------------------------------");
return map;
}
}
|