Source code download address : https://download.csdn.net/download/sheziqiong/87791260
Source code download address : https://download.csdn.net/download/sheziqiong/87791260
Sales Management System
Foreword :
Comprehensively use the relevant concepts and principles of the previous chapters to design and develop an enterprise information management system. Through project exercises, it is helpful to understand and understand Spring, MyBatis, and Spring MVC technologies, and improve project development practice capabilities. The main content is requirement analysis, planning, framework design, coding, deployment, release, etc. for the project.
Based on Java EE technology, a sales management system is developed using MVC pattern.
functional requirements
A company sales management system
The company's sales management system mainly realizes the signing and fulfillment of sales contracts between management and customers, and the statistics of related sales data.
After the company and the customer sign the sales contract, the sales administrator will generate an invoice according to the customer's paid purchase list and the inventory of the goods each time (for simplicity, one invoice corresponds to the delivery of one commodity), It is used by the warehouse manager to deliver goods to customers. After delivery, the warehouse manager needs to confirm the invoice and record the relevant logistics information. A contract is fulfilled when all the goods covered by the contract have been shipped. If the inventory of the product is insufficient or the inventory is 0 after delivery, a purchase order will be generated for the warehouse manager to purchase. After the warehouse manager purchases goods, he needs to record the purchase information and modify the inventory of the corresponding goods.
CRUD
In addition to the above functions, the sales administrator can manage the basic information of the contract, including the entry, modification and query of the contract. The basic information of a contract can be modified before the performance, but cannot be modified during the performance; it can manage customer information, including customer information Add, modify and query; can manage salesperson information, including adding, modifying and querying. Warehouse administrators can manage the basic information of inventory products, including adding new products, modifying product information, removing products from shelves and querying.
Query statistics (optional)
The sales administrator can perform multi-condition query and related query on the contract (that is, find out the customer and salesperson information at the same time when querying the contract); Personnel can perform multi-condition query and related query (contract query at the same time); warehouse administrators can perform multi-condition query on inventory products; sales administrators can complete sales statistics by customer, salesperson, and product category.
practice requirements
According to the above-mentioned user needs, conduct a demand analysis and draw a use case diagram. According to the result of requirements analysis, the class diagram of the entity class of the system is given.
Grouping and time requirements
- Grouping requirements: 1 person/group.
- Timing: Week 11 - Week 16.
specifications
Spring, SpringMVC, MyBatis framework, MySQL database
Requirements Analysis and Design
use case diagram
picture
Database ER Diagram
Entity Class Diagram
structure
System Manual
Log in
Warehouse Manager Home
Generate invoice
Generate purchase order
Ship
purchase
sales statistics
Salesperson Statistics
customer statistics
fuzzy query
problems encountered
error: There is a bug in the associated query, and the constructor cannot be found. (The resultMap has been set, but the constructor cannot be found.)
mybaits creates entity classes according to the setget method
I wrote the construction method in my contract class, which seems to cause maybaits to find the constructor instead of using getset instead of the getset method, causing an error
bug: Failed to return the auto-increment primary key
The insertion function should not pass in parameters directly, but pass in an object
The returned primary key is also assigned to this object
The keypropert field returned by mybaits is set to contactid
Then look for the setContactId method, and report an error if it cannot find it. At this time, the object is generally passed in and set as the object id.
Source code download address : https://download.csdn.net/download/sheziqiong/87791260
Source code download address : https://download.csdn.net/download/sheziqiong/87791260