|
版本: |
X5.2.7 |
小版本号: |
|
|
|
数据库: |
Oracle |
服务器操作系统: |
Windows |
应用服务器: |
Tomcat |
客户端操作系统: |
Windows 7 |
浏览器: |
IE9 |
|
|
为啥我的断点进不去
1.我已经切换到了src源码路径
2.我已经在studio配置中将不以调试模式的选择勾给去掉了 并且在下面选中了BIZ和UI
3.我并且也已经编译过了,不会导致class和源码不一致的情况
4.我也已经重启了无数次,还是进不去。
有一个很神奇的现象,我进不去断点但是会报java代码中的提示(不要回复说不可能,我已经验证过了)
这是.w文件
TeamMembersActivity.excelImport1Click = function(event){
var importData=window.clipboardData.getData("text");// 复制剪贴板的Excel数据
if(importData==null||importData==""){
alert("未复制到内容");
return;
}
var dataMaster = justep.xbl("dataMaster");
dataMaster.saveData();
var param = new justep.Request.ActionParam();
param.setString("fid", justep.xbl("dataMaster").getID());
param.setString("data", importData);
justep.Request.sendBizRequest2({
dataType : "json",
parameters : param,
action : "importExcelDataAction",
callback : function(callbackdata) {
if (callbackdata.response != "") {
alert(callbackdata.response);
} else {
alert("导入成功!");
dataMaster.refreshData(dataMaster.getID());
}
}
});
};
这是java文件
public static String importExcelData(String fid,String data) throws Exception{
final int COLS=2; //复制列值是否为3列
final int SPLITCOLS=3; //将导入列分隔为3列 ---------------------------------------------------我将断点打在此处
String importStr = data;//导入后所有列
List<String> mat = new ArrayList<String>();//用来判断是否重复
StringBuffer rep = new StringBuffer("");//存放重复数据
//判断复制内容模板是否正确
if(importStr!=null&&!"".equals(importStr)){
String[] tempStr=importStr.split("\n");
Pattern p = Pattern.compile("\t",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(tempStr[0]);
int count = 0;
while(m.find()){
count ++;
}
if(count<COLS){
return "复制内容的列数不足"; ---------------------------------------------当我导入后它会在界面报该行的提示,我在excel中复制的列数确实是3列
}else if(count>COLS){
return "复制内容的列数大于模板列数";
}
}else{
return "复制的内容为空,请先复制要导入的内容";
}
PreparedStatement prep = null;
try {
String[] strRow = importStr.split("\n");
Connection conn = ModelUtils.getConnectionInTransaction(dataModel);
StringBuffer repeatWhere=new StringBuffer(""); //验证与数据库中重复 where条件
for (int i = 0; i < strRow.length; i++) {
String[] strCol = strRow.split("\t",SPLITCOLS);
repeatWhere.append("'");
repeatWhere.append(strCol[1]);
repeatWhere.append("',");
if (mat.contains(strCol[1])) {
rep.append(strCol[1]);
rep.append("\t");
} else {
mat.add(strCol[1]);
}
}
if(!"".equals(rep.toString())){//表明有Excel中有重复的物资
return "复制的内容存在重复物资"+rep.toString();
}
//判断当前导入的工号与已存在或者已导入的工号是否重复
String repeatSql = "select to_char(wm_concat(t.fnumber)) fnumber from sn_teammembers t where " +
" t.fnumber in (" + repeatWhere.substring(0, repeatWhere.lastIndexOf(",")).toString() + ")";
prep=conn.prepareStatement(repeatSql);
ResultSet rs=prep.executeQuery();
if(rs.next()){
if(rs.getString("fnumber")!=null){
return "存在与已导入的物资重复"+rs.getString("fnumber");
}
}
//导入内容
for (int i = 0; i < strRow.length; i++) {
String[] colArray=strRow.split("\t",SPLITCOLS);
StringBuffer insertSql=
new StringBuffer("insert into sn_teammembers(fid,version,fStation,fNumber,fName," +
"fCostCenter,fTeam)values(sys_guid(),0,'");
insertSql.append(colArray[0]);
insertSql.append("','");
insertSql.append(colArray[1]);
insertSql.append("','");
insertSql.append(colArray[2]);
insertSql.append("',(select fcostcenter from sn_costcenterteam where fstation='"+colArray[0]+"' ),");
insertSql.append("(select fteamname from sn_costcenterteam where fstation='"+colArray[0]+"')");
insertSql.append(")");
prep=conn.prepareStatement(insertSql.toString());
prep.executeUpdate();
}
return "";
} catch (SQLException e) {
ContextHelper.getTransaction().rollback();
return "sql语句执行异常\n"+e.getMessage();
} finally {
try {
if (prep != null) {
prep.close();
}
} catch (SQLException e) {
return "关闭数据连接资源\n"+e.getMessage();
}
}
}
}
|
|