<script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script type='text/javascript' src='/s09-yxl3/dwr/interface/myjs.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/engine.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/util.js'></script>
<script type="text/javascript">
onload=function()
{
var pd="${param.idm}";
if(pd=="" || pd=="xx")
{
document.getElementById("zs").innerHTML = "秒后转到论坛";
jQuery("#zs").innerHTML="您正在进行添加...";
jQuery("#mxdiv").show();
jQuery("#xgdiv").hide();
myjs.getID(function(x){
jQuery("#id").val(x);
//时间截取
jQuery("#time").val(x.substring(2,6)+"-"+x.substring(6,8)+"-"+x.substring(8,10));
});
}
if(pd=="xg")
{
jQuery("#zs").val("您正在进行修改...");
jQuery("#mxdiv").hide();
jQuery("#xgdiv").show();
jQuery("#id").val("${dh}");
jQuery("#kh").val("${mc}");
jQuery("#yw").val("${yw}");
jQuery("#time").val("${time}");
}
}
</script>
<body>
<div id="zs">
</div>
<table>
<tr>
<td>
单号
</td>
<td>
<input type="text" id="id" name="id">
</td>
<td>
时间
</td>
<td>
<input type="text" id="time" name="time">
</td>
</tr>
<tr>
<td>
客户
</td>
<td>
<input type="text" id="kh" name="kh">
</td>
<td>
业务员
</td>
<td>
<input type="text" id="yw" name="yw">
</td>
</tr>
<tr>
<td colspan="4">
<input type="button" value="明细" onclick="jQuery('#mxdiv').show();jQuery('#bzdiv').hide()">
<input type="button" value="备注" onclick="jQuery('#bzdiv').show();jQuery('#mxdiv').hide()">
<input type="button" value="保存新增/保存修改" onclick="savesale()">
<input type="button" value="返回" onclick="fh()">
</td>
</tr>
</table>
<div id="bzdiv"
style="width: 500px; height: 200px; border: 1px solid blue;display: none;">
<textarea name="bz" id="bz" style="width: 100%; height: 100%"></textarea>
</div>
<div id="mxdiv">
<table>
<thead>
<tr>
<th>
序号
</th>
<th>
商品名称
</th>
<th>
商品数量
</th>
<th>
商品价格
</th>
<th>
商品总额
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody id="t">
<tr>
<td></td>
<td>
<input type="text">
</td>
<td>
<input type="text" onkeyup="js(this)">
</td>
<td>
<input type="text" onkeyup="js(this)">
</td>
<td></td>
<td>
<input type="button" value="+行" onclick="addRow()">
<input type="button" value="-行" onclick="delRow(this)">
</td>
</tr>
</tbody>
</table>
</div>
<div id="xgdiv">
<table>
<thead>
<tr>
<th>
序号
</th>
<th>
商品名称
</th>
<th>
商品数量
</th>
<th>
商品价格
</th>
<th>
商品总额
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody id="t2">
<c:forEach items="${list}" var="ls">
<tr>
<td><br></td>
<td>
<input type="text" value="${ls.FGoods }">
</td>
<td>
<input type="text" value="${ls.FQty }" onkeyup="js(this)">
</td>
<td>
<input type="text" value="${ls.FPrice }" onkeyup="js(this)">
</td>
<td>
${ls.FManeyAmt }
</td>
<td>
<input type="button" value="+行" onclick="addRow2()">
<input type="button" value="-行" onclick="delRow(this)">
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</body>
<script type="text/javascript">
function fh()
{
location.href="index.jsp";
}
function bh()
{
jQuery("#t>tr").each(function(i,obj){
obj.cells[0].innerHTML=i++;
});
}
function bh2()
{
jQuery("#t2>tr").each(function(i,obj){
obj.cells[0].innerHTML=i++;
});
}
function addRow()
{
var tr=jQuery("#t>tr:first").clone().appendTo(jQuery("#t"));
tr.find(":text").val("");
tr.find("td").eq(4).html("");
bh();
}
function addRow2()
{
var tr=jQuery("#t2>tr:first").clone().appendTo(jQuery("#t2"));
tr.find(":text").val("");
tr.find("td").eq(4).html("");
bh2();
}
function delRow(del)
{
jQuery(del).parent().parent().remove();
bh();
}
function js(js)
{
var tr=jQuery(js).parent().parent();
var sl=tr.find(":text").eq(1).val();
var jg=tr.find(":text").eq(2).val();
tr.find("td").eq(4).html(sl*jg);
}
function savesale()
{
var mm="${param.idm}";
if(mm=="" || mm=="xx")
{
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};
//创建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};
//添加到数组
arry.push(json2);
}
});
//保存
myjs.saleFame(json,arry,function(x){
alert('保存成功');
location="saleform3Detail.jsp?idm=xx";
});
}
if(mm=="xg")
{
var dh=jQuery("#id").val();
var rq=jQuery("#time").val();
var kh=jQuery("#kh").val();
var yw=jQuery("#yw").val();
var bz=jQuery("#bz").val();
//截取之后再格式化
var time=rq.substring(1,5)+"-"+rq.substring(5,7)+"-"+rq.substring(7,9);
//格式化时间
var tim=new Date(time.replace(/-/ig,"/"));
var json={FSaleformno:dh,FSaleformDate:tim,FCustomer:kh,FSales:yw,FRemark:bz};
//保存json数组循环保存
var arry=[];
jQuery("#t2>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();
var json2={id:{TSaleform3:json,FLineId:hh},FGoods:mc,FQty:sl,FPrice:jg,FManeyAmt:je};
arry.push(json2);
});
myjs.saveFameUpdate(json,arry,function(x){
alert('修改成功');
});
}
}
</script>
<script type="text/javascript" src="js/jquery-1.2.6.pack.js"></script>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script type='text/javascript' src='/s09-yxl3/dwr/interface/myjs.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/engine.js'></script>
<script type='text/javascript' src='/s09-yxl3/dwr/util.js'></script>
<table border="1" align="center">
<tr>
<th>
单选
</th>
<th>
单号
</th>
<th>
客户
</th>
<th>
销售员
</th>
<th>
备注
</th>
<th>
日期
</th>
<th>
详情
</th>
</tr>
<c:forEach items="${map.list2}" var="sl">
<tr>
<td>
<input type="radio" name="rd" id="rd" value="${sl.FSaleformno }">
</td>
<td>
${sl.FSaleformno }
</td>
<td>
${sl.FCustomer }
</td>
<td>
${sl.FSales }
</td>
<td>
${sl.FRemark }
</td>
<td>
${sl.FSaleformDate }
</td>
<td>
<a onclick="xiangxi('${sl.FSaleformno }')" href="javascript:void(0)">详情</a>
</td>
</tr>
</c:forEach>
<tr>
<td colspan="7" align="left">
<input type="button" value="修改" onclick="updat()">
<input type="button" value="删除" onclick="del()">
<input type="button" value="首页" onclick="oneye()">
<input type="button" value="下一页" onclick="nextye()">
<input type="button" value="上一页" onclick="upye()">
<input type="button" value="尾页" onclick="moye()">
</td>
</tr>
</table>
<div id="xxdiv" style="border-bottom: 1px solid green; width: 100%">
<table>
<thead>
<tr>
<th>商品名称</th>
<th>商品数量</th>
<th>商品价格</th>
<th>商品总额</th>
</tr>
</thead>
<tbody id="t">
</tbody>
</table>
</div>
<input type="button" value="添加订单详细" onclick="addDetail()">
<script type="text/javascript">
function oneye()
{
location.href="saleform.do?p=fenye&page=1";
}
function nextye()
{
location.href="saleform.do?p=fenye&page=${map.page-1}";
}
function upye()
{
location.href="saleform.do?p=fenye&page=${map.page+1}";
}
function moye()
{
location.href="saleform.do?p=fenye&page=${map.count}";
}
//创建行
var cell=[
function(onetr){return onetr.FGoods},
function(twotr){return twotr.FQty},
function(thrtr){return thrtr.FPrice},
function(fortr){return fortr.FManeyAmt}
];
function del()
{
var id=jQuery(":radio:checked").val();
myjs.deletFame(id,function(x){
alert('删除成功');
location="index.jsp";
});
}
function xiangxi(id)
{
myjs.getSaleformDetail(id,function(x){
DWRUtil.removeAllRows("t");
DWRUtil.addRows("t",x,cell);
});
}
function updat()
{
var id=jQuery(":radio:checked").val();
location.href="updatesaleDetail.do?id="+id;
}
function addDetail()
{
location.href="saleform3Detail.jsp?idm=xx";
}
</script>
//获得单号ID
/* (non-Javadoc)
* @see com.service.ITSaleformService#getID()
*/
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 Map fenye(int page,int size)
{
return tsaleform3DAO.fenye(page,size);
}
//保存
public void saleFame(TSaleform3 tSaleform3,TSaleformDetail3[] tsDetail3s)
{
//实例化主表 从表 将从表添加到主表
tSaleform3.getTSaleformDetail3s().addAll(Arrays.asList(tsDetail3s));
tsaleform3DAO.save(tSaleform3);
}
//通过id删除
public void deletFame(String id)
{
tsaleform3DAO.delete(tsaleform3DAO.findById(id));
}
//查询详细通过id
public Set getSaleformDetail(String id){
//List list=tsaleform3DAO.findSalefromDetail(id);
return tsaleform3DAO.findById(id).getTSaleformDetail3s();
}
//保存修改后的
public void saveFameUpdate(TSaleform3 tSaleform3,TSaleformDetail3[] tsDetail3s)
{
tSaleform3.getTSaleformDetail3s().addAll(Arrays.asList(tsDetail3s));
tsaleform3DAO.merge(tSaleform3);
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
System.out.println("jinlaila");
//分页显示
String pageString=request.getParameter("page");
int page=1;
if (pageString!= null) {
page=Integer.parseInt(pageString);
int size=3;
Map map=itSaleform3Service.fenye(page, size);
request.setAttribute("map", map);
}
return new ActionForward("/saleform3.jsp");
}
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
//查主表、从表保存作用域
String id=request.getParameter("id");
TSaleform3 tSaleform3=itSaleform3Service.findSaleformBy(id);
String mc=tSaleform3.getFCustomer();
String yw=tSaleform3.getFSales();
String dh=tSaleform3.getFSaleformno();
Date time=tSaleform3.getFSaleformDate();
String bz=tSaleform3.getFRemark();
request.setAttribute("mc", mc);
request.setAttribute("yw", yw);
request.setAttribute("dh", dh);
request.setAttribute("time", time);
request.setAttribute("bz", bz);
Set list= itSaleform3Service.getSaleformDetail(id);
request.setAttribute("list", list);
return new ActionForward("/saleform3Detail.jsp?idm=xg");
}
}
分享到:
相关推荐
这个"ssh测试小demo"可能是一个简单的示例项目,用于演示如何在Java应用程序中集成SSH框架,以便进行分布式系统操作,如远程命令执行、文件传输等。SSH整合通常指的是Spring、Struts和Hibernate这三个开源框架的集成...
这个"ssh测试通过jar包"可能是一个集合,包含了这些框架和其他依赖库,目的是为了简化开发过程,避免jar包冲突。 标题提到的"ssh测试通过jar包"可能是一个定制的、预打包的库,包含了一组精心挑选的jar文件,确保...
由于看到上一次上传的资源有人说冲突,所以重新用我自己的非常简单的例子测试了下,没有问题,所以这次将例子也上传上来,例子很简单很简单,只有登录以及对单表的增删改查,表的.sql文件我也附带了,数据库是mysql...
在"SSH框架基础,简单的测试程序"中,我们可以理解为这是一份教程或示例代码,用于教授如何使用SSH框架进行基本的程序开发。这份资料可能包含以下内容: 1. **环境配置**:如何设置开发环境,包括安装JDK、设置Java...
下面将详细介绍SSH架构以及相关测试代码的重要性。 **Struts** 是一个基于MVC(Model-View-Controller)模型的Web应用程序框架,它处理用户请求,将业务逻辑与表现层分离,使得系统更加模块化。在Struts中,Action...
这个“ssh_web开发测试程序学习笔记”涵盖了使用这三个框架进行Web开发和测试的基本概念、步骤和最佳实践。 Struts2是MVC(Model-View-Controller)设计模式的一个实现,它提供了强大的表单处理、国际化、异常处理...
它使用 ssh 登录远程系统,然后运行两个测试:第一个测试一次发送一个字符,等待每个字符返回,同时记录每个字符的延迟时间。第二个测试通过 scp 向远程系统上的 /dev/null 发送一个虚拟文件。 对于回显测试,您...
标题“使用junit测试ssh中的dao”涉及到的是Java开发中的单元测试技术,特别是针对SSH(Struts2、Spring、Hibernate)框架中的数据访问对象(DAO)进行测试。SSH是Java Web开发中常用的三大开源框架,它们协同工作以...
SSH三大框架,全称为Struts2、Hibernate和Spring,是Java Web开发中广泛使用的三大开源框架,它们分别负责表现层、持久层和业务层的管理。在这个实例中,我们将探讨如何利用这三个框架实现一个简单的登录功能,并...
这篇内容将深入探讨SSH+CXF的整合过程,以及如何进行单个CXF测试样例。 首先,Spring作为整个应用的依赖注入容器,负责管理所有的Bean。在整合CXF时,Spring可以配置CXF服务的生命周期,包括服务的创建、发布和销毁...
2. **配置SSH测试元素**:在JMeter测试计划中,添加一个"SSH Test Element",如"SSH Sampler"或"SSH Config Element"。配置包括服务器的IP地址、端口号、用户名、密码或私钥路径等连接信息。 3. **执行远程命令**:...
SSH2测试程序是一个基于SSH2协议的示例应用,它主要用于演示如何安全地连接到Oracle数据库。SSH2(Secure Shell Version 2)是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他网络服务。它通过加密...
这个压缩包中的内容主要涉及SSH框架下进行单元测试的代码示例。通过`JdbcHibernateSupport.java`和`UnitTestTools.java`这两个文件,我们可以深入理解如何在SSH环境中编写和使用单元测试。 首先,`...
集成了Spring 3.2.2 Hibernate 3.3.2 Struts 2.3.4 用JPA的注解实现orm 不用创建数据库表 只需本机上有oracle即可 用JSR注解进行Spring的...用Spring Test整合Junit4 进行测试并自动事务回滚 不对数据库造成持久化操作
解决openssh升级到8.2以后无法登录的问题,支持jdk1.5及以上版本
综上,"ssh三大框架测试项目"旨在通过全面的测试确保SSH集成方案的稳定性和效率。这不仅涉及各个框架内部功能的验证,还包括它们之间的协作,以及数据库操作的正确性。这样的项目对于理解SSH框架的工作原理和提升...
不过,我们可以根据常见的SSH测试实践来展开讨论。 在SSH框架中进行测试时,我们通常会关注以下几个方面: 1. **单元测试**:针对单个类或方法进行测试,确保它们的功能正确。Spring提供`SpringJUnit4ClassRunner`...
这个压缩包文件包含SSH项目的测试题、答案以及详细的解题过程,非常适合正在学习或准备SSH相关考试的IT从业者。SSH常用于管理服务器、传输数据以及执行命令等任务,确保了通信的安全性。 在SSH项目测试题中,可能...
**基于SSH的在线测试系统详解** SSH(Spring、Struts、Hibernate)是一个广泛应用于Java Web开发的开源框架组合,用于构建高效、可维护且结构清晰的企业级应用。在这个基于SSH的在线测试系统中,我们将深入探讨这三...
这个“ssh框架上传文件测试”可能是针对这一功能的一个实践项目或测试案例。 首先,让我们详细了解SSH框架的每个组件: 1. **Struts2**:这是一个MVC(Model-View-Controller)架构的开源框架,用于构建基于Java ...