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