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;
}
- 出入库管理模块:本模块主要是对出入库货物信息进行管理。包括对货物入库以及出库的登记,查询出入库的信息
查询出入库的信息
审批成功后,即为入库
前端代码
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;
}