系统功能模块图
企业进销存信息管理系统完成企业各种信息的管理及维护操作,根据系统的功能和模块划分的原则,主要包括供应商信息的管理,客户信息的管理,商品信息的管理,采购入库的管理,销售出库的管理,出入库统计管理,商品检查模块等。企业管理系统的的功能结图如图3-1所示:
代码已经上传github,下载地址: https://github.com/21503882/company-CRM
系统功能分析
本系统需要完成的功能主要有以下几点:
1.新增供应商模块
主要完成供应商信息的添加功能,供应商信息包括供应商的名字。在商品采购时需要用到供应商的信息。
2.供应管理模志
供应商管理模块完成供应商信息的删除及查询功能,用户可以对无用的供应商信息进行删除操作,可以按供应商的名字进行查询操作。
3.新办客户注册
新办客户注册完成添加新的客户信息的功能,新的客户信息包括客户卡号,客户姓名,性别,年龄,地址,电话,身份证号等基本信息。客户在购买本企业的商品时会有相应的积分。
4.客户信息管理
客户信息管理模块完成客户信息删除及查询功能。操作员可以按客户卡号查询客户的基本信息。也可以对客户信息进行查询。
5.新增商品信息
新增商品信息模块完成添加商品基本信息的功能,商品在采购入库及销售出库时都需要用到商品的基本信息。商品的基本信息包括,商品编号,商品名称,类型,规格,型号,单位,零售价等信息。
6.商品信息管理
商品信息管理完成信息的删除、修改及查询的功能,操作员可以对已有的商品信息进行修改操作,对无用的商品信息进行删除,同时可以按商品编号查询商品的基本信息。
7.采购入库管理
商品采购入库管理模块,完成企业商品入库的功能。在此模块中,操作员选择入库的商品,供应商,输入商品的采购数量及采购单价,完成商品入库的功能。
8.销售出库管理
商品的销售出库管理模块完商品信息的销售功能。销售的客房类型可以零散客户,也可以客户,如果是客户,会根据客户购买商品的价格为客户累计加分。
9.商品库存管理
商品库存管理完成已有商品库存信息的查看功能。操作人员可以按商品编号进行查询。
10.商品入库统计
商品入库统计模块完统计商品的详细入库情况的功能。系统会把每一笔入库单显示出来。供操作人员进行查看。
11.商品出库统计
商品出库统计模块完成商品销售信息的统计功能。系统显示所有的商品销售出库信息。
12.密码修改模块
密码修改模块完成管理员密码的修改功能。
图4-3登录页面
图4-3系统主页面
图4-4 供应商管理模块
图4-5 新办客户管理页面
图4-6 客户信息管理模块
图4-7 新增商品信息模块
图4-8 商品信息管理模块页面
图4-9商品采购入库模块
图4-10商品销售出库模块(一)
图4-11商品销售出库模块(二)
图4-12 商品库存管理模块
图4-13 商品入库统计页面
图4-14 商品出库统计模块
图4-15 操作员子系统
package com.zsga.kbms.controller;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
/**
* 图片上传Controller层
* @author admin
*
*/
@Controller
public class UploadController {
@RequestMapping(value="/uploadImage",method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public Map<String,Object> uploadFile(@RequestParam(value = "upfile", required = false) MultipartFile file,
HttpServletResponse response){
Map<String,Object> map = new HashMap<String, Object>();
String realName = null;
String uuidName = null;
String realPath = null;
try {
//文件原来的名称
realName = getRealName(file.getOriginalFilename());
//得到这个文件的uuidname
uuidName = this.getUUIDFileName(file.getOriginalFilename());
//这里测试的是 把图片不存在 发布目录下
realPath = "d:/images";
//得到文件的输入流
InputStream in = new BufferedInputStream(file.getInputStream());
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File(realPath,uuidName)));
IOUtils.copy(in, out);
in.close();
out.close();
map.put("state", "SUCCESS");// UEDITOR的规则:不为SUCCESS则显示state的内容
map.put("url","/images/"+uuidName); //能访问到你现在图片的路径 这里
map.put("title","");
map.put("original",realName);
} catch (Exception e) {
map.put("state", "文件上传失败!"); //在此处写上错误提示信息,这样当错误的时候就会显示此信息
map.put("url","");
map.put("title", "");
map.put("original", "");
e.printStackTrace();
}
return map;
}
private String getExtName(String s, char split) {
int i = s.lastIndexOf(split);
int leg = s.length();
return i > 0 ? (i + 1) == leg ? " " : s.substring(i+1, s.length()) : " ";
}
private String getUUIDFileName(String fileName){
UUID uuid = UUID.randomUUID();
StringBuilder sb = new StringBuilder(100);
sb.append(uuid.toString()).append(".").append(this.getExtName(fileName, '.'));
return sb.toString();
}
private String getRealName(String originalName){
//System.out.println(originalName.contains("."));
if(originalName.contains(".")){
String [] as = originalName.split("\\.");
//System.out.println(as[0]);
return as[0];
}else {
return originalName;
}
}
}
代码已经上传github,下载地址: https://github.com/21503882/company-CRM