"基于SSM的超市进销存管理系统-java进销存管理
1.包含源程序,数据库脚本。代码和数据库脚本都有详细注释。
2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善
代码已经上传github,下载地址https://github.com/21503882/market
开发环境:
Eclipse ,MYSQL,JDK1.7,Tomcat 7
涉及技术点:
MVC模式、SpringMvc、Mybatis、Spring、HTML、JavaScript、CSS、JQUERY、DWR、Ajax等
系统采用Mybatis框架实现ORM对象关系映射,前台JSP实现,后台springMvc映射,使用Spring框架进行整合。适合学习J2EE的一段时间的熟手,代码思路清晰,注解详细,数据库用的是mysql5.1,服务器用的tomcat7,JDK版本1.7. 编程软件Eclispe J2EE版本。是典型MVC架构,并且前后台分离
具体功能这里不再赘述,请下方看系统详细演示图,如果大家有什么疑问或者什么不懂得可以在下方给我留言,或者你有更好的建议等等都可以的,也可以找我和我一起交流沟通,互相学习进步!但是dai。ma。you。chang
好了下面让我来给大家展示一下这个项目的页面效果:
------------"
本系统主要分为仓库管理、财务管理、销售管理、品牌分析、会员管理、系统管理等六大功能模块,每个功能模块又分为若干个子模块。系统的功能模块具体描述如下:
1. 仓库管理
商品采购管理:商品采购管理对商品的采购信息进行新增、编辑、删除和查看等管理,并可以按采购编号、采购日期和采购员等信息进行查询。
品牌信息管理:品牌信息管理对商品的品牌信息进行新增、编辑、删除和查看等管理,并可以按编号和品牌名称查询。
库存查询:库存查询模块对商品的库存信息进行查询,可以按编号、商品名称进行查询。
2. 销售管理
商品销售管理:商品销售管理对商品的销售信息进行新增、编辑、删除和查看等管理,
按会员卡号、姓名、销售员进行查询。
销售金额统计:销售金额统计对商品的销售金额进行统计,可以按销售日期、商品名称进行统计查询。
销售品牌统计:销售品牌统计对品牌的销售信息进行统计,可以按销售日期查询某个品牌销售数量和金额。
3. 财务管理
采购金额统计:采购金额统计对商品的采购金额信息进行统计,可以按采购日期查询采购明细。
销售金额统计:销售金额统计对商品的销售信息按销售日期、商品名称进行查询。
4. 品牌分析
品牌统计分析:对品牌销售信息按销售日期生成销售统计图。
5. 会员信息
会员信息管理:会员信息管理对会员信息进行新增、编辑、删除和查看等管理,按姓名、身份证号进行查询。
会员卡管理:会员卡管理对会员卡信息进行新增、编辑、删除和查看等管理,按会员卡号进行查询。
6. 系统管理
用户管理:用户管理对系统的操作用户信息进行新增、编辑、删除和查看等管理,可以按用户姓名、用户类型查询。
员工管理:员工管理对员工信息进行新增、编辑、删除和查看等管理,可以按员工姓名和职位类型进行查询。
图4-2 登录页面
图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销售金额统计页面
图4-16采购金额统计页面
图4-17品牌统计分析页面
图4-16采购金额统计页面
图4-18会员信息管理主页面
图4-19新增会员信息页面
图4-20会员卡信息管理主页面
图4-21新增会员卡信息页面
图4-22用户信息管理主页面
图4-23员工信息管理主页面
图4-24新增员工信息页面
package com.wnliam.uqdate.controller;
import com.wnliam.uqdate.info.FileInfo;
import com.wnliam.uqdate.util.GetPathUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@RestController
@RequestMapping(value = "/category")
public class FileCategoryController {
private String folder = "";
File crrentParent = null;
File[] crrentParentFiles = null;
public FileCategoryController() {
try {
folder = GetPathUtil.getJarRootPath() + "/static";
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
@RequestMapping(value = "/all")
public List<FileInfo> getAllFile(@RequestParam(value = "openid") String openID) {
String filepath = folder + "/" + openID;
System.out.println("openid:" + openID);
File root = new File(filepath);
crrentParent = root;
System.out.println("root:" + root.getAbsoluteFile());
crrentParentFiles = root.listFiles();
return buildList();
}
@PostMapping
public List<FileInfo> getFile(@RequestParam(value = "openid") String openID,
@RequestParam(value = "flag") String filetype) {
String filepath = folder + "/" + openID;
System.out.println("openid:" + openID);
File root = new File(filepath);
crrentParent = root;
System.out.println("root:" + root.getAbsoluteFile());
crrentParentFiles = root.listFiles();
return getFilesByType(filetype);
}
private List buildList(){
List<FileInfo> list = new ArrayList<>();
for (int i = 0; i < crrentParentFiles.length; i++) {
FileInfo fileInfo = new FileInfo();
fileInfo.setName(crrentParentFiles[i].getName());
fileInfo.setTime(crrentParentFiles[i].lastModified() + "");
fileInfo.setSize(crrentParentFiles[i].length() / 1024.0);
list.add(fileInfo);
}
return list;
}
private List getFilesByType(String filetype){
List<FileInfo> list = new ArrayList<>();
String [] types= null;
switch (filetype){
case "video":
types = new String[]{"rm", "rmvn", "rmv", "mp4", "avi"};
break;
case "text":
types = new String[]{"pdf", "xls" , "xlsx", "doc", "ppt","docx","text"};
break;
case "image":
types = new String[]{"bmp", "jpg" , "jpeg", "png", "swf"};
break;
case "music":
types = new String[]{"mp3", "wma" , "wav", "mid"};
break;
case "apk":
types = new String[]{"apk"};
break;
case "z_r":
types = new String[]{"rar","zip","iso"};
break;
default:
types = new String[]{};
}
for (File f: crrentParentFiles){
String localtype = getFileType(f.getName());
boolean isContains = Arrays.asList(types).contains(localtype);
if(isContains){
FileInfo fileInfo = new FileInfo();
fileInfo.setName(f.getName());
fileInfo.setTime(f.lastModified() + "");
fileInfo.setSize(f.length() / 1024.0);
list.add(fileInfo);
}
}
return list;
}
private String getFileType(String fileName) {
if ("".equals(fileName)) try {
throw new Exception("传入的文件名为空");
} catch (Exception e) {
e.printStackTrace();
}
String fileType=fileName.substring(fileName.lastIndexOf(".")+1,fileName.length());
return fileType;
}
}
代码已经上传github,下载地址https://github.com/21503882/market