日期:2014-05-16  浏览次数:20369 次

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

?

这段可在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);
?}

?

?