1.客户端的判断
/**
* 编码是否已经存在
* 已存在该编码的话,警告并中断程序
*/
private void isExistsNumber() throws Exception {
FilterInfo filter = new FilterInfo();
filter.getFilterItems().add(new FilterItemInfo("number", editData.getNumber()));
if(editData.getId() != null){
filter.getFilterItems().add(new FilterItemInfo("id", editData.getId(), CompareType.NOTEQUALS));
}
boolean exists = ReportFactory.getRemoteInstance().exists(filter);
if(exists){
Utils.warning(this, "报表编码不允许重复,请重新录入!");
}
}
/**
* 警告并中断程序,用于前端
* @param comp 父控件
* @param msg 警告消息
*
*/
public static void warning(Component comp, String msg){
MsgBox.showWarning(comp, msg);
SysUtil.abort();
}
2.controllerBean的方法
//单据编号
String numberStr = jo.getString("number");
verifyFieldNotNull("number", numberStr);
FilterInfo filter = new FilterInfo();//判断编码是否重复
filter.getFilterItems().add(new FilterItemInfo("number", numberStr));
if(info.getId() != null){
filter.getFilterItems().add(new FilterItemInfo("id", info.getId(), CompareType.NOTEQUALS));
}
boolean exists = DailyLoanBillFactory.getLocalInstance(ctx).exists(filter);
if(exists){
throw new EASBizException(new NumericExceptionSubItem("100","单据编码不允许重复,请重新录入"));
}
info.setNumber(numberStr);