EasyUI 增删改查完全详细

本实例使用EasyUI创建表格,元素,窗口,以及各种请求。增加,修改,查询及其他知识基本涵盖完全。有用到js创建和html创建.

整体概览:

多条件的分页查询

dialog对话框实现添加功能,加入验证

window弹窗多条件分页查询

修改信息

导入:
<pre name="code" class="html"><%@ page contentType="text/html; charset=utf-8"  import="java.util.*" language="java" %>
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<link rel="stylesheet" type="text/css"  href="/portal/css/use.css"  />
<link rel="stylesheet" type="text/css"  href="/portal/css/style.css">
<link rel="stylesheet" type="text/css"  href="/portal/js/jquery-easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"  href="/portal/js/jquery-easyui/themes/icon.css">
<script type="text/javascript" 	src="/portal/js/jquery-easyui/jquery-1.6.min.js"></script>
<script type="text/javascript"  src="/portal/js/jquery-easyui/jquery.easyui.min.js"></script>

前端js:

<script type="text/javascript">
	/* 启动时加载 */
	$(function(){
		$('#movement_ode').combobox({
		    url:'/portal/goodsMovingTypeAction.do?type=query',
		    valueField:'movement_types',
		    textField:'summary'
		});
		$("#goods_tab").datagrid({
	        title: '货品移动填报',
	        checkOnSelect: false,
	        pagination:true,
			pageSize:20,
			pageNumber:1,
			toolbar: '#tb',
	        url: '/portal/queryGoodsMovementAction.do',
	        loadMsg:'加载中...',
	        fit: true,
	        columns: [[
	            { field: 'id', checkbox: true},
	         	{ field: 'moveid', title: '编号', width:60 },
	         	{ field: 'postingdate', title: '过帐日期', width:80},
	         	{ field: 'transferreno', title: '移动单号', width:100 },
	         	{ field: 'movementcodename', title: '移动类型信息说明', width:150 },
	         	{ field: 'fromstoragelocation', title: '来源库位', width:60 },
	         	{ field: 'tostoragelocation', title: '接受库位', width:60 },
	         	{ field: 'frommaterial', title: '商品编码', width:80 },
	         	{ field: 'frombatchnumber', title: '商品批号', width:80 },
	         	{ field: 'quantity', title: '数量', width:60 },
	         	{ field: 'reasoncodename', title: '原因代码说明', width:120 },
	         	{ field: 'documentdatetime', title: '创建时间', width:80 },
	         	{ field: 'del_flag', title: '记录状态', width:80,
	         		formatter: function(value,row,index){
						if (value=='0'){
							return '<a  href="javascript:void(0);" style="color: #000000;" onclick="updateDelFlag('+value+','+row.moveid+');">有效</a>';
						}
						if (value=='1'){
							return '<a  href="javascript:void(0);" style="color: #ff0000;" onclick="updateDelFlag('+value+','+row.moveid+');">无效</a>';
						}
					}
	         	},
	         	{ field: 'exec_flag', title: '同步状态', width:80,
	         		formatter: function(value,row,index){
						if (value=='0'){
							return '未同步';
						}
						if (value=='1'){
							return '已同步';
						}
					}
	         	}
	        ]]
	    }); 

		/* 选择ERP商品信息 */
		$("#select_erp_win").window({
			title:'选择ERP商品信息',
		    width:640,
		    height:400,
		    modal:true
		}).window("close");  

		$("#select_erp_tab").datagrid({
			url:"/portal/queryerpgoodsAction.do",
			loadMsg:'加载中...',
			singleSelect:true,
			pagination:true,
			pageSize:10,
			pageNumber:1,
			columns:[[
				{field:'com_goods_id',title:'com_goods_id',width:100,checkbox:true},
				{field:'goods_opcode',title:'ERP商品操作码',width:100},
				{field:'goods_name',title:'ERP商品名称',width:100},
				{field:'goods_desc',title:'ERP商品规格',width:100},
				{field:'product_location',title:'ERP商品厂商',width:100},
				{field:'unit_name',title:'ERP商品单位',width:75},
				{field:'package_num',title:'ERP商品包装数',width:75}     

			]]
		});

		/* 选择商品批号 */
		$("#select_batchnumber_win").window({
			title:'选择ERP商品信息',
		    width:480,
		    height:400,
		    modal:true
		}).window("close");  

		$("#select_batchnumber_tab").datagrid({
			url:"/portal/queryerpGoodsBatchNumberAction.do",
			loadMsg:'加载中...',
			singleSelect:true,
			pagination:true,
			pageSize:10,
			pageNumber:1,
			columns:[[
				{field:'com_lot_id',title:'com_lot_id',width:100,checkbox:true},
				{field:'lot_no',title:'商品批号',width:100},
				{field:'produce_date',title:'生效日期',width:150},
				{field:'expire_date',title:'到期日期',width:150}
			]]
		});
		/* 移动类型改变启用原因代码 */
		$('#tb_movement_code').combobox({
			onSelect: function(record){
				var value = $(this).combobox('getValue');
				$('#tb_reasoncode').combobox({
				    url:'/portal/getAllParameterAction.do?type=reason&movement_types='+value,
				    valueField:'reason_code',
				    textField:'reason_name'
				});
				$("#tb_reasoncode").combobox("enable");
			}
		});

	});

	/* 查询数据条件 */
	function checkInputQuery(){
		var startDate = $('#startDate').datebox('getValue');
		var endDate = $('#endDate').datebox('getValue');
        var movingCode = $('#movement_ode').combobox('getValue');
        $('#goods_tab').datagrid('options').url='/portal/queryGoodsMovementAction.do';
		$('#goods_tab').datagrid('load',{
			startDate:startDate,
			endDate:endDate,
			movingCode:movingCode,
		});
    }

	/* 修改记录状态 */
	function updateDelFlag(value,row){
		$.ajax({
	        method : 'post',
	        url : '/portal/updateGoodStatusAction.do',
	        data:{
	        	type : "del",
	        	moveid : row,
	        	del_flag : value
	    	},
	        async : false,
	        dataType : 'json',
	        success : function(data) {
	            if(data){
	    			$('#goods_tab').datagrid('reload');
	            }else{
	            	$.messager.alert('提示',"更改记录状态失败!");
	            }
	        },
	        error : function() {
	            $.messager.alert('异常','更改记录状态异常!');
	        }
	    });
	}

	/* 修改同步状态,单条或多条 */
	function updateExecFlag(){
		var checkedItems = $('#goods_tab').datagrid('getSelections');
		var moveid = [];
		$.each(checkedItems, function(index, item){
			moveid.push(item.moveid);
		});
		var str =moveid.toString();
		if(moveid!=""){
			$.ajax({
		        method : 'post',
		        url : '/portal/updateGoodStatusAction.do',
		        data:{
		        	type : "exec",
		        	moveids : str
		    	},
		        async : false,
		        dataType : 'json',
		        success : function(data) {
		            if(data){
		    			$('#goods_tab').datagrid('reload');
		            }else{
		            	$.messager.alert('提示','更改同步状态失败!');
		            }
		        },
		        error : function() {
		            $.messager.alert('警告','更改同步状态异常!');
		        }
		    });
		}else{
			$.messager.alert('提示','请至少选择一条数据进行修改!');
			return false;
		}

	}
	/* 下拉框元素填充 */
	function selectGood(){
		$('#tb_movement_code').combobox({
		    url:'/portal/goodsMovingTypeAction.do?type=add',
		    valueField:'movement_types',
		    textField:'summary'
		});
		$('#tb_fromstoragelocation').combobox({
		    url:'/portal/getAllParameterAction.do?type=fromstor',
		    valueField:'freight_code',
		    textField:'freight_info'
		});
		$('#tb_tostoragelocation').combobox({
		    url:'/portal/getAllParameterAction.do?type=tostorage',
		    valueField:'freight_code',
		    textField:'freight_info'
		});
		$('#tb_reasoncode').combobox({
		    url:'/portal/getAllParameterAction.do?type=reason',
		    valueField:'reason_code',
		    textField:'reason_name'
		});
		$("#frombatchnumberBtn").linkbutton("disable");
		$("#tb_reasoncode").combobox("disable");
	}
	var url;
	/* 修改商品移动信息 */
	function updateGood(){
		selectGood();
		var checkedItems = $('#goods_tab').datagrid('getSelections');
		var moveIds = [];
		var num = 0;
		$.each(checkedItems, function(index, item){
			moveIds.push(item.moveid);
			num++;
		});
		if(num != 1){
			$.messager.alert('提示','请选择一条数据进行修改');
			return false;
		}
        var row = $("#goods_tab").datagrid("getSelected");
        if (row) {
            $("#enditTab").dialog("open").dialog('setTitle', '编辑货品移动维护');
            $("#fm").form("load", row);
            url = "/portal/addGoodMovingAction.do?type=update";
        }
        $('#tb_movement_code').combobox("select", row.movementcode);
        $('#tb_reasoncode').combobox("select", row.reasoncode);
        //修改商品时把编码和批号传入隐藏文本框(禁用后获取不到值)
        $('#tb_frommaterial_in').val(row.frommaterial);
        $('#tb_frombatchnumber_in').val(row.frombatchnumber);
	}

	/* 添加商品移动信息 */
	function addGood(){
		selectGood();
		$("#enditTab").dialog("open").dialog('setTitle', '添加货品移动维护');
		$("#fm").form("clear");
		url = "/portal/addGoodMovingAction.do?type=add";
	}

	/* 数据校验后提交 */
	function checkInputAdd(){
		var tb_postingdate = $('#tb_postingdate').datebox('getValue');
		if(tb_postingdate==''){
			$.messager.alert('提示','过帐日期不能为空');
			return false;
		}
        var tb_movement_code = $('#tb_movement_code').combobox('getValue');
        if(tb_movement_code==''){
			$.messager.alert('提示','移动类型不能为空');
			return false;
		}
        var tb_fromstoragelocation = $('#tb_fromstoragelocation').combobox('getValue');
        if(tb_fromstoragelocation==''){
			$.messager.alert('提示','来源库位不能为空');
			return false;
		}
        var tb_tostoragelocation = $('#tb_tostoragelocation').combobox('getValue');
        if(tb_tostoragelocation==''){
			$.messager.alert('提示','接收库位不能为空');
			return false;
		}
        var tb_frommaterial = $('#tb_frommaterial').val();
        if(tb_frommaterial==''){
			$.messager.alert('提示','商品编码不能为空');
			return false;
		}
        var tb_frombatchnumber = $('#tb_frombatchnumber').val();
        if(tb_frombatchnumber==''){
			$.messager.alert('提示','商批号不能为空');
			return false;
		}
        var tb_quantity = $('#tb_quantity').val();
        if(tb_quantity==''){
			$.messager.alert('提示','数量不能为空');
			return false;
		}
        /* var tb_reasoncode = $('#tb_reasoncode').combobox('getValue');
        if(tb_reasoncode==''){
			$.messager.alert('提示','原因代码不能为空');
			return false;
		} */
        $("#fm").form("submit", {
            url: url,
            onsubmit: function () {
                return $(this).form("validate");
            },
            success: function (result) {
                if (result == "true") {
                    $.messager.alert("提示信息", "操作成功");
                    $("#enditTab").dialog("close");
                    $("#goods_tab").datagrid("load");
                }
                else {
                    $.messager.alert("提示信息", "保存数据失败");
                }
            }
        });
    }
	/* 选择ERP商品 */

	function selecterpapply(){
		$("#select_erp_win").window("open");
		$("#select_erp_tab").datagrid("load");
	}

	function queryselecterp(){
		var apply_erp_name = $("#select_erp_name").val();
		var apply_erp_produce = $("#select_erp_produce").val();
		$("#select_erp_tab").datagrid("load",{erp_name:apply_erp_name,erp_produce:apply_erp_produce});
	}

	function saveselecterp(){
		var select = $('#select_erp_tab').datagrid('getSelections');
		var goods_opcode = select[0].goods_opcode;
		var com_goods_id = select[0].com_goods_id;
		$("#tb_frommaterial").val(goods_opcode);
		$("#tb_frommaterial_in").val(goods_opcode);
		$("#com_goods_id").val(com_goods_id);
		$.messager.progress('close');
   	 	$('#select_erp_win').window('close');
   	 	/* 清空原有批号 */
   	 	$("#tb_frombatchnumber").val("");
   	 	$("#tb_frombatchnumber_in").val("");
   	 	$("#frombatchnumberBtn").linkbutton("enable");
	}

	/* 批号 */
	function queryFrombatchnumber(num){
		var com_goods_id = $("#com_goods_id").val();
		if(num == 1){
			$("#select_batchnumber_win").window("open");
			$("#select_batchnumber_tab").datagrid("load",{com_goods_id:com_goods_id});
		}
		if(num == 2){
			var link_goods_id = $("#link_goods_id").val();
			$("#select_batchnumber_tab").datagrid("load",{com_goods_id:com_goods_id,link_goods_id:link_goods_id});
		}
	}

	function saveselectbatchnumber(){
		var select = $('#select_batchnumber_tab').datagrid('getSelections');
		var lot_no = select[0].lot_no;
		$("#tb_frombatchnumber").val(lot_no);
		$("#tb_frombatchnumber_in").val(lot_no);
		$.messager.progress('close');
   	 	$('#select_batchnumber_win').window('close');
	}
</script>

前端html:

<body style="padding: 0;margin: 0;">

	<div id="tb" style="width: auto; height: 80px;">
		<table style="width: auto; height: 75px;" cellspacing="0" border="0">
			<tr>
				<td>开始时间:<input id="startDate" type="text" class="easyui-datebox" required="required" value="<%=new SimpleDateFormat("yyyy-MM-dd").format(new Date())%>"></input></td>
				<td>结束时间:<input id="endDate" type="text" class="easyui-datebox" required="required" value="<%=new SimpleDateFormat("yyyy-MM-dd").format(new Date())%>"></input></td>
				<td>移动类型:<input  id="movement_ode" name="movement_ode"  value=""  style="width: 350px;"></td>
				<td><a id="query" href="#" class="easyui-linkbutton" iconCls="icon-search" onclick="checkInputQuery();">查询</a></td>
			</tr>
			<tr>
				<td><a href="#" class="easyui-linkbutton" iconCls="" onclick="addGood();">添加</a>
				<a href="#" class="easyui-linkbutton" iconCls="" onclick="updateGood();">修改</a>
				<a href="#" class="easyui-linkbutton" iconCls="" onclick="updateExecFlag();">重置同步状态</a></td>
			</tr>
		</table>
	</div>
	<table id="goods_tab" ></table>

	<div id="enditTab" class="easyui-dialog" style="width: 500px;height: 400px;" closed="true" >
	    <form id="fm" method="post" style="padding:10px 20px 10px 40px;">
	    	<table border="0">
	    		<input type="hidden"  id="moveid" name="moveid"  value=""  style="width: 250px;">
	    		<tr style="height: 35px;">
	    			<td>过帐日期:</td>
	    			<td><input id="tb_postingdate" name="postingdate" style="width: 250px;" class="easyui-datebox" required="required"
	    				value="<%=new SimpleDateFormat("yyyy-MM-dd").format(new Date())%>" />
	    			</td>
	    		</tr>
	    		<tr  style="height: 35px;">
	    			<td>移动类型:</td>
	    			<td><input  id="tb_movement_code" name="movement_ode"  value=""  style="width: 250px;"></td>
	    		</tr>
	    		<tr  style="height: 35px;">
	    			<td>来源库位:</td>
	    			<td><input  id="tb_fromstoragelocation" name="fromstoragelocation"  value=""  style="width: 250px;"></td>
	    		</tr>
	    		<tr  style="height: 35px;">
	    			<td>接收库位:</td>
	    			<td><input  id="tb_tostoragelocation" name="tostoragelocation"  value=""  style="width: 250px;"></td>
	    		</tr>
	    		<tr  style="height: 35px;">
	    			<td>商品编码:</td>
	    			<td>
	    				<input  id="tb_frommaterial" name="frommaterial" disabled="disabled" value="" style="width: 250px;">
	    				<input type="hidden" id="tb_frommaterial_in" name="frommaterial_in" value="" />
	    			</td>
	    			<td>    <a href="#" class="easyui-linkbutton" iconCls="" onclick="selecterpapply();">选择商品</a></td>
	    		</tr>
	    		<tr style="height: 35px;">
	    			<td>商品批号:</td>
	    			<td>
	    				<input type="text" id="tb_frombatchnumber" name="frombatchnumber" disabled="disabled" value=""  style="width: 250px;">
	    				<input type="hidden" id="tb_frombatchnumber_in" name="frombatchnumber_in" value="" />
	    			</td>
	    			<td>    <a href="#" class="easyui-linkbutton" id="frombatchnumberBtn" iconCls="" onclick="queryFrombatchnumber(1);">选择批号</a></td>
	    		</tr>
	    		<tr style="height: 35px;">
	    			<td>数量:</td>
	    			<td><input type="text" class="easyui-numberbox" id="tb_quantity" name="quantity"  value=""  maxlength="6" style="width: 250px;"></td>
	    		</tr>
	    		<tr style="height: 35px;">
	    			<td>原因代码:</td>
	    			<td><input  id="tb_reasoncode" name="reasoncode"  value=""  style="width: 250px;"></td>
	    		</tr>
	    		<tr style="height: 50px;">
	    			<td colspan="3" align="center">
	    				<a href="#" class="easyui-linkbutton" iconCls="" onclick="checkInputAdd();">保存</a>    
	    				<a href="#" class="easyui-linkbutton" iconCls="" onclick="javascript:$('#enditTab').dialog('close')">关闭</a>
	    			</td>
	    		</tr>
	    	</table>
	    </form>
	</div>
	<div id="select_erp_win">
	品名/操作码:<input type="text" name="select_erp_name"  id="select_erp_name" value="">
	产地:<input type="text" name="select_erp_produce"  id="select_erp_produce" value="">
	<input type="hidden" name="select_relation_id" id="select_relation_id" value="">
	<input type="hidden" name="select_goods_id" id="select_goods_id" value="">
		<a id="queryselecterp" href="#" class="easyui-linkbutton"  onclick="queryselecterp();">查询</a>
		   
		<a id="saveselecterp" href="#" class="easyui-linkbutton"  onclick="saveselecterp();">保存</a>
		<table id="select_erp_tab" style="width: auto;height: 325px;"></table>
	</div>
	<div id="select_batchnumber_win">
	批号:<input type="text" name="link_goods_id"  id="link_goods_id" value="">
		<input type="hidden" id="com_goods_id" name="com_goods_id" value="">
		<a id="queryselectbatchnumber" href="#" class="easyui-linkbutton"  onclick="queryFrombatchnumber(2);">查询</a>
		   
		<a id="saveselectbatchnumber" href="#" class="easyui-linkbutton"  onclick="saveselectbatchnumber();">保存</a>
		<table id="select_batchnumber_tab" style="width: auto;height: 325px;"></table>
	</div>
</body>
更改日期控件显示和分页标签的显示:

<script  language="javascript">
	if ($.fn.pagination){
		$.fn.pagination.defaults.beforePageText = '第';
		$.fn.pagination.defaults.afterPageText = '共{pages}页';
		$.fn.pagination.defaults.displayMsg = '显示{from}到{to},共{total}记录';
	}
	if ($.fn.datagrid){
		$.fn.datagrid.defaults.loadMsg = '正在处理,请稍待。。。';
	}
	if ($.fn.treegrid && $.fn.datagrid){
		$.fn.treegrid.defaults.loadMsg = $.fn.datagrid.defaults.loadMsg;
	}
	if ($.messager){
		$.messager.defaults.ok = '确定';
		$.messager.defaults.cancel = '取消';
	}
	if ($.fn.calendar){
		$.fn.calendar.defaults.weeks = ['日','一','二','三','四','五','六'];
		$.fn.calendar.defaults.months = ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'];
	}
	if ($.fn.datebox){
		$.fn.datebox.defaults.currentText = '今天';
		$.fn.datebox.defaults.closeText = '关闭';
		$.fn.datebox.defaults.okText = '确定';
		$.fn.datebox.defaults.missingMessage = '该输入项为必输项';
		$.fn.datebox.defaults.formatter = function(date){
			var y = date.getFullYear();
			var m = date.getMonth()+1;
			var d = date.getDate();
			return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);
		};
		$.fn.datebox.defaults.parser = function(s){
			if (!s) return new Date();
			var ss = s.split('-');
			var y = parseInt(ss[0],10);
			var m = parseInt(ss[1],10);
			var d = parseInt(ss[2],10);
			if (!isNaN(y) && !isNaN(m) && !isNaN(d)){
				return new Date(y,m-1,d);
			} else {
				return new Date();
			}
		};
	}
	if ($.fn.datetimebox && $.fn.datebox){
		$.extend($.fn.datetimebox.defaults,{
			currentText: $.fn.datebox.defaults.currentText,
			closeText: $.fn.datebox.defaults.closeText,
			okText: $.fn.datebox.defaults.okText,
			missingMessage: $.fn.datebox.defaults.missingMessage
		});
	}
</script>
struts配置:
<action path="/goodsMovingTypeAction" scope="request" type="portal.sysweb.easyui.action.GoodsMovingTypeAction" validate="false">
	      <forward name="" path="" />
	    </action>
	    <action path="/queryGoodsMovementAction" scope="request" type="portal.sysweb.easyui.action.QueryGoodsMovementAction" validate="false">
	      <forward name="" path="" />
	    </action>
	    <action path="/getAllParameterAction" scope="request" type="portal.sysweb.easyui.action.GetAllParameterAction" validate="false">
	      <forward name="" path="" />
	    </action>
	    <action path="/updateGoodStatusAction" scope="request" type="portal.sysweb.easyui.action.UpdateGoodStatusAction" validate="false">
	      <forward name="" path="" />
	    </action>
	    <action path="/addGoodMovingAction" scope="request" type="portal.sysweb.easyui.action.AddGoodMovingAction" validate="false">
	      <forward name="" path="" />
	    </action>
	    <action path="/queryerpgoodsAction" scope="request" type="portal.sysweb.easyui.action.QueryerpgoodsAction" validate="false">
	      <forward name="" path="" />
	    </action>
	    <action path="/queryerpGoodsBatchNumberAction" scope="request" type="portal.sysweb.easyui.action.QueryerpGoodsBatchNumberAction" validate="false">
	      <forward name="" path="" />
	    </action>
action代码:
public class QueryGoodsMovementAction extends Action {
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		request.setCharacterEncoding("utf-8");
		String startDate = request.getParameter("startDate");
		String endDate = request.getParameter("endDate");
		String movingCode = request.getParameter("movingCode");
		int page = Integer.parseInt(request.getParameter("page"));
		int rows = Integer.parseInt(request.getParameter("rows"));
		QueryEasyuiDao dao = new QueryEasyuiDao();
		Pagination pagination = dao.queryGoodsMovementList(page,rows,startDate, endDate, movingCode);
		JSONObject json = new JSONObject();
		json.put("total", pagination.getMaxElements());
		json.put("rows", pagination.getPaginationList());
		json = JSONObject.fromObject(json);
		response.setCharacterEncoding("GBK");
		response.getWriter().write(json.toString());
		response.getWriter().flush();
		response.getWriter().close();
		return null;
	}
}
public class GetAllParameterAction extends Action {
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionForm_UserInfo userinfo = (ActionForm_UserInfo) request.getSession().getAttribute("UserInfo");
		String type = request.getParameter("type");
		QueryEasyuiDao dao = new QueryEasyuiDao();
		List<Hashtable> resList = null;
		Hashtable tab = new Hashtable();
		if(type.equals("fromstor")){
			resList = dao.getFromstorType();
			tab.put("freight_code", 0);
			tab.put("freight_info", "----请选择来源库位----");
		}
		if(type.equals("tostorage")){
			resList = dao.getFromstorType();
			tab.put("freight_code", 0);
			tab.put("freight_info", "----请选择接收库位----");
		}
		if(type.equals("reason")){
			String movement_types = request.getParameter("movement_types");
			//if(movement_types!=null&&!(movement_types.equals(""))){
				resList = dao.getReasonType(movement_types);
			//}
			tab.put("reason_code", 0);
			tab.put("reason_name", "----请选择原因代码----");
		}
		resList.add(0,tab);
		JSONArray arr = JSONArray.fromObject(resList);
		response.setCharacterEncoding("GBK");
		response.getWriter().write(arr.toString());
		response.getWriter().flush();
		response.getWriter().close();
		return null;
	}

}
public class GoodsMovingTypeAction extends Action {
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionForm_UserInfo userinfo = (ActionForm_UserInfo) request.getSession().getAttribute("UserInfo");
		String type = request.getParameter("type");
		QueryEasyuiDao dao = new QueryEasyuiDao();
		List<Hashtable> resList = dao.getMovingType();
		Hashtable tab = new Hashtable();
		if(type.equals("query")){
			tab.put("movement_types", 0);
			tab.put("summary", "----全部类型----");
		}
		if(type.equals("add")){
			tab.put("movement_types", 0);
			tab.put("summary", "----请选择移动类型----");
		}
		resList.add(0,tab);
		JSONArray arr = JSONArray.fromObject(resList);
		response.setCharacterEncoding("GBK");
		response.getWriter().write(arr.toString());
		response.getWriter().flush();
		response.getWriter().close();
		return null;
	}

}
public class UpdateGoodStatusAction extends Action {
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		ActionForm_UserInfo userinfo = (ActionForm_UserInfo) request.getSession().getAttribute("UserInfo");
		String type = request.getParameter("type");
		String flag = "";
		QueryEasyuiDao dao = new QueryEasyuiDao();
		if(type.equals("del")){
			String moveid = request.getParameter("moveid");
			String del_flag = request.getParameter("del_flag");
			flag = dao.updateGoodDelStatusById(moveid, del_flag);
		}
		if(type.equals("exec")){
			String moveids = request.getParameter("moveids");
			flag = dao.updateGoodExecStatusById(moveids);
		}
		response.setCharacterEncoding("GBK");
		response.getWriter().write(flag);
		response.getWriter().flush();
		response.getWriter().close();
		return null;
	}

}
Dao:
public List<Hashtable> getMovingType(){
		List<Hashtable> resList = new ArrayList<Hashtable>();
		String  sql = "select mt.movement_types,(mt.movement_types||to_char('  ')||mt.summary||to_char('  ')||mt.description) as summary from gsk_v2_goodsmoving_types mt";
		DataManage db;
		try {
			db = new DataManage();
			resList = db.executeQuerys(sql);
		} catch (SystemException e) {
			e.printStackTrace();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return resList;
	}

	public List<Hashtable> getFromstorType(){
		List<Hashtable> resList = new ArrayList<Hashtable>();
		String  sql = "select fp.freight_code,fp.freight_code||to_char('  ')||fp.freight_name||to_char('  ')||fp.freight_description freight_info from gsk_v2_freight_position fp";
		DataManage db;
		try {
			db = new DataManage();
			resList = db.executeQuerys(sql);
		} catch (SystemException e) {
			e.printStackTrace();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return resList;
	}

	public List<Hashtable> getReasonType(String movement_types){
		List<Hashtable> resList = new ArrayList<Hashtable>();
		String  sql = "select gr.reason_code reason_code,(gr.reason_code||to_char('  ')||gr.reason_name) reason_name "
				+ "from gsk_v2_goodsmoving_reasoncode gr where gr.reason_code in("
				+ "select gref.reason_code from gsk_v2_gv_types_rc_ref gref "
				+ "where gref.movement_types='"+movement_types+"')";
		//System.out.println("getReasonTypeSQL:"+sql);
		DataManage db;
		try {
			db = new DataManage();
			resList = db.executeQuerys(sql);
		} catch (SystemException e) {
			e.printStackTrace();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return resList;
	}

	public String updateGoodDelStatusById(String moveid ,String del_flag){
		String value = del_flag.equals("0")?"1":"0";
		String sql = "update gsk_v2_goodsmoving gm";
		sql += " set gm.del_flag="+value;
		sql += " where gm.moveid="+moveid;
		try {
			DataManage db = new DataManage();
			//System.out.println("updateGoodStatusById:"+sql);
			db.exeUpdate(sql);
			return "true";
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return "false";
	}

	public String updateGoodExecStatusById(String moveids){
		String sql = "update gsk_v2_goodsmoving gm set gm.exec_flag=0";
		sql += " where gm.moveid in("+moveids+")";
		try {
			DataManage db = new DataManage();
			//System.out.println("updateGoodExecStatusById:"+sql);
			db.exeUpdate(sql);
			return "true";
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return "false";
	}

	public String updateGoodMovingById(String moveid,String postingdate,String movementcode,String fromstoragelocatione,String tostoragelocatione,
			String frommaterial,String frombatchnumbere,String quantity,String reasoncode){
		String sql = "update gsk_v2_goodsmoving gm set gm.postingdate='"+postingdate
				+ "',gm.movementcode='"+movementcode
				+ "',gm.fromstoragelocation='"+fromstoragelocatione
				+ "',gm.tostoragelocation='"+tostoragelocatione
				+ "',gm.frommaterial='"+frommaterial
				+ "',gm.frombatchnumber='"+frombatchnumbere
				+ "',gm.tomaterial='"+frommaterial
				+ "',gm.tobatchnumber='"+frombatchnumbere
				+ "',gm.quantity="+quantity
				+ ",gm.reasoncode="+reasoncode;
		sql += " where gm.moveid="+moveid;
		try {
			DataManage db = new DataManage();
			System.out.println("updateGoodMovingById:"+sql);
			int n = db.exeUpdate(sql);
			return n>=1?"true":"false";
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return "false";
	}

	public String addGoods(String postingdate,String movementcode,String fromstoragelocatione,String tostoragelocatione,
			String frommaterial,String frombatchnumbere,String quantity,String reasoncode){
		String sql = "insert into gsk_v2_goodsmoving"
				+ "(moveid,postingdate,transferreno,frommaterial,fromstoragelocation,frombatchnumber,"
				+ "movementcode,quantity,tomaterial,tostoragelocation,tobatchnumber,reasoncode,documentdatetime) "
				+ "values(seq_gsk_goodsmoving.nextval,'"+postingdate+"',to_char(sysdate,'yyyymmdd')||to_char(seq_gsk_goodsmoving_num.nextval),"
				+ "'"+frommaterial+"','"+fromstoragelocatione+"','"+frombatchnumbere+"','"+movementcode+"',"
				+ "'"+quantity+"','"+frommaterial+"','"+tostoragelocatione+"','"+frombatchnumbere+"','"+reasoncode+"',to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'))";
		try {
			DataManage db = new DataManage();
			//System.out.println("addGoods:"+sql);
			int n = db.exeUpdate(sql);
			return n>=1?"true":"false";
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return "false";
	}

	public Pagination queryGoodsMovementList( int pageNumber,int pageSize,String startDate,String endDate, String movingCode){
		//List<Hashtable<String, String>> resList = new ArrayList<Hashtable<String,String>>();
		 String sql = "select gm.moveid,gm.postingdate,gm.transferreno,gm.movementcode,"
		 		+ "(gm.movementcode||to_char('/')||gmt.summary||to_char('/')||gmt.description) as movementcodename ,"
		 		+ "gm.fromstoragelocation,gm.tostoragelocation,gm.frommaterial, gm.frombatchnumber,"
		 		+ "gm.quantity,gm.reasoncode,(gm.reasoncode||to_char('/')||gmr.reason_name) as reasoncodename,gm.documentdatetime,"
		 		+ "gm.exec_flag,gm.del_flag from gsk_v2_goodsmoving gm left join gsk_v2_goodsmoving_types gmt "
		 		+ "on gm.movementcode = gmt.movement_types left join gsk_v2_goodsmoving_reasoncode gmr "
		 		+ "on gm.reasoncode = gmr.reason_code where 1=1";
		 if(startDate!=null&&!(startDate.equals(""))){
			 sql += " and gm.indate >= to_date('"+startDate+" 00:00:00','yyyy-mm-dd hh24:mi:ss')";
		 }
		 if(endDate!=null&&!(endDate.equals(""))){
			 sql += " and gm.indate <= to_date('"+endDate+" 23:59:29','yyyy-mm-dd hh24:mi:ss')";
		 }
		 if(movingCode!=null&&!(movingCode.equals(""))){
			 sql += " and gm.movementcode = '" + movingCode + "' ";
		 }
		 sql += " order by gm.moveid desc";
		 /*sql += " and a.create_date between " +
            "  to_date('" + startDate +
            " 00:00:00', 'yyyy-mm-dd hh24:mi:ss') and " +
            "  to_date('" + endDate +
            " 23:59:59', 'yyyy-mm-dd hh24:mi:ss')";*/
		 //System.out.println("queryGoodsMovementList---"+sql);
		 Pagination page = new OraclePagination(sql,pageSize,pageNumber);
		 return page;
		 /*try {
			DataManage db = new DataManage();
			resList = db.executeQuerys(sql);
		} catch (SystemException e) {
			e.printStackTrace();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return resList;*/
	}

	/**
	 * 查询ERP商品信息
	 */
	public Pagination queryErpGoods(int pagemun,int pagesize,String erp_name,String erp_produce,String companyId){
		//String dbl = basicDao.getApplyDBlink(companyId);
		String sql = " select com_goods_id,goods_name,goods_desc,product_location,unit_name,goods_opcode,  ";
		sql += " package_num from temp_com_goods where 1=1 ";
		if(erp_name!=null&&!(erp_name.equals(""))){
			sql += " and  (goods_name like '%"+erp_name+"%' or goods_opcode like  ";
			sql += " '%"+erp_name+"%' or upper(goods_spell) like '%"+erp_name.toUpperCase()+"%' ) ";
		}
		if(erp_produce!=null&&!(erp_produce.equals(""))){
			sql += " and product_location like '%"+erp_produce+"%' ";
		}
		//System.out.println("queryErpGoodsSQL:"+sql);
		Pagination page = new OraclePagination(sql,pagesize,pagemun);
		return page;
	}
其它:

分页接口:

public interface Pagination {
    public boolean isFirst();
    public boolean isLast();
    public boolean hasNext();
    public boolean hasPrevious();
    public int getMaxElements();
    public int getMaxPages();
    public int getNext();
    public int getPrevious();
    public int getPageSize();
    public int getPageNumber();
    public List getPaginationList();
    public String getToolBar(String url);
    public String getToolBar(String url,String formName);
    public String getToolBar(String url,String formName,boolean isIE);
    public void setPageSize(int pageSize);
    public void setPageNumber(int pageNumber);

}

时间: 2024-08-12 18:21:51

EasyUI 增删改查完全详细的相关文章

ssm框架搭建+easyui增删改查实现

闲来无事,看了看别人的博客文档也跟着敲了敲,特地记录下来,方便以后学习: spring版本:4.0.6 mybatis版本:3.2.5 所有jar包打包下载:http://pan.baidu.com/s/1qLEaU 1.项目目录结构 其中,controller包下存放控制层文件,dao下存放各个model类相关的数据库操作接口,entity下放置各种model类,mappers下放置各个dao对应的映射文件,service服务层就不说了,放置各种service接口,impl是其具体实现类. 2

SSM框架搭建+easyui增删改查

转载于:http://www.cnblogs.com/caiya928/p/4851686.html?utm_source=tuicool&utm_medium=referral 闲来无事,看了看别人的博客文档也跟着敲了敲,特地记录下来,方便以后学习: spring版本:4.0.6 mybatis版本:3.2.5 所有jar包打包下载:http://pan.baidu.com/s/1qLEaU 1.项目目录结构 其中,controller包下存放控制层文件,dao下存放各个model类相关的数据

SQL 增删改查(详细)

一.增:有3种方法 1.使用insert插入单行数据: insert [into] <表名> [列名] values <列值> insert into Strdents (name,age) values ('atm',12) 2.使用insert,select语句将现有表中的 数据添加到已有的新表中 insert into <已有的新表> <列名> select <原表列名> from <原表名> insert into newta

MongoDB的增删改查

1.启动 - 配置环境变量 MongoDB/3.4/bin 通过命令 mongod 来启动 MongoDB 默认端口 27017 redis:6379 Mysql:3306 可以指定数据库存放目录,但在登录时必须指定路径: mongod --dbpath="指定数据库存放路径" 2.应用连接MongoDB数据库 通过 mongo 指令 进行本地数据库连接 3.MongoDB数据: mysql - 数据库服务 - 数据库 - 数据表 - 字段 - 数据row mongodb - 数据库服

easyui+nodejs+sqlserver增删改查实现

用到的模块或者技术: Express: http://www.expressjs.com.cn/4x/api.html#express Easyui: http://www.jeasyui.com/documentation/index.php# express-session:https://www.npmjs.com/package/express-session#resave node-mssql: http://csdoc.org/ Redis: http://redis.io/ art

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下.这讲主要是,制作漂亮的工具栏,虽然easyui的datagrid已经自带可以设置工具栏,我们还是要提取出来,为以后权限控制做更好的准备. 前端代码没有逻辑结果,这也许是我写代码以来写得最轻松的,但也是最繁琐的,因为美工我不是强项,每一次调整都非常的困难,最后我把他调成了这样了: 看得过去的鼓掌一下.样式已经包含在附加代码中了. 大家只要加入以下HTML代码到index上就可以

easyui datagrid java增删改查 动态补全

猛击-->   easyui datagrid 增删改查 动态补全 easyui datagrid java增删改查 动态补全,布布扣,bubuko.com

Node.js、express、mongodb 入门(基于easyui datagrid增删改查)

前言 从在本机(win8.1)环境安装相关环境到做完这个demo大概不到两周时间,刚开始只是在本机安装环境并没有敲个Demo,从周末开始断断续续的想写一个,按照惯性思维就写一个增删改查吧,一方面是体验下node.js的魔力,二就是看看node.js.express和mongoose的API,其次就是把自己入门的过程记录下来,方便自己查看,再就是对入门的朋友起一个引导的作用. 敲demo的过程中感觉最爽的就是npm(Node Package Manager)是一个Node.js的包管理和分发工具.

beego框架配合easyui实现增删改查及图片上传

demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基于golang的后台管理系统</title> <link rel="stylesheet" type="t