📄 bssqryservbean.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 + -