dwr JSONオブジェクトをインタフェースからバックグラウンド処理に持ち込む
1:インタフェースでデータをJSON文字にカプセル化する逃げ:フォーマットは以下の通り:
{"a":"1","b":"2","c":[{"d":"3","e":"4"},{"d":"3","e":"4"}]}
インタフェースjsは以下の通りである.
2:インターフェイスはJSONをバックグラウンドに伝える
3:バックグラウンドでJSONを受け取って処理する:
{"a":"1","b":"2","c":[{"d":"3","e":"4"},{"d":"3","e":"4"}]}
インタフェースjsは以下の通りである.
//
function getJsons(){
var zlf = checkCongfu("zhonglei");
if(!zlf){
return "";
}
var sfxm = document.getElementById("sfxm").value;
if(sfxm==2){
var fzxamt = document.getElementById("fzxamt").value;
var zxel = document.getElementsByName("xnamt");
var ed = document.getElementById("namt").value;
var fpsum = 0;
for(var i=0;i<zxel.length;i++){
if(zxel[i].value!=""){
fpsum = fpsum + parseFloat(getNum(zxel[i].value));
}
}
fpsum = fpsum+parseFloat(getNum(fzxamt));
if(parseFloat(getNum(ed))<fpsum){
alert(" ");
return "";
}
}
var mx = document.getElementsByName("dbxz");
var namt = document.getElementById("namt");
var allused = document.getElementById("usedamt");
var danbao = document.getElementsByName("danbao");
var zhonglei = document.getElementsByName("zhonglei");
var odi = document.getElementById("oid");
var appid = document.getElementById("appid");
if(namt.value!=""){
var r = new StringBuffer('{ \"namt\":\"');
var tzsm = document.getElementById("othersVal");
r.append(parseFloat(getNum((namt.value)))*10000);
r.append('\",\"oid\":\"');
r.append(odi.value);
r.append('\",\"tzsm\":\"');
r.append((tzsm.value));
r.append('\",\"cor\":\"');
r.append('<%=cror%>');
r.append('\",\"appid\":\"');
r.append(appid.value);
r.append('\",\"allused\":\"');
r.append(0);
r.append("\"");
if(sfxm==2){
r.append(',\"mx\":');
var tempr =new StringBuffer("[");
var zhonglei = document.getElementsByName("zhonglei");
//var jyed = parseFloat(getNum(document.getElementsByName("xnamt")))*10000;
var jyed = document.getElementsByName("xnamt")
var danbao = document.getElementsByName("danbao");
var danbaosm = document.getElementsByName("xnwartcmt");
var f = false;
tempr.append('{\"zhonglei\":\"');
tempr.append(100);
tempr.append('\", \"xnamt\":\"');
tempr.append(parseFloat(getNum(document.getElementById("fzxamt").value))*10000);
tempr.append('\", \"usedamt\":\"');
tempr.append(parseFloat(getNum(document.getElementById("fzxamt").a))*10000);
tempr.append('\",\"danbao\":\"');
tempr.append(danbao[0].value);
tempr.append('\",\"danbaosm\":\"');
tempr.append(document.getElementById("fzxnwartcmt").value);
tempr.append('\"},');
if(danbao[0].value==""){
alert(" !");
danbao[0].focus;
return "";
}
for(var i=0 ; i<mx.length;i++){
//if(mx[i].checked==true || jyed[i].value!=""){
//alert(jyed[i].value);
if(jyed[i].value!=""){
if(jyed[i].value==""){
alert(" !");
jyed[i].focus;
return "";
}
if(danbao[i+1].value==""){
alert(" !");
danbao[i+1].focus;
return "";
}
if(zhonglei[i].value==""){
alert(" !");
zhonglei[i].focus;
return "";
}
tempr.append('{\"zhonglei\":\"');
tempr.append(zhonglei[i].value);
tempr.append('\", \"xnamt\":\"');
tempr.append(parseFloat(getNum(jyed[i].value))*10000);
tempr.append('\", \"usedamt\":\"');
//if(jyed[i].a!=null && jyed[i].a!=""){
//tempr.append(parseFloat(getNum(jyed[i].a))*10000);
//}else{
tempr.append(0);
//}
tempr.append('\",\"danbao\":\"');
tempr.append(danbao[i+1].value);
tempr.append('\",\"danbaosm\":\"');
tempr.append(danbaosm[i].value);
tempr.append('\"},');
f = true;
}else{
//alert(" !");
//jyed[i].focus;
//return "";
}
}
tempr =tempr.substringBetween(0,tempr.getLength()-1);
tempr=tempr+"]";
r.append(tempr);
}
r.append("}");
return r;
}else{
return "";
}
}
2:インターフェイスはJSONをバックグラウンドに伝える
function dosave(){
var r = getJsons();
if(r!=""){
document.getElementById("dos").disabled =true ;
document.getElementById("dob").disabled = true ;
cedit.saveFbcmcEditApp(r.toString(),chagexnAmt);
}
}
3:バックグラウンドでJSONを受け取って処理する:
public String saveFbcmcEditApp(String app){
String s ="";
//String s = fbcmCeditAuditDao.saveFbcmcEditApp(app);
JSONObject t= JSONObject.fromObject(app);
String namt = t.getString("namt");
String oid = t.getString("oid");
String cor = t.getString("cor");
String allused = t.getString("allused");
//String mx = t.getString("mx");
//this.getDaoFacade().getCommonDao().delete(object)
FbcmCeditApp oidFbcmCeditApp = getDaoFacade().getFbcmCeditAuditDao().checkAmt(oid, namt);
if(oidFbcmCeditApp==null){
return (" ");
}
if(oidFbcmCeditApp.getSuperclt()!=null){
FbcmCeditApp apps =getDaoFacade().getFbcmCeditAuditDao().getFbcmCeditAppByCltno(oidFbcmCeditApp.getSuperclt());
if(apps!=null && apps.getAmt().doubleValue() < Double.parseDouble(namt)){
return (" ");
}
}
Set oset = oidFbcmCeditApp.getFbcmCrtappDetails();
//
if(oidFbcmCeditApp.getIsproject().equals(new Long(String.valueOf(Statics.P_NO)))){
String mx = t.getString("mx");
JSONArray ja= JSONArray.fromObject(mx);
//Set mxs = new HashSet();
for(int i =0 ; i<ja.size();i++){
JSONObject tempmx = (JSONObject)ja.get(i);
String zl =tempmx.getString("zhonglei");
String ed =tempmx.getString("xnamt");
Iterator iter =oset.iterator();
while(iter.hasNext()){
FbcmCrtappDetail fcd = (FbcmCrtappDetail)iter.next();
if(fcd.getType().equals(zl)){
if(fcd.getUsedamt()!=null &&!"".equals(fcd.getUsedamt())){
System.out.println(fcd.getUsedamt().doubleValue() +"@@@"+Double.parseDouble(ed));
if(fcd.getUsedamt().doubleValue() > Double.parseDouble(ed)){
if("100".equals(zl)){
return (" ");
}else{
String name =getDaoFacade().getFbcmCeditAuditDao().getSxName(zl);
return (name+" ");
}
}
}
}
}
}
}
//
List ll = getDaoFacade().getFbcmCeditAuditDao().findSqsms(Long.valueOf(oid));
if(ll!=null){
for(int i=0; i<ll.size();i++){
FbcmAppDetail ttt = (FbcmAppDetail)ll.get(i);
this.getDaoFacade().getCommonDao().delete(ttt);
}
}
//
//List lll = getDaoFacade().getFbcmCeditAuditDao().findTzmx(Long.valueOf(oid));
List lll = getDaoFacade().getFbcmCeditAuditDao().findTzmx(oidFbcmCeditApp.getOldid());
if(lll!=null){
for(int i=0; i<lll.size();i++){
FbcmCrtappDetail ttt = (FbcmCrtappDetail)lll.get(i);
this.getDaoFacade().getCommonDao().delete(ttt);
}
}
////
List l = getDaoFacade().getFbcmCeditAuditDao().getEditAppByOldId(oidFbcmCeditApp.getOldid().toString());
//getDaoFacade().getFbcmCeditAuditDao().deleteAuditEditApp(l);
if(l!=null){
for(int i=0; i<l.size();i++){
FbcmCeditApp ttt = (FbcmCeditApp)l.get(i);
this.getDaoFacade().getCommonDao().delete(ttt);
}
}
// 。
FbcmCeditApp yssx =(FbcmCeditApp)this.getDaoFacade().getCommonDao().findById(oidFbcmCeditApp.getOldid(), FbcmCeditApp.class);
oidFbcmCeditApp.setLoadadjrate(yssx.getLoadadjrate());
FbcmCeditApp temp = getDaoFacade().getFbcmCeditAuditDao().saveFbcmCeditApp(oidFbcmCeditApp, namt,allused, oid, cor, t);
FbcmCeditApp ysq = getDaoFacade().getFbcmCeditAuditDao().getAppById(oidFbcmCeditApp.getOldid().toString());
getDaoFacade().getFbcmCeditAuditDao().saveFbcmAppDetail(ysq, t);
s=" ;"+temp.getId();
return s;
}