进销存管理系统【源码开放】

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)throws ServiceException;

public List findAllPurchaseOrder()throws ServiceException;

public List findPurchaseOrderByPage(int currentPage)throws ServiceException;

public Long findPurchaseOrderCount()throws ServiceException;

public Long getTotalPage()throws ServiceException;

public PurchaseOrder delOrderByPurchaseId(Long orderId)throws ServiceException;

public List delPurchaseItemByPurchaseId(Long orderId)throws ServiceException;

public List 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)throws ServiceException;

public Employee updateEmplyeeByName(Employee employee)throws ServiceException;

public Managers updateManagersByName(Managers managers)throws ServiceException;

public Long findMessageCount()throws ServiceException;

public List findAllMessage()throws ServiceException;

public Message findMessageById(Long id)throws ServiceException;

public int updateEmployeeById(Long id)throws ServiceException;

public List 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{

@Resource

private ManagerRepository managerRepository;

@Resource

private PurchaseRepository purchaseRepository;

@Resource

private PurchaseItemRepository purchaseItemRepository;

@Resource

private EmployeeRepository employeeRepository;

@Resource

private StockRepository stockRepository;

@Resource

private GoodsRepository goodsRepository;

@Resource

private MessageRepository messageReository;

@Override

public int register(Managers manager) throws ServiceException {

managerRepository.save(manager);

return 0;

}

@Override

public 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;

}

}

@Override

public int addPurchaseOrder(PurchaseOrder purchase, List 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;

}

@Override

public List findAllPurchaseOrder() {

List list = purchaseRepository.findAll();

return list;

}

@Override

public Long findPurchaseOrderCount() {

return purchaseRepository.count();

}

@Override

public List findPurchaseOrderByPage(int pageNum) {

Pageable pageable = new PageRequest(pageNum, 10);

Page page =purchaseRepository.findAll(pageable);

List list = new ArrayList();
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。

上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料

有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />

总结

虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。

[外链图片转存中…(img-DR4xGXlh-1712519333307)]

[外链图片转存中…(img-Frli8wTq-1712519333307)]

上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料

有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值