⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bssqryservbean.java

📁 电信的网厅的整站代码
💻 JAVA
字号:
package com.doone.fj1w.fjmgr.order;

import com.doone.data.DataRow;
import com.doone.data.DataSet;
import com.doone.data.DataTable;
import com.doone.util.FileLogger;

public class BssQryServBean {
	private static DataSet oServ_ArchiveStruct = null;
	private static String sQryOpenMode = "111111111111111111111111100000000000000101100000000010000111111";

	private BssQryServBean() {
	}
	
	public static DataSet callToSet(String sServID, String sKeyWord, String sFlag, String sCityCode) {
		DataTable dt = BssInter4.call_webQryServ(sQryOpenMode, sServID, sKeyWord, sFlag, sCityCode);
		
		return convertToSet(dt);
	}
	
	public static DataTable callToTable(String sServID, String sKeyWord, String sFlag, String sCityCode) {
		return BssInter4.call_webQryServ(sQryOpenMode, sServID, sKeyWord, sFlag, sCityCode);
	}
	
	public static DataSet convertToSet(DataTable dt) {
		DataSet oServInfo = getServ_ArchiveStruct();
		if ( dt != null && oServInfo != null && dt.getRows().getCount() > 0 ) {
			try {
				DataTable[] dts = oServInfo.getTables();
				for ( int tabnum = 0; tabnum < dts.length; tabnum++) {
					String[] fldNames = new String[dts[tabnum].getColumns().getCount()];
					boolean existNullField = false; // 当前表中是否存在空字段(字段不存在)。
					for ( int i=0; i<fldNames.length; i++) {
						fldNames[i] = dts[tabnum].getColumn(i).getColumnName();
						if ( dt.getColumn(fldNames[i]) == null ) {
							FileLogger.getLogger().warn("字段名:" + fldNames[i] + ",在接口返回值中不存在。");
							existNullField = true;
						}
					}
					
					// 当前表中有的字段不存在,不做处理。
					if ( existNullField ) {
						FileLogger.getLogger().warn(dts[tabnum].getTableName() + "在接口中没有返回相应字段,不做处理。");
						continue;
					}
					
					DataRow oldRow = null;
					for ( int rownum = 0; rownum < dt.getRows().getCount(); rownum++) {
						DataRow newRow = dts[tabnum].newRow();
						DataRow dr = dt.getRow(rownum);
						boolean isSame = true;
						boolean hasValue = false;
						for (int colnum =0; colnum < fldNames.length; colnum++) {
							Object value = dr.getValue(fldNames[colnum]);
							if ( value != null && ! dr.getString(fldNames[colnum]).equals("") ) hasValue = true;

							newRow.setValue(fldNames[colnum], value);
							
							if ( oldRow != null && ! oldRow.getString(fldNames[colnum]).equals(dr.getString(fldNames[colnum]))) {
								isSame = false;
							}
						}
						
						if ( ( oldRow == null || ! isSame ) && hasValue) {
							dts[tabnum].getRows().add(newRow);
							oldRow = newRow;
						}
					}
				}
			}
			catch(Exception ex) {
				FileLogger.getLogger().warn(ex.getMessage(),ex);
			}
		}
		
		return oServInfo;
	}

	public static DataSet getServ_ArchiveStruct() {
		if ( oServ_ArchiveStruct == null) {
			oServ_ArchiveStruct = new DataSet();
			oServ_ArchiveStruct.readXml("com/doone/fj1w/fjmgr/order/qryserv.xml");
		}
		
		return (DataSet)oServ_ArchiveStruct.clone();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -