仓储系统

1. 用户管理模块

  • 新增用户
    前端代码
    这里写图片描述
    function addUser() {
        //      $('#state').combobox('setValue','2');//设置默认值
        var s = $("#state").combobox("getValue");//获取选中的value

        if ($('#userCode').val() == null || $('#userCode').val() == "") {
            return false;
        } else {
            $(function() {
                $.messager
                        .confirm(
                                "操作提示",
                                "您确定要执行操作吗?",
                                function(flag) {
                                    if (flag) {
                                        jQuery.ajax({
                                                    type : "post",
                                                    url : "add.do",
                                                    contentType : "application/x-www-form-urlencoded; charset=UTF-8",
                                                    dataType : "text",
                                                    data : $('#UserForm').serialize(),
                                                    success : function(data) {
                                                        $.messager.alert('提示信息:','成功!','info');
                                                        $('#magazineGrid').datagrid("reload");
                                                        $("#confirm").off("click");
                                                        $('#addDlg').window('close');
                                                    },error : function(data) {
                                                        $.messager.alert('提示信息:','失败!','info');
                                                    }
                                                });
                                    } else {
//                                      alert("取消");
                                    }
                                });
            });
        }
    }

后台代码

    @RequestMapping("/add.do")
    public @ResponseBody Map<String, String> addUser(HttpServletRequest req,
            HttpServletResponse rsp,User user){
        Map<String,String> map=new HashMap<String,String>();
        user.setUserPwd(user.getTel());
        try {
            userService.add(user);
            map.put("result", "成功");
        } catch (Exception e) {
            e.printStackTrace();
            map.put("result", "失败");
        }
        return map;
    }
  • 删除用户
  • 效果这里写图片描述
  • 前端代码
    function deleteData() {
        var row = $('#magazineGrid').datagrid("getSelections");
        if ($(row).length < 1 || $(row).length > 1) {
            $.messager.alert('提示信息', "请选择一行要删除的记录!");
            return false;
        } else {
            $.messager.confirm('Confirm','确认删除?',function(r){
                if (r){
                    jQuery.ajax({
                        type : "post",
                        url : "delete.do",
                        contentType : "application/x-www-form-urlencoded; charset=UTF-8",
                        dataType : "text",
                        data : {
                            userCode : row[0].userCode
                        },
                        success : function(data) {
                            $.messager.alert('提示信息:', '成功!', 'info');
                            $('#magazineGrid').datagrid("reload");
                        },
                        error : function(data) {
                            $.messager.alert('提示信息:', '失败!', 'info');
                            $('#magazineGrid').datagrid("reload");
                        }
                    });
                }
            });

        }
    }
  • 后台代码
    @RequestMapping("/delete.do")
    public void deleteUser(HttpServletRequest req,
            HttpServletResponse rsp,User user){
        String userCode = req.getParameter("userCode");
        try {
            userService.delete(user);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
  • 修改用户,冻结用户,用户的权限管理操作,修改密码
  • 效果这里写图片描述
  • 这里写图片描述
  • 前端代码
    function editUser() {
        jQuery.ajax({
            type : "post",
            url : "edit.do",
            contentType : "application/x-www-form-urlencoded; charset=UTF-8",
            dataType : "text",
            data : $('#UserForm').serialize(),
            success : function(data) {
                $.messager.alert('提示信息:','成功!','info');
                $('#magazineGrid').datagrid("reload");
                $("#confirm").off("click");
                $('#addDlg').window('close');
            },
            error : function(data) {
                $.messager.alert('提示信息:','失败!','info');
            }
        });
    }
  • 后台代码
    @RequestMapping("/editPwd.do")
    public void editPwd(HttpServletRequest req,
            HttpServletResponse rsp){
        String userCode = req.getParameter("userCode");
        String newUserPwd = req.getParameter("newUserPwd");
        try {
            userService.updatePwd(userCode,newUserPwd);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
  • 查找用户信息
    效果这里写图片描述

前端代码

var grid;
    $(function() {
        grid = $('#magazineGrid').datagrid({
            height : 480,
            url : 'UserList.do',
            method : 'POST',
            //      queryParams: { 'id': id },
            idField : 'userCode',
            striped : true,
            fitColumns : true,
            singleSelect : true,
            rownumbers : true,
            pagination : true,
            nowrap : false,
            loadMsg : "加载中,请等待.",
            pageSize : 20,
            pageNumber : 1,
            pageList : [ 10, 20, 50, 100, 150, 200 ],
            showFooter : true,
            columns : [ [ {
                field : 'userName',
                title : '人员名称',
                width : 80
            }, {
                field : 'userCode',
                title : '账户名',
                width : 80,
                align : 'left'
            },{
                field : 'userPwd',
                title : '密码',
                width : 80,
                align : 'left'
            }, {
                field : 'tel',
                title : '电话',
                width : 50,
                align : 'left'
            }, {
                field : 'state',
                title : '状态',
                width : 50,
                align : 'left'
            }, ] ],
            toolbar : [ {
                text : '添加人员',
                iconCls : 'icon-add',
                handler : function() {
                    $('#UserForm').form('clear');

                    $("#confirm").on("click",function(){ //为id为confirm的注册onclick事件
                        addUser();
                    });

                    $('#addDlg').dialog({
                        title : '添加人员',
                        width : 400,
                        height : 300,
                        modal : true,
                        collapsible : true,
                        resizable : true,

                    });
                }
            }, '-', {
                text : '修改',
                iconCls : 'icon-edit',
                handler : function() {
                    $("#confirm").on("click",function(){ //为id为confirm的注册onclick事件
                        editUser();
                    });
                    editData();
                }
            }, '-', {
                text : '删除',
                iconCls : 'icon-remove',
                handler : function() {
                    deleteData();
                }
            } ],
            onBeforeLoad : function(param) {

            },
            onLoadSuccess : function(data) {

            },
            onLoadError : function() {

            },
            onClickCell : function(rowIndex, field, value) {

            }
        });
  • 后台代码
    @RequestMapping("/UserMain.html")
    public ModelAndView index(){
        ModelAndView mav = new ModelAndView();
        mav.setViewName("manage/Views/UserMain");
        return mav;
    }


    @RequestMapping("/UserList.do")
    public void GoodsList(HttpServletRequest req,
            HttpServletResponse rsp,DataGrid g){
         try {
         List<User> goodsListByGrid = userService.getUserListByGrid(g);
         JSONArray object = JSONArray.fromObject(goodsListByGrid);
        JSONObject jsonObject = new  JSONObject();
        String string = jsonObject.toString();
        jsonObject.put("total", g.getTotal());
        jsonObject.put("rows",object.toString());   
        rsp.setContentType("text/html;charset=UTF-8");
        rsp.getWriter().write(jsonObject.toString());
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }; 
    }

2. 货物管理模块
货物管理模块:本模块主要对货物的信息的管理。包括设置货物基本档案。
效果如下
这里写图片描述
增加货物
这里写图片描述
修改货物
这里写图片描述
删除货物
这里写图片描述
前端代码

<script type="text/javascript">
var grid;
var editRow=null;
$(function() { 
    grid=$('#magazineGrid').datagrid({
        height: 480,
        url: 'GoodsList.do',
        method: 'POST',
//      queryParams: { 'id': id },
        idField: 'id',
        striped: true,
        fitColumns: true,
        singleSelect: true,
        rownumbers: true,
        pagination: true,
        nowrap: false,
        loadMsg:"加载中,请等待.",
        pageSize:20,
        pageNumber:1,
        pageList: [10, 20, 50, 100, 150, 200],
        showFooter: true,
        columns: [[
            { field: 'id', title: '货物名称',width: 180,editor:'text',hidden:true },
            { field: 'goodsName', title: '货物名称',width: 80,editor:'text' },
            { field: 'manufactor', title: '厂家', width: 80, align: 'left',editor:'text'},
            { field: 'price', title: '价格', width: 50, align: 'left',editor: {
                type: 'numberbox',
                options: {
                    min: 0,
                    precision: 2
                }
            } },
            { field: 'remarks', title: '备注', width: 150, align: 'left',editor:'textarea'},
        ]],
        toolbar: [{
            text: '添加货物',
            iconCls: 'icon-add',
            handler: function () {
                $('#addDlg').dialog({
                    title: '添加货物',
                    width: 400,
                    height: 450,
                    modal: true,
                    collapsible:true,
                    resizable:true,
                });
            }
        }, '-', {
            text: '修改',
            iconCls: 'icon-edit',
            handler: function () {
                if(editRow!=null){
                     var ed1 = $('#magazineGrid').datagrid('getEditor', { index: editRow, field: 'goodsName' });
                     var goodsName = $(ed1.target).val();

                     var ed2 = $('#magazineGrid').datagrid('getEditor', { index: editRow, field: 'manufactor' });
                     var manufactor = $(ed2.target).val();

                     var ed3= $('#magazineGrid').datagrid('getEditor', { index: editRow, field: 'price' });
                     var price = $(ed3.target).val();

                     var ed4 = $('#magazineGrid').datagrid('getEditor', { index: editRow, field: 'remarks' });
                     var remarks = $(ed4.target).val();

                     var ed = $('#magazineGrid').datagrid('getEditor', { index: editRow, field: 'id' });
                     var id=$(ed.target).val();

                     $.ajax({
                            type: "POST",
                            url:"editGoods.do",
                            data:{"id":id,"remarks":remarks,"price":price,"manufactor":manufactor,"goodsName":goodsName},
                            dataType: "json", 
                            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
                            error: function(request) {
                                alert("Connection error");
                            },
                            success: function(data) {
                                if(editRow!=null){
                                 $('#magazineGrid').datagrid('endEdit', editRow);  
                            }   
                               alert("修改"+data.result);                          
                               $('#magazineGrid').datagrid('load');
                            }
                        });

                }

            }
        }, '-', {
            text: '删除',
            iconCls: 'icon-remove',
            handler: function () {

            var row=$('#magazineGrid').datagrid('getSelected');
            if(row==null){
                alert("请选择行!");
                return false;
            }
        var flag  =confirm("删除是不可恢复的,你确认要删除吗?");
        var id=row.id;
        if(flag==true&&flag!=null){
            $.ajax({
                type: "POST",
                url:"delGoods.do",
                data:{"id":id},// 你的formid
                dataType: "json", 
                contentType: "application/x-www-form-urlencoded; charset=utf-8", 
                error: function(request) {
                    alert("Connection error");
                },
                success: function(data) {
                   alert("删除"+data.result);
                   $('#magazineGrid').datagrid('load');              
                }
            });
        }
            }
        }],
        onBeforeLoad: function (param) {
        },
        onLoadSuccess: function (data) {

        },
        onLoadError: function () {

        },
        onClickCell: function (rowIndex, field, value) {  
//           beginEditing(rowIndex, field, value);
        },
        onDblClickRow:function(index,field,value){
            if(editRow!=null){
                 $('#magazineGrid').datagrid('endEdit', editRow);  
            }           
            editRow=index;
            $('#magazineGrid').datagrid('beginEdit', index);
        }
    });
    });
    function addGoods(){

        if($('#GoodsName').val()==null||$('#GoodsName').val()==""){          
            alert("请输入货物名字");
            return false;
        }
        if($('#price').val()==null||$('#price').val()==""){          
            alert("请输入货物价格");
            return false;
        }
        if($('#Manufactor').val()==null||$('#Manufactor').val()==""){         
            alert("请输入货物厂家");
            return false;
        }
        $.ajax({
            type: "POST",
            url:"addGoods.do",
            data:$('#addGoodsForm').serialize(),// 你的formid
            dataType: "json", 
            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
            error: function(request) {
                alert("Connection error");
            },
            success: function(data) {
               alert("添加"+data.result);
               document.getElementById("addGoodsForm").reset();
               $('#magazineGrid').datagrid('load');
               $('#addDlg').window('close');
            }
        });

    }

    var editIndex = undefined;
    var beginEditing = function (rowIndex, field, value) {
        alert();

        if (rowIndex != editIndex) {
            if (endEditing()) {
                $('#magazineGrid').datagrid('beginEdit', rowIndex);
                editIndex = rowIndex;
                var ed = $('#magazineGrid').datagrid('getEditor', { index: rowIndex });
                $(ed.target).focus().bind('blur', function () {
                    endEditing();
                });
            } else {
                $('#magazineGrid').datagrid('selectRow', editIndex);
            }
        }
    }
    var endEditing = function () {
        if (editIndex == undefined) { return true }
        if ($('#magazineGrid').datagrid('validateRow', editIndex)) {
            var ed = $('#magazineGrid').datagrid('getEditor', { index: editIndex, field: '数量' });
            var number = $(ed.target).numberbox('getValue');
            $('#magazineGrid').datagrid('getRows')[editIndex]['数量'] = number;
            $('#magazineGrid').datagrid('endEdit', editIndex);
            $('#magazineGrid').datagrid('selectRow', editIndex);
            editIndex = undefined;
            return true;
        } else {
            return false;
        }
    }
</script>
<body style="width:100%;height: 100%">
<div style="display:none" id="addDlg"   data-options="iconCls:'icon-save'" align="center">
        <form action="#" method="post" id="addGoodsForm">
            <div class="form-group">
                <label for="GoodsName">货物名字</label> <input type="text"
                    class="form-control"  name="GoodsName" id="GoodsName" placeholder="请输入货物名字">
            </div>
            <div class="form-group">
                <label for="price" class="control-label">货物价格</label>
            <input  type="text"  onkeyup="value=value.replace(/[^\d.]/g,'')"  class="form-control"  name="price" id="price"
                    placeholder="请输入货物价格">
            </div>
            <div class="form-group">
                <label for="Manufactor" class="control-label">货物厂家</label> <input
                    type="text" class="form-control" id="Manufactor" name="Manufactor"
                    placeholder="请输入货物厂家">
            </div>
            <div class="form-group">
                <label for="remarks" class="control-label">货物备注</label> 

                <textarea  id="remarks" name="remarks" class="form-control" rows="3"></textarea>
            </div>
<div><button type="button" class="btn btn-default" onclick="addGoods()">提交</button></div>
        </form>
    </div>

<div style="width:99%;height: 98%" id="magazineGrid">
</div>
</body>

后台代码


    @RequestMapping("/GoodsMain.html")
    public ModelAndView index(){
        ModelAndView mav = new ModelAndView();
        mav.setViewName("manage/Views/GoodsMain");
        return mav;
    }
    @RequestMapping("/GoodsList.do")
    public void GoodsList(HttpServletRequest req,
            HttpServletResponse rsp,DataGrid g){
         try {
         List<Goods> goodsListByGrid = goodsService.getGoodsListByGrid(g);
         JSONArray object = JSONArray.fromObject(goodsListByGrid);
        JSONObject jsonObject = new  JSONObject();
        jsonObject.put("total", g.getTotal());
        jsonObject.put("rows",object.toString());   
        rsp.setContentType("text/html;charset=UTF-8");
            rsp.getWriter().write(jsonObject.toString());
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }; 
    }
    @RequestMapping("addGoods.do")
    public @ResponseBody Map<String, String> addGoods(HttpServletRequest req,
            HttpServletResponse rsp,Goods goods) {
        Map<String,String> map=new HashMap<String,String>();
        try {
            goodsService.add(goods);
            map.put("result", "成功");
        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return map;

    }
    @RequestMapping("editGoods.do")
    public @ResponseBody Map<String, String> editGoods(HttpServletRequest req,
            HttpServletResponse rsp,Goods goods) {
        Map<String,String> map=new HashMap<String,String>();
        try {
            goodsService.update(goods);
            map.put("result", "成功");
        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return map;

    }

    @RequestMapping("delGoods.do")
    public @ResponseBody Map<String, String> delGoods(HttpServletRequest req,
            HttpServletResponse rsp,String id) {
        Map<String,String> map=new HashMap<String,String>();
        try {
            goodsService.deleteById(id);
            map.put("result", "成功");
        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return map;

    }

申请采购,审批功能,采购功能,查询采购信息功能

  • 查询采购信息功能
    效果
    这里写图片描述
    前端代码
$(function() { 
    grid=$('#magazineGrid').datagrid({
        height: 480,
        url: 'ordersList.do',
        method: 'POST',
//      queryParams: { 'id': id },
        idField: 'id',
        striped: true,
        fitColumns: true,
        singleSelect: true,
        rownumbers: true,
        pagination: true,
        nowrap: false,
        loadMsg:"加载中,请等待.",
        pageSize:20,
        pageNumber:1,
        pageList: [10, 20, 50, 100, 150, 200],
        showFooter: true,
        columns: [[
            { field: 'id', title: '订单编号',width: 580},
            { field: 'ladingBillName', title: '提单人姓名',width: 220 },
            { field: 'ladingBillTime', title: '提单时间', width: 320, align: 'left'},
            { field: 'ladingBillRemarks', title: '提单备注', width: 250, align: 'left'},
            { field: 'targetWarehouseName', title: '仓库名称', width: 150, align: 'left'},
            { field: 'verifyName', title: '审核人', width: 120, align: 'left'},
            { field: 'verifyTime', title: '审核时间', width: 220, align: 'left'},
            { field: 'verifyRemarks', title: '审核备注', width: 250, align: 'left'},
            { field: 'state', title: '状态', width: 250, align: 'left',
                formatter: function(value,row,index){
                if (row.state==0){
                    //订单状态   0 申请中  1 审核成功  2审核失败  3完成订单 
                    return "<span style='cursor:pointer'  onclick='showUpd(\""+row.id+"\")'>申请中  </span>";
                }else if (row.state==1){
                    //订单状态   0 申请中  1 审核成功  2审核失败  3完成订单 
                    return "<span style='cursor:pointer;color:blue'  onclick='commitOrders(\""+row.id+"\")'>审核成功  </span>";
                }else if (row.state==2){
                    //订单状态   0 申请中  1 审核成功  2审核失败  3完成订单 
                    return "<span style='color:red'  >审核失败  </span>";
                }else if (row.state==3){
                    //订单状态   0 申请中  1 审核成功  2审核失败  3完成订单 
                    return "<span style='color:green' > 完成订单  </span>";
                }
            }},
        ]],
        toolbar: [{
            text: '增加订单',
            iconCls: 'icon-add',
            handler: function () {
                getAllWareHouse();
                $('#addDlg').dialog({
                    title: '添加订单',
                    width: 400,
                    height: 450,
                    modal: true,
                    collapsible:true,
                    resizable:true,
                });
            }
        }, '-', {
            text: '订单详情',
            iconCls: 'icon-edit',
            handler: function () {
                 var row=$('#magazineGrid').datagrid('getSelected');
                 if(row==null){
                    alert("请选择行!");
                    return false;
                 }
               var state=  row.state;
               if(state!=0){
                   alert("管理员已审核该订单,无法再修改!");
                    $("#updGoodsDiv").hide();
               }else{
                   $("#updGoodsDiv").show(); 
               }
                 var id=row.id;
//                  alert(id);
                 $("#ordersId").val(id);
                 $.ajax({
                     type: "POST",
                     url:"getOrdersItem.do",
                     data:{"id":id},// 你的formid
                     dataType: "json", 
                     contentType: "application/x-www-form-urlencoded; charset=utf-8", 
                     error: function(request) {
                         alert("Connection error");
                     },
                     success: function(data) {
                         $("#ordersItemTable  tr:not(:first)").html("");
                            if(data.length>0){                              
                                  for(var i=0;i<data.length;i++){                       
                                      $("#ordersItemTable").append("<tr><td>"+(i+1)+"</td><td>"+data[i].goodsNames+"</td><td>"+data[i].num+"</td></tr>");                    
                                  }      

                                }
                     }
                 });
  • 后台代码
    @RequestMapping("/OrdersMain.html")
    public ModelAndView Orderindex(){
        ModelAndView mav = new ModelAndView();
        mav.setViewName("manage/Views/OrdersMain");
        return mav;
    }
@RequestMapping("/ordersList.do")
    public void ordersList(HttpServletRequest req,
            HttpServletResponse rsp,DataGrid g){
         try {
             HttpSession session = req.getSession(false); 
             if(session==null){
                 return;
             }
            String userCode= (String) session.getAttribute("userCode");
            String state= (String) session.getAttribute("state");
         List<Orders> list = ordersService.getOrdersListByGrid(state,userCode,g);
         JSONArray object = JSONArray.fromObject(list);
        JSONObject jsonObject = new  JSONObject();
        jsonObject.put("total", g.getTotal());
        jsonObject.put("rows",object.toString());   
        rsp.setContentType("text/html;charset=UTF-8");
            rsp.getWriter().write(jsonObject.toString());
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }; 
    }

申请采购
这里写图片描述
这里写图片描述
- 前端代码

    function addOrders(){   
    var ladingBillName= $('#ladingBillName').val();
    if(""==ladingBillName||ladingBillName==null){
        alert("请重新登陆");
        return false;
    }
        $.ajax({
            type: "POST",
            url:"addOrders.do",
            data:$('#addOrdersForm').serialize(),// 你的formid
            dataType: "json", 
            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
            error: function(request) {
                alert("Connection error");
            },
            success: function(data) {
               alert("添加"+data.result);
               document.getElementById("addOrdersForm").reset();
               $('#magazineGrid').datagrid('load');
               $('#addDlg').window('close');
            }
        });

    }
  • 后台代码
    @RequestMapping("addOrdersItem.do")
    public @ResponseBody Map<String, String> addOrdersItem(HttpServletRequest req,
            HttpServletResponse rsp,OrdersItem item) {
        Map<String,String> map=new HashMap<String,String>();
        try {
            ordersItemService.add(item);
            map.put("result", "成功");
        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return map;

    }

审批功能
这里写图片描述
前端代码

function updOrdersState(state){
    var id= $("#updId").val();
    var remarks=$("#remarks").val();
        $.ajax({
            type: "POST",
            url:"updOrdersState.do",
            data:{"id":id,"state":state,"remarks":remarks},// 你的formid
            dataType: "json", 
            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
            error: function(request) {
                alert("Connection error");
            },
            success: function(data) {
               alert("审核"+data.result);
               $('#stateDiv').window('close')
               $('#magazineGrid').datagrid('load');              
            }
        });
    }

后台代码

@RequestMapping("updOrdersState.do")
    public @ResponseBody Map<String, String> updOrdersState(HttpServletRequest req,
            HttpServletResponse rsp,String id,int state,String remarks) {
        Map<String,String> map=new HashMap<String,String>();
        try {
            String name=(String) req.getSession().getAttribute("userName");
            Orders oldOrders = ordersService.get(id);
            if(oldOrders!=null){
                oldOrders.setState(state);
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
                java.util.Date date=new java.util.Date();  
                String str=sdf.format(date); 
                oldOrders.setVerifyTime(str);
                oldOrders.setVerifyName(name);
                if(remarks!=null&&!"".equals(remarks)){
                    oldOrders.setVerifyRemarks(remarks);                    
                }
                if(state==3){
                    ordersService.updateStock(oldOrders);
                }
                ordersService.update(oldOrders);
                map.put("result", "成功");
            }else{
                map.put("result", "失败");    
            }

        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }       
        return map;
    }
  1. 出入库管理模块:本模块主要是对出入库货物信息进行管理。包括对货物入库以及出库的登记,查询出入库的信息

查询出入库的信息
审批成功后,即为入库
这里写图片描述
前端代码

grid = $('#magazineGrid').datagrid({
            height : 480,
            url : url,
            method : 'POST',
            //      queryParams: { 'id': id },
            idField : 'userCode',
            striped : true,
            fitColumns : true,
            singleSelect : true,
            rownumbers : true,
            pagination : true,
            nowrap : false,
            loadMsg : "加载中,请等待.",
            pageSize : 20,
            pageNumber : 1,
            pageList : [ 10, 20, 50, 100, 150, 200 ],
            showFooter : true,
            columns : [ [ {
                field : 'id',
                title : '主键',
                width : 80,
                hidden:true
            },{
                field : 'goodsid',
                title : '货物id',
                width : 80,
                hidden:true
            },{
                field : 'ware_house_id',
                title : '仓库id',
                width : 80,
                hidden:true
            },{
                field : 'goods_name',
                title : '货物名称',
                width : 80
            }, {
                field : 'stock',
                title : '库存',
                width : 80,
                align : 'left'
            },{
                field : 'w_name',
                title : '仓库名称',
                width : 80,
                align : 'left'
            }, ] ],
            toolbar : [{
                text : '物资调拨',
                iconCls : 'icon-add',
                handler : function() {
                    DB();
                }
            } ],
            onBeforeLoad : function(param) {

            },
            onLoadSuccess : function(data) {

            },
            onLoadError : function() {

            },
            onClickCell : function(rowIndex, field, value) {

            }

后台代码

@RequestMapping("/StockList.do")
    public void StockList(HttpServletRequest req,
            HttpServletResponse rsp,DataGrid g){
         try {
        String wid=req.getParameter("wid");
        List stockListByGrid = stockService.executeStockList(wid);
        JSONArray object = JSONArray.fromObject(stockListByGrid);
        JSONObject jsonObject = new  JSONObject();
        String string = jsonObject.toString();
        jsonObject.put("total", g.getTotal());
        jsonObject.put("rows",object.toString());   
        rsp.setContentType("text/html;charset=UTF-8");
        rsp.getWriter().write(jsonObject.toString());
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }; 
    }

仓库间调拨,即为出库
这里写图片描述
前端代码

    function DBfunc(){
        var wid1=$("#wId1").val();
        var wid1name=$("#wId1 option:selected").text();
        var wid=$("#wid").val();
        var oldW=$("#oldW").val();
        var num=$("#num").val();
        var stock=$("#stock").val();
        var goodsid = $("#goodsid").val();
        if(wid1name==oldW){
            alert("请正确选择调拨仓库!");
        }else if(eval(num)<0||eval(num)>eval(stock)||num==''){
            alert("请正确输入调拨数量!");
        }else{
            $.messager.confirm('Confirm','确认调拨?',function(r){
                if (r){
                    jQuery.ajax({
                        type : "post",
                        url : "DBStock.do",
                        contentType : "application/x-www-form-urlencoded; charset=UTF-8",
                        dataType : "text",
                         data:{"dbwid":wid1,
                             "wid":wid,
                             "num":num,
                             "stock":stock,
                             "goodsid":goodsid,
                             },
                        success : function(data) {
                            $.messager.alert('提示信息:', '成功!', 'info');
                            $('#magazineGrid').datagrid("reload");
                        },
                        error : function(data) {
                            $.messager.alert('提示信息:', '失败!', 'info');
                            $('#magazineGrid').datagrid("reload");
                        }
                    });
                }
            });
        }
    }

后台代码

@RequestMapping("/DBStock.do")
    public void DBStock(HttpServletRequest req, HttpServletResponse rsp, String wid, String dbwid, String goodsid,
            String num, String stock) {
        boolean exit = stockService.executeFind(goodsid, dbwid);
        int stock1 = Integer.parseInt(stock);
        int num1 = Integer.parseInt(num);
        int curNum = stock1-num1;
        //减少原仓库货物数量
        stockService.executeUpd(goodsid, wid, curNum);
        if(exit){
            //调拨仓库中没有该货物 直接在stock库存表中插入
            stockService.executeAdd(goodsid, dbwid, num1);
        }else{

            try {
                //调拨仓库中已有该货物,获取原数量
                List<Map<String, String>> list = stockService.executeGet(goodsid, dbwid);
                String oldNum = list.get(0).get("stock");
                int oldNum1 = Integer.parseInt(oldNum);
                curNum = oldNum1+num1;
                //更新数量
                stockService.executeUpd(goodsid, dbwid, curNum);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

数据处理模块:本模块主要功能有备份数据,还原数据,导出数据,导入数据,打印数据的功能
备份数据
这里写图片描述
前端代码

function backupAll(){
        var result= confirm("是否现在开始备份数据?");
        if(result!=true){
            return false;
        }
        $.ajax({
            type: "POST",
            url:"backupAll.do",    
            dataType: "json", 
            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
            error: function(request) {
                alert("Connection error");
            },
            success: function(data) {
               alert("备份"+data.result);  
               location.reload();
            }
        });
     }

后台代码

    @RequestMapping("/backupAll.do")
    public @ResponseBody Map<String, String> backupAll(HttpServletRequest req,
            HttpServletResponse rsp) {
        Map<String,String> map=new HashMap<String,String>();
        try {
            SimpleDateFormat sdf2=new SimpleDateFormat("yyyyMMddHHmmss");  
            java.util.Date date=new java.util.Date();  
            String string = sdf2.format(date);
            DBsave bsave = new DBsave();
            String sqlPath = req.getSession().getServletContext().getRealPath("sql");
            String separator = File.separator;
            String  path=sqlPath+separator+string+"db.sql";         
            bsave.backup(path);;
            map.put("result", "成功");
        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return map;
            }

备份列表
这里写图片描述
前端代码

    $.ajax({
            type: "POST",
            url:"dataList.do",    
            dataType: "json", 
            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
            error: function(request) {
                alert("Connection error");
            },
            success: function(data) {
               if(data.length>0){
                   for(var i=0;i<data.length;i++){
                       $("#mainTable").append("<tr><td>"+(i+1)+"</td><td>"+data[i].name+"</td><td> <button type='button' class='btn btn-default' onclick='recover(\""+data[i].name+"\")'>还原数据</button></td><td><a href='export.do?fileName="+data[i].name+"'>导出 </a></td></tr>")
                   }
               }          
            }
        });

后台代码

@RequestMapping("/dataList.do")
    public @ResponseBody  List<Map<String,String>> list(HttpServletRequest req,
            HttpServletResponse rsp){
             List<Map<String,String>> list =new ArrayList<Map<String,String>>();

             String sqlPath = req.getSession().getServletContext().getRealPath("sql");
                String separator = File.separator;

                File file=new File(sqlPath+separator);
                if(file.isDirectory()){
                    File[] fs = file.listFiles();               
                    if (fs.length > 0) {
                        for (int i = 0; i < fs.length; i++) {
                        String nameStr = fs[i].getName();
                        Map<String, String> hashMap = new HashMap<String,String>();
                        hashMap.put("name", nameStr);
                        list.add(hashMap);
                    }
                        }
                }

             return list;   
    }

还原数据
这里写图片描述
前端代码

function recover(filename){
        var result= confirm("是否现在开始还原数据?一经还原全部数据将会到此版本!");
        if(result!=true){
            return false;
        }
        $.ajax({
            type: "POST",
            url:"recover.do", 
            data:{"fileName":filename},// 你的formid
            dataType: "json", 
            contentType: "application/x-www-form-urlencoded; charset=utf-8", 
            error: function(request) {
                alert("Connection error");
            },
            success: function(data) {
               alert("还原"+data.result);  
               window.parent.location.href="../User/Login.html";

            }
        });
    }

后台代码

    @RequestMapping("/recover.do")
    public @ResponseBody Map<String, String> recover(HttpServletRequest req,
            HttpServletResponse rsp,String fileName) {
        Map<String,String> map=new HashMap<String,String>();
        try {   
            DBsave bsave = new DBsave();
            String sqlPath = req.getSession().getServletContext().getRealPath("sql");
            String separator = File.separator;
            String  path=sqlPath+separator+fileName;            
            bsave.recover(path);
            map.put("result", "成功");
        } catch (Exception e) {
            map.put("result", "失败");
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return map;
            }

导出功能
这里写图片描述
后台代码

@RequestMapping("/export.do")
    public void export(HttpServletRequest req,
            HttpServletResponse rsp,String fileName) {
        InputStream in = null;
        OutputStream outs = null;
        try {   
            String sqlPath = req.getSession().getServletContext().getRealPath("sql");
            String separator = File.separator;
            String  path=sqlPath+separator+fileName;            
            File file= new File(path);
            in = new FileInputStream(file);
            outs = rsp.getOutputStream();
            byte[] buf = new byte[1024];
            long fileLength = file.length();

            rsp.addHeader("Content-Length", "" + fileLength);
            rsp.setCharacterEncoding("UTF-8");
            rsp.setContentType("setContentType");
            rsp.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));

            // 推送数据到客户端
            int length = in.read(buf);
            while (length > 0) {
                outs.write(buf, 0, length);
                outs.flush();
                length = in.read(buf);
            }   
            outs.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

            }

导入功能
这里写图片描述
前端代码

function uploadFile(){
        $('#uploadDiv').dialog({
            title: '添加订单',
            width: 400,
            height: 150,
            modal: true,
            collapsible:true,
            resizable:true,
            buttons:[{
                text:'确认',
                handler:function(){

                    var result = confirm("是否导入此文件备份,此操作将影响数据库数据!");
                    if (result == true) {
                        var options = {
                            success : function(data) {
                                alert("导入"+data.result);
                                  window.parent.location.href="../User/Login.html";
                            },
                            dataType : "json",
                            url:"importFile.do",
                            type:"POST"
                                        };
                        $("#fileForm").ajaxSubmit(options);
                        return false;
                    } else {
                        return false;
                    }

                }
            }, {
                text : '取消',
                handler : function() {
                    $('#uploadDiv').window('close'); // close a window
                }
            } ]
        });
    }

后台代码

    @RequestMapping("/importFile.do")
    public @ResponseBody Map<String, String> importFile(HttpServletRequest req,
            HttpServletResponse rsp,MultipartFile file) {
        Map<String,String> map=new HashMap<String,String>();
        try {   
            InputStream in =this.getClass().getResourceAsStream("/db.properties");   
            Properties props = new Properties();
            props.load(in);   
            String username = props.getProperty("jdbc.username");   
            String password = props.getProperty("jdbc.password");  
            String dbName = props.getProperty("jdbc.dbName");

            Runtime runtime = Runtime.getRuntime();  
            String str11="mysql -u"+username+" -p"+password+" --default-character-set=utf8 "+dbName;
            Process process = runtime.exec(str11);  

            OutputStream outputStream = process.getOutputStream(); 


            InputStream inFile = file.getInputStream();  
            InputStreamReader reader = new InputStreamReader(inFile);  
            BufferedReader br = new BufferedReader(reader);         
            String s = null;  
            StringBuffer sb = new StringBuffer();  
            while((s = br.readLine()) != null){  
                sb.append(s+"\r\n");  
            }  
            s = sb.toString();  
            System.out.println(s); 
            br.close();  
            reader.close();  
            inFile.close();             
            OutputStreamWriter writer = new OutputStreamWriter(outputStream,"utf-8");  
            writer.write(s);         
            writer.flush();  
            outputStream.close();  
            br.close();  
            writer.close();   
            map.put("result", "成功");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            map.put("result", "失败");
            e.printStackTrace();
        }
        return map;
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值