Java實戰(zhàn)之超市收銀管理系統(tǒng)的實現(xiàn)
一、項目簡述
本系統(tǒng)主要實現(xiàn)的功能有:收銀、報表、用戶管理、商品管理、銷售管理、進貨退貨管理、倉庫管 理等等功能。
二、項目運行
環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
項目技術(shù): Spring+ SpringMVC + MyBatis + ThymeLeaf + JavaScript + JQuery + Ajax + maven等等
三、效果圖






四、核心代碼
品類信息控制層
/**
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/category")
public class CategoryController {
@Autowired
private CategoryService categoryService;
/**
* 類別模糊查詢
* @param
* @return
*/
@SysLog("類別查詢操作")
@RequestMapping("/categoryList")
public DataGridViewResult categoryList(CategoryVO categoryVO) {
//創(chuàng)建分頁信息 參數(shù)1 當(dāng)前頁 參數(shù)2 每頁顯示條數(shù)
IPage<Category> page = new Page<>(categoryVO.getPage(), categoryVO.getLimit());
QueryWrapper<Category> queryWrapper = new QueryWrapper<>();
queryWrapper.like(!StringUtils.isEmpty(categoryVO.getCatename()),"catename", categoryVO.getCatename());
IPage<Category> categoryIPage = categoryService.page(page, queryWrapper);
/**
* logsIPage.getTotal() 總條數(shù)
* logsIPage.getRecords() 分頁記錄列表
*/
return new DataGridViewResult(categoryIPage.getTotal(),categoryIPage.getRecords());
}
/**
* 類別批量刪除
* @param ids
* @return
*/
@SysLog("類別刪除操作")
@RequestMapping("/deleteList")
public Result deleteList(String ids) {
//將字符串拆分成數(shù)組
String[] idsStr = ids.split(",");
List<String> list = Arrays.asList(idsStr);
boolean bool = categoryService.removeByIds(list);
if(bool){
return Result.success(true,"200","刪除成功!");
}
return Result.error(false,null,"刪除失??!");
}
/**
* 添加類別信息
* @param category
* @return
*/
@SysLog("類別添加操作")
@PostMapping("/addcategory")
public Result addCategory(Category category){
boolean bool = categoryService.save(category);
if(bool){
return Result.success(true,"200","添加成功!");
}
return Result.error(false,null,"添加失??!");
}
/**
* 修改類別信息
* @param category
* @return
*/
@SysLog("類別修改操作")
@PostMapping("/updatecategory")
public Result updateCategory(Category category){
boolean bool = categoryService.updateById(category);
if(bool){
return Result.success(true,"200","修改成功!");
}
return Result.error(false,null,"修改失?。?);
}
/**
* 刪除單條數(shù)據(jù)
* @param id
* @return
*/
@SysLog("類別刪除操作")
@RequestMapping("/deleteOne")
public Result deleteOne(int id) {
boolean bool = categoryService.removeById(id);
if(bool){
return Result.success(true,"200","刪除成功!");
}
return Result.error(false,null,"刪除失敗!");
}
}用戶信息控制層
/**
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/customer")
public class CustomerController {
@Autowired
private CustomerService customerService;
/**
* 客戶模糊查詢
* @param
* @return
*/
@SysLog("客戶查詢操作")
@RequestMapping("/customerList")
public DataGridViewResult customerList(CustomerVO customerVO) {
//創(chuàng)建分頁信息 參數(shù)1 當(dāng)前頁 參數(shù)2 每頁顯示條數(shù)
IPage<Customer> page = new Page<>(customerVO.getPage(), customerVO.getLimit());
QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();
queryWrapper.like(!StringUtils.isEmpty(customerVO.getCustvip()),"custvip", customerVO.getCustvip());
IPage<Customer> customerIPage = customerService.page(page, queryWrapper);
/**
* logsIPage.getTotal() 總條數(shù)
* logsIPage.getRecords() 分頁記錄列表
*/
return new DataGridViewResult(customerIPage.getTotal(),customerIPage.getRecords());
}
/**
* 客戶批量刪除
* @param ids
* @return
*/
@SysLog("客戶刪除操作")
@RequestMapping("/deleteList")
public Result deleteList(String ids) {
//將字符串拆分成數(shù)組
String[] idsStr = ids.split(",");
List<String> list = Arrays.asList(idsStr);
boolean bool = customerService.removeByIds(list);
if(bool){
return Result.success(true,"200","刪除成功!");
}
return Result.error(false,null,"刪除失?。?);
}
/**
* 添加客戶信息
* @param customer
* @return
*/
@SysLog("客戶添加操作")
@PostMapping("/addcustomer")
public Result addCustomer(Customer customer){
String id = RandomStringUtils.randomAlphanumeric(10);
customer.setCustvip(id);
boolean bool = customerService.save(customer);
if(bool){
return Result.success(true,"200","添加成功!");
}
return Result.error(false,null,"添加失??!");
}
/**
* 修改客戶信息
* @param customer
* @return
*/
@SysLog("客戶修改操作")
@PostMapping("/updatecustomer")
public Result updateCustomer(Customer customer){
boolean bool = customerService.updateById(customer);
if(bool){
return Result.success(true,"200","修改成功!");
}
return Result.error(false,null,"修改失?。?);
}
/**
* 刪除單條數(shù)據(jù)
* @param id
* @return
*/
@SysLog("客戶刪除操作")
@RequestMapping("/deleteOne")
public Result deleteOne(int id) {
boolean bool = customerService.removeById(id);
if(bool){
return Result.success(true,"200","刪除成功!");
}
return Result.error(false,null,"刪除失敗!");
}
/**
*
* 加載下拉框
* @return
*/
@RequestMapping("/loadAllCustomer")
public DataGridViewResult loadAllCustomer(){
QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();
List<Customer> list = customerService.list(queryWrapper);
return new DataGridViewResult(list);
}
}商品信息控制層
/**
* <p>
* 前端控制器
* </p>
*
*/
@RestController
@RequestMapping("/goods")
public class GoodsController {
@Autowired
private GoodsService goodsService;
@Autowired
private ProviderService providerService;
@Autowired
private CategoryService categoryService;
/**
* 商品模糊查詢
*
* @param
* @return
*/
@SysLog("商品查詢操作")
@RequestMapping("/goodsList")
public DataGridViewResult goodsList(GoodsVO goodsVO) {
//創(chuàng)建分頁信息 參數(shù)1 當(dāng)前頁 參數(shù)2 每頁顯示條數(shù)
IPage<Goods> page = new Page<>(goodsVO.getPage(), goodsVO.getLimit());
QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(goodsVO.getProviderid() != null && goodsVO.getProviderid() != 0, "providerid", goodsVO.getProviderid());
queryWrapper.like(!StringUtils.isEmpty(goodsVO.getGname()), "gname", goodsVO.getGname());
IPage<Goods> goodsIPage = goodsService.page(page, queryWrapper);
List<Goods> records = goodsIPage.getRecords();
for (Goods goods : records) {
Provider provider = providerService.getById(goods.getProviderid());
if (null != provider) {
goods.setProvidername(provider.getProvidername());
}
}
return new DataGridViewResult(goodsIPage.getTotal(), records);
}
/**
* 添加商品信息
*
* @param goods
* @return
*/
@SysLog("商品添加操作")
@PostMapping("/addgoods")
public Result addGoods(Goods goods) {
String id = RandomStringUtils.randomAlphanumeric(8);
if (goods.getGoodsimg()!=null&&goods.getGoodsimg().endsWith("_temp")){
String newName = AppFileUtils.renameFile(goods.getGoodsimg());
goods.setGoodsimg(newName);
}
goods.setGnumbering(id);
boolean bool = goodsService.save(goods);
if (bool) {
return Result.success(true, "200", "添加成功!");
}
return Result.error(false, null, "添加失??!");
}
/**
* 修改商品信息
*
* @param goods
* @return
*/
@SysLog("商品修改操作")
@PostMapping("/updategoods")
public Result updateGoods(Goods goods) {
//商品圖片不是默認圖片
if (!(goods.getGoodsimg()!=null&&goods.getGoodsimg().equals(Constast.DEFAULT_IMG))){
if (goods.getGoodsimg().endsWith("_temp")){
String newName = AppFileUtils.renameFile(goods.getGoodsimg());
goods.setGoodsimg(newName);
//刪除原先的圖片
String oldPath = goodsService.getById(goods.getGid()).getGoodsimg();
AppFileUtils.removeFileByPath(oldPath);
}
}
boolean bool = goodsService.updateById(goods);
if (bool) {
return Result.success(true, "200", "修改成功!");
}
return Result.error(false, null, "修改失?。?);
}
/**
* 刪除單條數(shù)據(jù)
*
* @param id
* @return
*/
@SysLog("商品刪除操作")
@RequestMapping("/deleteOne")
public Result deleteOne(int id) {
boolean bool = goodsService.removeById(id);
if (bool) {
return Result.success(true, "200", "刪除成功!");
}
return Result.error(false, null, "刪除失敗!");
}
/**
* 根據(jù)id查詢當(dāng)前商品擁有的類別
*
* @param id
* @return
*/
@RequestMapping("/initGoodsByCategoryId")
public DataGridViewResult initGoodsByCategoryId(int id) {
List<Map<String, Object>> mapList = null;
try {
//查詢所有類別列表
mapList = categoryService.listMaps();
//根據(jù)商品id查詢商品擁有的類別
Set<Integer> cateIdList = categoryService.findGoodsByCategoryId(id);
for (Map<String, Object> map : mapList) {
//定義標(biāo)記 默認不選中
boolean flag = false;
int cateId = (int) map.get("cateid");
for (Integer cid : cateIdList) {
if (cid == cateId) {
flag = true;
break;
}
}
map.put("LAY_CHECKED", flag);
}
} catch (Exception e) {
e.printStackTrace();
}
return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);
}
/**
* 根據(jù)商品id加載商品信息
* @param goodsid
* @return
*/
@GetMapping("/loadGoodsById")
public DataGridViewResult loadGoodsById(int goodsid) {
QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
goodsQueryWrapper.eq(goodsid != 0, "gid", goodsid);
Goods goods = goodsService.getById(goodsid);
return new DataGridViewResult(goods);
}
/**
* 為商品分配類別
*
* @param categoryids
* @param goodsid
* @return
*/
@SysLog("類別添加操作")
@RequestMapping("/saveGoodsCategory")
public Result saveGoodsCategory(String categoryids, int goodsid) {
try {
if (goodsService.saveGoodsCategory(goodsid, categoryids)) {
return Result.success(true, null, "分配成功");
}
} catch (Exception e) {
e.printStackTrace();
}
return Result.error(false, null, "分配失敗");
}
/**
* 加載下拉框
*
* @return
*/
@RequestMapping("/loadAllGoods")
public DataGridViewResult loadAllGoods() {
QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
List<Goods> list = goodsService.list(queryWrapper);
return new DataGridViewResult(list);
}
/**
* 根據(jù)供應(yīng)商查商品下拉框
*
* @param providerid
* @return
*/
@RequestMapping("/loadGoodsByProvidreId")
public DataGridViewResult loadGoodsByProvidreId(Integer providerid) {
QueryWrapper<Goods> goodsQueryWrapper = new QueryWrapper<>();
goodsQueryWrapper.eq(providerid != null, "providerid", providerid);
List<Goods> list = goodsService.list(goodsQueryWrapper);
for (Goods goods : list) {
Provider provider = providerService.getById(goods.getProviderid());
if (null != provider) {
goods.setProvidername(provider.getProvidername());
}
}
return new DataGridViewResult(list);
}
}以上就是Java實戰(zhàn)之超市收銀管理系統(tǒng)的實現(xiàn)的詳細內(nèi)容,更多關(guān)于Java收銀系統(tǒng)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java根據(jù)模板導(dǎo)出Excel報表并復(fù)制模板生成多個Sheet頁
本文主要介紹了Java根據(jù)模板導(dǎo)出Excel報表并復(fù)制模板生成多個Sheet頁的方法,具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03
一篇文章告訴你JAVA Mybatis框架的核心原理到底有多重要
yBatis的底層操作封裝了JDBC的API,MyBatis的工作原理以及核心流程與JDBC的使用步驟一脈相承,MyBatis的核心對象(SqlSession,Executor)與JDBC的核心對象(Connection,Statement)相互對應(yīng)2021-06-06
Spring Boot整合Spring Data JPA過程解析
這篇文章主要介紹了Spring Boot整合Spring Data JPA過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
Java System.getProperty()-獲取系統(tǒng)參數(shù)案例詳解
這篇文章主要介紹了Java System.getProperty()-獲取系統(tǒng)參數(shù)案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08

