一、项目简述
功能包括: 仓库管理,出入库管理,仓库人员管理,基本信息管理, 供应商信息,系统管理等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
* @param response HttpServletResponse
*/
@SuppressWarnings("unchecked")
@RequestMapping(value = "exportGoods", method = RequestMethod.GET)
public void exportGoods(@RequestParam("searchType") String searchType, @RequestParam("keyWord") String keyWord,
HttpServletResponse response) throws GoodsManageServiceException, IOException {
String fileName = "goodsInfo.xlsx";
List<Goods> goodsList = null;
Map<String, Object> queryResult = query(searchType, keyWord, -1, -1);
if (queryResult != null) {
goodsList = (List<Goods>) queryResult.get("data");
}
// 获取生成的文件
File file = goodsManageService.exportGoods(goodsList);
// 写出文件
if (file != null) {
* 查询指定 goods ID 货物的信息
*
* @param goodsID 货物ID
* @return 返回一个map,其中:key 为 result 的值为操作的结果,包括:success 与 error;key 为 data
* 的值为货物信息
*/
@RequestMapping(value = "getGoodsInfo", method = RequestMethod.GET)
public
@ResponseBody
Map<String, Object> getGoodsInfo(@RequestParam("goodsID") Integer goodsID) throws GoodsManageServiceException {
// 初始化 Response
Response responseContent = ResponseFactory.newInstance();
String result = Response.RESPONSE_RESULT_ERROR;
// 获取货物信息
Goods goods = null;
Map<String, Object> queryResult = goodsManageService.selectById(goodsID);
if (queryResult != null) {
goods = (Goods) queryResult.get("data");
if (goods != null) {
result = Response.RESPONSE_RESULT_SUCCESS;
}
}
// 设置 Response
responseContent.setResponseResult(result);
Map<String, Object> queryResult = systemLogService.selectUserOperationRecord(userID, startDateStr, endDateStr, offset, limit);
if (queryResult != null) {
rows = (List<UserOperationRecordDTO>) queryResult.get("data");
total = (long) queryResult.get("total");
}
} else
response.setResponseMsg("Request argument error");
if (rows == null)
rows = new ArrayList<>(0);
response.setCustomerInfo("rows", rows);
response.setResponseTotal(total);
return response.generateResponse();
}
}
货物信息管理请求:
* @return 返回一个map,其中:key 为 result表示操作的结果,包括:success 与 error
*/
@RequestMapping(value = "deleteCustomer", method = RequestMethod.GET)
public
@ResponseBody
Map<String, Object> deleteCustomer(@RequestParam("customerID") String customerIDStr) throws CustomerManageServiceException {
// 初始化 Response
Response responseContent = ResponseFactory.newInstance();
// 参数检查
if (StringUtils.isNumeric(customerIDStr)) {
// 转换为 Integer
Integer customerID = Integer.valueOf(customerIDStr);
// 刪除
String result = customerManageService.deleteCustomer(customerID) ? Response.RESPONSE_RESULT_SUCCESS : Response.RESPONSE_RESULT_ERROR;
responseContent.setResponseResult(result);
} else
responseContent.setResponseResult(Response.RESPONSE_RESULT_ERROR);
return responseContent.generateResponse();
}
responseContent.setCustomerInfo("rows", rows);
responseContent.setResponseTotal(total);
responseContent.setResponseResult(Response.RESPONSE_RESULT_SUCCESS);
return responseContent.generateResponse();
}
/**
* 添加一条客户信息
*
* @param customer 客户信息
* @return 返回一个map,其中:key 为 result表示操作的结果,包括:success 与 error
*/
@RequestMapping(value = "addCustomer", method = RequestMethod.POST)
public
Response responseContent = ResponseFactory.newInstance();
// 删除
String result = goodsManageService.deleteGoods(goodsID) ? Response.RESPONSE_RESULT_SUCCESS : Response.RESPONSE_RESULT_ERROR;
// 设置 Response
responseContent.setResponseResult(result);
return responseContent.generateResponse();
}
/**
* 导入货物信息
*
* @param file 保存有货物信息的文件
* @return 返回一个map,其中:key 为 result表示操作的结果,包括:success 与
* error;key为total表示导入的总条数;key为available表示有效的条数
*/
@RequestMapping(value = "importGoods", method = RequestMethod.POST)
public
@ResponseBody
String regex = "([0-9]{4})-([0-9]{2})-([0-9]{2})";
boolean startDateFormatCheck = (StringUtils.isEmpty(startDateStr) || startDateStr.matches(regex));
boolean endDateFormatCheck = (StringUtils.isEmpty(endDateStr) || endDateStr.matches(regex));
boolean userIDCheck = (StringUtils.isEmpty(userIDStr) || StringUtils.isNumeric(userIDStr));
if (startDateFormatCheck && endDateFormatCheck && userIDCheck) {
// 转到 Service 执行查询
Integer userID = -1;
if (StringUtils.isNumeric(userIDStr))
userID = Integer.valueOf(userIDStr);
Map<String, Object> queryResult = systemLogService.selectAccessRecord(userID, accessType, startDateStr, endDateStr, offset, limit);
if (queryResult != null) {
rows = (List<AccessRecordDO>) queryResult.get("data");
total = (long) queryResult.get("total");
}
} else
response.setResponseMsg("Request Argument Error");
if (rows == null)
rows = new ArrayList<>(0);
// 返回 Response
response.setCustomerInfo("rows", rows);
response.setResponseTotal(total);
return response.generateResponse();
}
/**
* error;key为total表示导入的总条数;key为available表示有效的条数
*/
@RequestMapping(value = "importGoods", method = RequestMethod.POST)
public
@ResponseBody
Map<String, Object> importGoods(@RequestParam("file") MultipartFile file) throws GoodsManageServiceException {
// 初始化 Response
Response responseContent = ResponseFactory.newInstance();
String result = Response.RESPONSE_RESULT_ERROR;
// 读取文件内容
int total = 0;
int available = 0;
if (file != null) {
Map<String, Object> importInfo = goodsManageService.importGoods(file);
// 设置响应头
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
FileInputStream inputStream = new FileInputStream(file);
OutputStream outputStream = response.getOutputStream();
byte[] buffer = new byte[8192];
int len;
while ((len = inputStream.read(buffer, 0, buffer.length)) > 0) {
outputStream.write(buffer, 0, len);
outputStream.flush();
}
inputStream.close();
outputStream.close();
}
}
/**
* 添加一条客户信息
*
* @param customer 客户信息
* @return 返回一个map,其中:key 为 result表示操作的结果,包括:success 与 error
*/
@RequestMapping(value = "addCustomer", method = RequestMethod.POST)
public
@ResponseBody
Map<String, Object> addCustomer(@RequestBody Customer customer) throws CustomerManageServiceException {
// 初始化 Response
Response responseContent = ResponseFactory.newInstance();
// 添加记录
String result = customerManageService.addCustomer(customer) ? Response.RESPONSE_RESULT_SUCCESS : Response.RESPONSE_RESULT_ERROR;
Response responseContent = ResponseFactory.newInstance();
// 更新
String result = customerManageService.updateCustomer(customer) ? Response.RESPONSE_RESULT_SUCCESS : Response.RESPONSE_RESULT_ERROR;
responseContent.setResponseResult(result);
return responseContent.generateResponse();
}
/**
* 删除客户记录
*
* @param customerIDStr 客户ID
* @return 返回一个map,其中:key 为 result表示操作的结果,包括:success 与 error
*/
@RequestMapping(value = "deleteCustomer", method = RequestMethod.GET)
public
@ResponseBody
Map<String, Object> deleteCustomer(@RequestParam("customerID") String customerIDStr) throws CustomerManageServiceException {
// 初始化 Response
Response responseContent = ResponseFactory.newInstance();
// 参数检查
return responseContent.generateResponse();
}
/**
* 删除货物记录
*
* @param goodsID 货物ID
* @return 返回一个map,其中:key 为 result表示操作的结果,包括:success 与 error
*/
@RequestMapping(value = "deleteGoods", method = RequestMethod.GET)
public
@ResponseBody
Map<String, Object> deleteGoods(@RequestParam("goodsID") Integer goodsID) throws GoodsManageServiceException {
// 初始化 Response
Response responseContent = ResponseFactory.newInstance();
// 删除
String result = goodsManageService.deleteGoods(goodsID) ? Response.RESPONSE_RESULT_SUCCESS : Response.RESPONSE_RESULT_ERROR;
// 设置 Response
responseContent.setResponseResult(result);
return responseContent.generateResponse();
}
/**
* 导入货物信息