六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

DWR 调用业务层方法方法采用Ajax技术动态循环保存表中数据【主表与外表共存时数据】动态获取单号等javascript 技术【ks3-4分析】

[复制链接]

升级  2%

13

主题

13

主题

13

主题

秀才

Rank: 2

积分
53
 楼主| 发表于 2013-1-23 01:32:47 | 显示全部楼层 |阅读模式
 
这段可在javascript方法中。用以调用
 
   首先可创建一个总表json对象: 如 
     var dh=jQuery("#id").val();
     var rq=jQuery("#time").val();
     var kh=jQuery("#kh").val();
     var ywy=jQuery("#yw").val();
     var bz=jQuery("#bz").val();
     //格式化时间
     var time=new Date(rq.replace(/-/ig,"/"));
     //创建json对象
  
     var json={FSaleformno:dh,FSaleformDate:time,FCustomer:kh,FSales:ywy,FRemark:bz};
      //FSaleformno 、FSaleformDate..  等 : pojo 类中属性
   
      //创建json数组  用于保存详细表中的多行数据
     var arry=[];
     //循环保存
     jQuery("#t>tr").each(function(i,tr){
       //找到每行
       var hh=i+1;
       var mc=jQuery(tr).find(":text").eq(0).val();
       var sl=jQuery(tr).find(":text").eq(1).val();
       var jg=jQuery(tr).find(":text").eq(2).val();
       var je=jQuery(tr).find("td").eq(4).html();
       //保存之前判断金额
       if(je>0)
       {
       //定义json
         var json2={id:{TSaleform3:json,FLineId:hh},FGoods:mc,FQty:sl,FPrice:jg,FManeyAmt:je};
         // id 、FGoods、FQty ..  等: 从表 中的属性 。       TSaleform3 、FLineId:中间表的属性
         //添加到数组
         arry.push(json2);
       }
    
     });
 
 
 //DWR调用业务层的保存方法
     myjs.saleFame(json,arry,function(x){
      alert('保存成功');
         });
 
 
 myjs.getID(function(x){
        jQuery("#id").val(x);
     
        //时间截取
        jQuery("#time").val(x.substring(2,6)+"-"+x.substring(6,8)+"-"+x.substring(8,10));
        });
 
 
{获取单号类方法:
public String getID()
 {
  //格式化时间
  SimpleDateFormat sFormat=new SimpleDateFormat("yyyyMMdd");
  Date date=new Date();
  String tody=sFormat.format(date);
  //查询最大单号
  String maxID=tsaleform3DAO.findMaxID(tody);
     if(maxID==null)
      return "SL"+tody+"0001";
     //有 截取
     String subMaxId=maxID.substring(2);
     return "SL"+(Long.parseLong(subMaxId)+1);
    
 }
 

 
 
// 有中间表时候的级联添加保存操作
 
//保存
 public void saleFame(TSaleform3 tSaleform3,TSaleformDetail3[] tsDetail3s)
 {
  //实例化主表 从表 将从表添加到主表
  tSaleform3.getTSaleformDetail3s().addAll(Arrays.asList(tsDetail3s));
  tsaleform3DAO.save(tSaleform3);
 }
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表