进销存管理系统的功能需求:

1,实现采购订单的持久化,对采购商品入库处理,还有就是采购的退货处理;

2,实现商品的入库、出库操作,查询商品的库存信息,修改商品的仓库号

3,实现销售订单的添加,销售发货处理,并且销售的退货处理

4,实现新建员工培训信息和查询员工培训记录功能

5,实现对商品、供应商、客户资料的管理,对员工用户的管理,最重要的是对系统数据的备份和恢复

代码的截图如下所示:

系统的截图如下所示:

bean层manage的代码如下所示:

package com.xu.bean;import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;import org.springframework.stereotype.Component;/*** * @author 公众号:springmeng*管理员*id:管理员编号*name:管理员名字*password:登录密码*gender:性别*age:年龄*phone number:手机号码*deptId:部门id*/
@Entity
@Table(name = "managers")
@Component
public class Managers {@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="managers_id")private Long id;@Column(name="managers_name")private String name;@Column(name="managers_password")private String password;@Column(name="managers_gender")private String gender;@Column(name="managers_age")private Long age;@Column(name="managers_phonenumber")private String phonenumber;/*@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY,optional=false,targetEntity=Dept.class)@JoinColumn(name="dept_name")private String deptName;*/public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getPhonenumber() {return phonenumber;}public void setPhonenumber(String phonenumber) {this.phonenumber = phonenumber;}public Long getAge() {return age;}public void setAge(Long age) {this.age = age;}/*public String getDeptName() {return deptName;}public void setDeptName(String deptName) {this.deptName = deptName;}*/}

dao层MessageRepository的代码如下所示:

package com.xu.dao;import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;import com.xu.bean.Message;public interface MessageRepository extends JpaRepository<Message, Long>{@Query("select count(id) from Message where flag = '未查看'")public Long findConts();@Transactional@Modifying(clearAutomatically = true)@Query(value ="update message set flag='已查看' where id=?1",nativeQuery=true)public void updateMessageById(Long id);}

Mananger的代码如下所示:

package com.xu.service;import java.util.List;import com.xu.bean.Employee;
import com.xu.bean.Managers;
import com.xu.bean.Message;
import com.xu.bean.PurchaseItem;
import com.xu.bean.PurchaseOrder;
import com.xu.exception.ServiceException;public interface ManagerService {public int register(Managers manager)throws ServiceException;public Managers login(String name,String password)throws ServiceException;public int addPurchaseOrder(PurchaseOrder purchase,List<PurchaseItem> purchaseItem)throws ServiceException;public List<PurchaseOrder> findAllPurchaseOrder()throws ServiceException;public List<PurchaseOrder> findPurchaseOrderByPage(int currentPage)throws ServiceException;public Long findPurchaseOrderCount()throws ServiceException;public Long getTotalPage()throws ServiceException;public PurchaseOrder delOrderByPurchaseId(Long orderId)throws ServiceException;public List<PurchaseItem> delPurchaseItemByPurchaseId(Long orderId)throws ServiceException;public List<PurchaseItem> findPurchaseItemByPurchaseOrderId(Long orderId)throws ServiceException;public String findFlagByOrderId(Long orderId)throws ServiceException;public int updateFlagByOrderId(String string, Long orderId)throws ServiceException;public Employee employeelogin(String name, String password)throws ServiceException;public int employeeregister(Employee employee)throws ServiceException;public int  updateStockByReturnPurchaseItem(List<PurchaseItem> purchaseItem)throws ServiceException;public Employee updateEmplyeeByName(Employee employee)throws ServiceException;public Managers updateManagersByName(Managers managers)throws ServiceException;public Long findMessageCount()throws ServiceException;public List<Message> findAllMessage()throws ServiceException;public Message findMessageById(Long id)throws ServiceException;public int updateEmployeeById(Long id)throws ServiceException;public List<Message> findMessageByPage(int i)throws ServiceException;public Long getMessageTotalPage()throws ServiceException;public Long findMessageCounts()throws ServiceException;
}

Manager的serviceimp实现:

package com.xu.service.imp;import java.util.ArrayList;import java.util.List;import javax.annotation.Resource;import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;import com.xu.bean.Employee;
import com.xu.bean.Managers;
import com.xu.bean.Message;
import com.xu.bean.PurchaseItem;
import com.xu.bean.PurchaseOrder;import com.xu.dao.EmployeeRepository;
import com.xu.dao.GoodsRepository;
import com.xu.dao.ManagerRepository;
import com.xu.dao.MessageRepository;
import com.xu.dao.PurchaseItemRepository;
import com.xu.dao.PurchaseRepository;
import com.xu.dao.StockRepository;
import com.xu.exception.ServiceException;
import com.xu.service.ManagerService;
import com.xu.util.EncoderByMd5;@Service
public class ManagerServiceImp implements ManagerService{@Resourceprivate ManagerRepository managerRepository;@Resourceprivate PurchaseRepository purchaseRepository;@Resourceprivate PurchaseItemRepository purchaseItemRepository;@Resourceprivate EmployeeRepository employeeRepository;@Resourceprivate StockRepository stockRepository;@Resourceprivate GoodsRepository goodsRepository;@Resourceprivate MessageRepository messageReository;@Overridepublic int register(Managers manager) throws ServiceException {managerRepository.save(manager);return 0;}@Overridepublic Managers login(String name, String password) throws ServiceException {Managers man = managerRepository.findManagersByName(name);if(man!=null){String md5 = EncoderByMd5.Md5(password);if(md5.equals(man.getPassword())){return man;}else{return null;}}else{return null;}}@Overridepublic int addPurchaseOrder(PurchaseOrder purchase, List<PurchaseItem> purchaseItem) throws ServiceException {Double total =0D;for(PurchaseItem item:purchaseItem){Double price = item.getPrice();Long count = item.getCount();Double i = price * count;total += i;}purchase.setSuppliersId(purchaseItem.get(0).getSupplierId());purchase.setTotal(total);PurchaseOrder order = purchaseRepository.save(purchase);      for(PurchaseItem item:purchaseItem){item.setPurchaseOrderId(order.getId());purchaseItemRepository.save(item);}return 1;}@Overridepublic List<PurchaseOrder> findAllPurchaseOrder() {List<PurchaseOrder> list = purchaseRepository.findAll();return list;}@Overridepublic Long findPurchaseOrderCount() {return purchaseRepository.count();}@Overridepublic List<PurchaseOrder> findPurchaseOrderByPage(int pageNum) { Pageable pageable = new PageRequest(pageNum, 10);Page<PurchaseOrder> page =purchaseRepository.findAll(pageable);List<PurchaseOrder> list = new ArrayList<PurchaseOrder>();for(PurchaseOrder p:page){list.add(p);}return list;}@Overridepublic Long getTotalPage(){long count = findPurchaseOrderCount();Long totalPage;if(count%10==0){totalPage = count/10;}else{totalPage = count/10 +1;}return totalPage;}@Overridepublic PurchaseOrder delOrderByPurchaseId(Long orderId) {PurchaseOrder purchaseOrder = purchaseRepository.findOne(orderId);purchaseRepository.delete(orderId);return purchaseOrder;}@Overridepublic List<PurchaseItem> delPurchaseItemByPurchaseId(Long orderId) throws ServiceException {List<PurchaseItem> purchaseItem = purchaseItemRepository.findPurchaseItemByPurchaseId(orderId);purchaseItemRepository.delete(orderId);return purchaseItem;}@Overridepublic List<PurchaseItem> findPurchaseItemByPurchaseOrderId(Long orderId) throws ServiceException {return purchaseItemRepository.findPurchaseItemByPurchaseId(orderId);}@Overridepublic String findFlagByOrderId(Long orderId) throws ServiceException {return purchaseRepository.findFlagByOrderId(orderId);}@Overridepublic int updateFlagByOrderId(String string, Long orderId) throws ServiceException {purchaseRepository.updateFlagByOrderId(string,orderId);return 1;}@Overridepublic Employee employeelogin(String name, String password) throws ServiceException {Employee man = employeeRepository.findEmployeeByName(name);if(man!=null){String md5 = EncoderByMd5.Md5(password);if(md5.equals(man.getPassword())){return man;}else{return null;}}else{return null;}}@Overridepublic int employeeregister(Employee employee) throws ServiceException {employeeRepository.save(employee);return 0;}@Overridepublic int updateStockByReturnPurchaseItem(List<PurchaseItem> purchaseItem) throws ServiceException {for(PurchaseItem pi:purchaseItem){Long goodsId = goodsRepository.findGoodsIdByGoodsName(pi.getName());Long count = stockRepository.findCountByGoodsId(goodsId);stockRepository.updateStockCountByGoodsId(count-pi.getCount(), goodsId);}return 0;}@Overridepublic Employee updateEmplyeeByName(Employee employee) throws ServiceException {employeeRepository.updateEmployeeByName(employee.getAge(),employee.getGender(),employee.getPhonenumber(),employee.getName());return employeeRepository.findEmployeeByName(employee.getName());}@Overridepublic Managers updateManagersByName(Managers managers) throws ServiceException {managerRepository.updateManagersByName(managers.getAge(),managers.getGender(),managers.getPhonenumber(),managers.getName());return managerRepository.findManagersByName(managers.getName());}@Overridepublic Long findMessageCount() throws ServiceException {return messageReository.findConts();}@Overridepublic List<Message> findAllMessage() throws ServiceException {return messageReository.findAll();}@Overridepublic Message findMessageById(Long id) throws ServiceException {return messageReository.findOne(id);}@Overridepublic int updateEmployeeById(Long id) throws ServiceException {messageReository.updateMessageById(id);return 1;}@Overridepublic List<Message> findMessageByPage(int i) throws ServiceException {Pageable pageable = new PageRequest(i, 10);Page<Message> page =messageReository.findAll(pageable);List<Message> list = new ArrayList<Message>();for(Message p:page){list.add(p);}return list;}@Overridepublic Long getMessageTotalPage() throws ServiceException {long count = findMessageCounts();Long totalPage;if(count%10==0){totalPage = count/10;}else{totalPage = count/10 +1;}return totalPage;}@Overridepublic Long findMessageCounts() throws ServiceException {return messageReository.count();}}

本系统的源码、文档、均开放,关注公众号:springmeng  回复:进销存全套

谢谢点赞,有问题可评论。

进销存管理系统【源码开放】相关推荐

  1. 基于Java毕业设计仓库进销存管理系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计仓库进销存管理系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计仓库进销存管理系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 ...

  2. asp建站系统源码_ASP.NET制造业进销存管理系统源码

    一款十分完整的进销存管理系统源码,采用了典型的三层架构技术, 该系统运用extjs+jquery+AjaxPro富客户端无刷新ajax技术,使用NPOI导出excel数据,使用OfficeActive ...

  3. java进销存系统源码_青云源码——最新企业进销存管理系统源码分享

    基于http://Asp.Net MVC4.0 + WebAPI + Knockout 技术,采用EasyUI为前台开发展示UI,Knockout主要负责前端的逻辑交互,再结合jQuery Ajax进 ...

  4. java计算机毕业设计珠宝首饰进销存管理系统源码+数据库+系统+lw文档

    java计算机毕业设计珠宝首饰进销存管理系统源码+数据库+系统+lw文档 java计算机毕业设计珠宝首饰进销存管理系统源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  5. 超市管理系统源码,超市进销存管理系统源码 (CS架构)

    超市管理系统源码 超市进销存管理系统源码 (CS架构) 源码类型:全开源免费分享,需要源码学习可私信. 一.系统概述 适用于中小型购物中心.综合百货商场.大型仓储超市.量贩店.批发中心等,系统涵盖前台 ...

  6. VS2015进销存管理系统源码,产品库存管理系统源码

    VS2015进销存管理系统源码 开发语言:C# 数据库:SQL2008 开发工具:VS2015 源码类型:全开源免费分享,需要源码用来学习可私信回复MF00412. 运行环境:.Net4.6+SqlS ...

  7. (免费分享)C#多店进销存管理系统源码 连锁店进销存ERP源码

    C#多店进销存管理系统源码 连锁店进销存ERP源码(免费分享) 开发语言 : C# 数据库 : SQL2008 开发工具 : VS2010 源码类型 : WebForm 源码功能简介 1.基础数据:商 ...

  8. Vue+SpringBoot进销存管理系统源码【源码免费分享】

    淘源码-国内专业的免费源码下载平台 Vue+SpringBoot进销存管理系统源码 源码免费分享,需要学习可私信我. 系统介绍: 这是一款面向中小企业的供销链管理系统,基于J2EE快速开发平台Jeec ...

  9. 进销存管理系统源码|ERP源码开发

    进销存管理系统源码:e.csymzs.top 进销存管理系统由应用程序和工具组成,可帮助您的业务的所有领域更有效地相互沟通.它们将企业的方方面面集成到一个综合信息系统中.例如,计划和调度部门的员工可以 ...

  10. 高端进销存管理系统源码+微信小程序,

    Java进销存系统源码带微信小程序 开发语言:JAVA 数据库:MySQL 开发工具:Eclipse 源码类型:全开源,免费分享 进销存系统,支持微信小程序端.电脑端.支持商品扫码.订单商品扫码等. ...

最新文章

  1. 移动端点击(click)事件延迟问题的产生与解决方法
  2. nyoj1311勤奋的涟漪
  3. 【MySQL】错误#1217:外键约束引起的错误
  4. java 打包jar文件以在没有安装JDK或JRE的机子上运行
  5. linux系统的安全机制有哪些内容,系统安全机制
  6. 谁说Python的shutil不支持7z解压缩,我来教你扩展它的功能!
  7. 【在线研讨】《敏捷开发用户故事分类与组织结构(三期-1)》
  8. Atitit 短信验证的漏洞 目录 1.1. APP读取短信 1 1.2. 手机上访问的业务来说,短信验证码就没那么独立了 1 1.3. 短信保管箱” 1 1.4. 自动把短信备份到云端的功能。 2
  9. 前大疆RoboMaster技术总监:机器人工程师学习计划
  10. linux中tomcat日志文件含义
  11. OPPO小布助手算法系统的探索、实践与思考
  12. 第08篇:Mybatis事务处理
  13. 王家林 构建spark集群
  14. 精密型工业级UHF超高频RFID读写器|读卡器JT7300的MODBUS协议说明
  15. 《无尽战神》隐私政策
  16. “蓝色巨人”转向,极氪会是吉利的一剂“良药”吗?
  17. Python(一)为什么要学习Python
  18. 移动100m宽带慢的要死_家里拉了100M的宽带,为什么网速还是那么慢?
  19. Python计算机视觉编程第十章——OpenCV基础知识
  20. ZJOI2020游记

热门文章

  1. 数据结构与算法学习笔记(python)——第一节 数组应用程序实战
  2. Java包装类的拆箱和装箱是怎么回事?
  3. Android最新最全面试题及答案分享
  4. 白嫖立创商城的封装(不丢丝印),亲测有效
  5. retain与remain、sustain与maintain区别
  6. 35款开源工具助力IOT
  7. 光子神经网络前沿—光子突触的STDP准则
  8. MyBatis中常见标签的使用
  9. tiny4412-arm嵌入式开发裸板驱动 (一):开发环境及工具搭建和介绍
  10. Ubuntu下命令行加速、终端加速、命令行代理的方法/proxychains安装与使用