精华内容
下载资源
问答
  • 图书销售管理系统数据库课程设计

    热门讨论 2014-08-25 18:42:39
    图书销售管理系统,是根据书店的实际需求而开发的,要求稳定、可靠的实现图书销售的自动化管理,通过本系统可以达到以下目标: a、用户管理:对系统所有用户的相关信息进行管理。 b、图书管理:对图书信息进行添加...
  • (3)销售信息管理模块主要实现定货单的录入和修改、销售单的录入和修改、有关销售信息的查询。 (4)在对销售信息查询的过程中,要求实现多种查询方式。可以按照客户、出货仓库和业务员进行分类查询。 (5)在销售...
  • 产品销售管理系统的总体要求是:企业生产多种产品,产品销售管理系统模拟产品销售过程中的管理,管理对象包括产品、客户、发票等,可以实现产品销售,并能进行各种查询、统计等的处理。 其中大致设计功能如下分为...
  • 轿车销售管理系统数据库课程设计,包含:1、需求分析;2、概念结构;3、逻辑结构;4、详细设计(包含存储过程、触发器)
  • 医药销售管理系统数据库课程设计包含需求分析(系统功能分析、数据流图、数据字典),数据库概念结构设计(E-R图),数据库实施与维护(建立数据库,触发器,存储过程,用户权限管理)。
  • 汽车销售管理系统(报告+源代码)

    热门讨论 2012-04-29 23:32:00
    汽车销售管理系统不但能使各业务环节协调一致,而且操作简单,账目清晰。通过账目查询,公司能在最短的时间内获得市场信息,从而制订相应的决策。因此,该系统主要根据实际需求,划分了售前管理、车辆管理、订货...
  • 景点门票 售管理系统 数据库管理系统 数据库课程设计
  • 本人2016年毕业设计,网上书店/图书销售管理系统,eclipse/mysql,代码以及数据库sql都在压缩包内,希望对大家有帮助。
  • 销售管理毕业论文文档销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统销售管理系统...
  • 汽车信息的管理
  • 图书销售管理系统Java源代码

    热门讨论 2013-06-06 11:40:23
    图书销售管理系统,内含源代码,项目需求分析,编写思路
  • 汽车销售管理系统--java

    热门讨论 2014-12-22 11:28:31
    汽车销售管理系统能实现基本信息的增删改查等管理
  • 本系统为基于JAVA的销售管理系统,其中包括源代码、数据库以及相关信息,希望对大家有所版主
  • 超市销售管理系统完美破解版

    热门讨论 2012-07-24 11:50:00
    超市管理系统是一款专业的超市管理软件,其中包含超市商品销售管理系统 ,超市库存管理系统(超市仓库管理系统),超市收银系统等子模块。软件界面设计简洁,美观,其人性化的软件流程,使普通用户不需培训也能很快...
  • vs2008的C#源码销售管理系统.rar

    热门讨论 2011-04-12 01:04:44
    vs2008的C#源码销售管理系统 销售管理系统 销售管理是销售公司的重要工作,利用计算机对进销存和客户信息进行管理可以有效地提高 工作效率,这对于现代销售公司是非常重要的。 本实例采用 Visual Studio 2008 作为...
  • 商品销售管理系统

    千次阅读 多人点赞 2019-11-22 13:18:26
    用JSP servlet和jquery以及SQLServer数据库实现商品销售管理系统。 功能详解: 1.查询商品 2.添加商品 3.删除商品 4.添加销售记录 5.查看销售记录 效果演示: 进入界面 商品显示页面 删除提示 销售记录查询 商品...

    用JSP servlet和jquery以及SQLServer数据库实现商品销售管理系统。

    功能详解:
    1.查询商品
    2.添加商品
    3.删除商品
    4.添加销售记录
    5.查看销售记录

    效果演示:

    进入界面
    在这里插入图片描述
    商品显示页面
    在这里插入图片描述
    删除提示
    在这里插入图片描述
    销售记录查询
    在这里插入图片描述

    商品销售系统需要SQLServer数据库和程序两大部分

    一:设计并实现数据库

    在这里插入图片描述

    二:程序设计

    在程序正式开始之前先看一下目录结构吧
    在这里插入图片描述
    ==特别注意:==引入sqljdbc4.jar和jquery-3.3.1.js架包

    程序演示

    bean包

    Product.java

    package com.hnpi.bean;
    
    public class Product {
    	private int ProductID;
    	private String ProductName;
    	private String IsUp;
    	private int UnitPrice;
    	private String Remark;
    	public int getProductID() {
    		return ProductID;
    	}
    	public void setProductID(int productID) {
    		ProductID = productID;
    	}
    	public String getProductName() {
    		return ProductName;
    	}
    	public void setProductName(String productName) {
    		ProductName = productName;
    	}
    	public String getIsUp() {
    		return IsUp;
    	}
    	public void setIsUp(String isUp) {
    		IsUp = isUp;
    	}
    	public int getUnitPrice() {
    		return UnitPrice;
    	}
    	public void setUnitPrice(int unitPrice) {
    		UnitPrice = unitPrice;
    	}
    	public String getRemark() {
    		return Remark;
    	}
    	public void setRemark(String remark) {
    		Remark = remark;
    	}
    	public Product() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public Product(int productID, String productName, String isUp,
    			int unitPrice, String remark) {
    		super();
    		ProductID = productID;
    		ProductName = productName;
    		IsUp = isUp;
    		UnitPrice = unitPrice;
    		Remark = remark;
    	}
    	
    	
    	
    	
    
    }
    
    

    Sale.java

    package com.hnpi.bean;
    
    import java.util.Date;
    
    public class Sale {
    	private int SaleID;
    	private String SalePerson;
    	private int Amount;
    	private Date SaleDate;
    	private int ProductID;
    	public int getSaleID() {
    		return SaleID;
    	}
    	public void setSaleID(int saleID) {
    		SaleID = saleID;
    	}
    	public String getSalePerson() {
    		return SalePerson;
    	}
    	public void setSalePerson(String salePerson) {
    		SalePerson = salePerson;
    	}
    	public int getAmount() {
    		return Amount;
    	}
    	public void setAmount(int amount) {
    		Amount = amount;
    	}
    	public Date getSaleDate() {
    		return SaleDate;
    	}
    	public void setSaleDate(Date saleDate) {
    		SaleDate = saleDate;
    	}
    	public int getProductID() {
    		return ProductID;
    	}
    	public void setProductID(int productID) {
    		ProductID = productID;
    	}
    	public Sale() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public Sale(int saleID, String salePerson, int amount, Date saleDate,
    			int productID) {
    		super();
    		SaleID = saleID;
    		SalePerson = salePerson;
    		Amount = amount;
    		SaleDate = saleDate;
    		ProductID = productID;
    	}
    	
    	
    	
    	
    
    }
    
    

    servlet包

    AddServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hnpi.bean.Product;
    import com.hnpi.util.DBUtil;
    
    public class AddServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String IsUp = request.getParameter("IsUp");
    		String UnitPrice = request.getParameter("UnitPrice");
    		String Remark = request.getParameter("Remark");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		String sql = "insert into Product(ProductName, IsUp, UnitPrice, Remark) values(?,?,?,?)";
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, ProductName);
    			ps.setString(2, IsUp);
    			ps.setInt(3, Integer.parseInt(UnitPrice));
    			ps.setString(4, Remark);
    			ps.executeUpdate();
    
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, null);
    		}
    		response.sendRedirect("list");
    	}
    
    }
    
    

    DeleteServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hnpi.util.DBUtil;
    
    public class DeleteServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String id = request.getParameter("id");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		String sql = "delete from Product where ProductID = ?";
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setInt(1, Integer.parseInt(id));
    			ps.executeUpdate();
    
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, null);
    		}
    		response.sendRedirect("list");
    	}
    
    }
    
    

    InsertServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.sql.Timestamp;
    import java.util.Currency;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.hnpi.util.DBUtil;
    
    public class InsertServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String Amount = request.getParameter("Amount");
    		String SalePerson = request.getParameter("SalePerson");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		String sql = "insert into Sale(SalePerson, Amount, SaleDate, ProductID) values(?,?,?,?)";
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, SalePerson);
    			ps.setInt(2, Integer.parseInt(Amount));
    			ps.setTimestamp(3, new Timestamp(System.currentTimeMillis()));
    			ps.setInt(4, 3);
    			ps.executeUpdate();
    
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, null);
    		}
    		response.sendRedirect("select");
    	}
    
    }
    
    

    ListChoseServlet

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.hnpi.bean.Product;
    import com.hnpi.util.DBUtil;
    
    public class ListChoseServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String Remark = request.getParameter("Remark");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String sql = "select * from Product where ProductName = ? and Remark = ?";
    		List<Product> products = new ArrayList<Product>();
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			ps.setString(1, ProductName);
    			ps.setString(1, Remark);
    			rs = ps.executeQuery();
    			
    			while(rs.next()){
    				Product product = new Product();
    				product.setProductID(rs.getInt(1));
    				product.setProductName(rs.getString(2));
    				product.setIsUp(rs.getString(3));
    				product.setUnitPrice(rs.getInt(4));
    				product.setRemark(rs.getString(5));
    				products.add(product);
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, rs);
    		}
    		HttpSession session = request.getSession();
    		session.setAttribute("productList", products);
    		response.sendRedirect("list.jsp");
    	}
    
    }
    
    

    ListServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.hnpi.bean.Product;
    import com.hnpi.util.DBUtil;
    import com.sun.net.httpserver.HttpsServer;
    
    public class ListServlet extends HttpServlet {
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		String ProductName = request.getParameter("ProductName");
    		String Remark = request.getParameter("Remark");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String sql = "select * from Product";
    		List<Product> products = new ArrayList<Product>();
    		
    		try {
    			ps = conn.prepareStatement(sql);
    
    			rs = ps.executeQuery();
    			
    			while(rs.next()){
    				Product product = new Product();
    				product.setProductID(rs.getInt(1));
    				product.setProductName(rs.getString(2));
    				product.setIsUp(rs.getString(3));
    				product.setUnitPrice(rs.getInt(4));
    				product.setRemark(rs.getString(5));
    				products.add(product);
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, rs);
    		}
    		HttpSession session = request.getSession();
    		session.setAttribute("productList", products);
    		response.sendRedirect("list.jsp");
    		
    	}
    
    }
    
    

    SelectServlet.java

    package com.hnpi.servlet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.hnpi.bean.Product;
    import com.hnpi.bean.Sale;
    import com.hnpi.util.DBUtil;
    
    public class SelectServlet extends HttpServlet {
    
    
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		doPost(request, response);
    	}
    
    
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
    
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		
    		Connection conn = DBUtil.getConn();
    		PreparedStatement ps = null;
    		ResultSet rs = null;
    		String sql = "select * from Sale";
    		List<Sale> sales = new ArrayList<Sale>();
    		
    		try {
    			ps = conn.prepareStatement(sql);
    			rs = ps.executeQuery();
    			
    			while(rs.next()){
    				Sale sale = new Sale();
    				sale.setSaleID(rs.getInt(1));
    				sale.setSalePerson(rs.getString(2));
    				sale.setAmount(rs.getInt(3));
    				sale.setSaleDate(rs.getDate(4));
    				sale.setProductID(rs.getInt(5));
    				sales.add(sale);
    			}
    			
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}finally{
    			DBUtil.closeConn(conn, ps, rs);
    		}
    		HttpSession session = request.getSession();
    		session.setAttribute("saleList", sales);
    		response.sendRedirect("select.jsp");
    	}
    
    }
    
    

    util包

    DBUtil.java

    package com.hnpi.util;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class DBUtil {
    	
    	public static Connection getConn(){
    		String url = "jdbc:sqlserver://localhost:1433;databaseName=Test";
    		String user = "sa";
    		String pwd = "1";
    		Connection conn = null;
    		
    		try {
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    			conn = DriverManager.getConnection(url, user, pwd);
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return conn;
    	}
    	
    	public static void closeConn(Connection conn, PreparedStatement ps, ResultSet rs){
    		if(conn!=null){
    			try {
    				conn.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		if(ps!=null){
    			try {
    				ps.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    		if(rs!=null){
    			try {
    				rs.close();
    			} catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    		}
    	}
    
    }
    
    

    WEB-INF包

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" 
    	xmlns="http://java.sun.com/xml/ns/javaee" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
      <display-name>Shop</display-name>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>AddServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.AddServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>DeleteServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.DeleteServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>InsertServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.InsertServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>ListChoseServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.ListChoseServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>ListServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.ListServlet</servlet-class>
      </servlet>
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>SelectServlet</servlet-name>
        <servlet-class>com.hnpi.servlet.SelectServlet</servlet-class>
      </servlet>
    
    
    
      <servlet-mapping>
        <servlet-name>AddServlet</servlet-name>
        <url-pattern>/add</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>DeleteServlet</servlet-name>
        <url-pattern>/del</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>InsertServlet</servlet-name>
        <url-pattern>/insert</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>ListChoseServlet</servlet-name>
        <url-pattern>/listes</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>ListServlet</servlet-name>
        <url-pattern>/list</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>SelectServlet</servlet-name>
        <url-pattern>/select</url-pattern>
      </servlet-mapping>	
      <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
    
    

    JSP页面

    index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
      </head>
      
      <body>
        <ul>
        	<li><a href="index.jsp">系统管理</a></li>
        	<li><a href="list">商品管理</a></li>
        </ul>
      </body>
    </html>
    
    

    list.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@page import="com.hnpi.bean.Product"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'list.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	<script src="jquery-3.3.1.js"></script>
      </head>
      
      <body>
        <form action="listes" method="post">
        商品名称:<input type="text" name="ProductName">
        商品备注:<input type="text" name="Remark">
        <input type="submit" value="查询">
        </form>
        
        <table>
        	<thead>
        		<tr>
        			<td>编号</td>
        			<td>商品名称</td>
        			<td>是否上架</td>
        			<td>单价</td>
        			<td>备注</td>
        			<td>操作</td>
        		</tr>
        	</thead>
        	<tbody>
        	<%
        		List<Product> products = (ArrayList)session.getAttribute("productList");
        		for(Product product : products){
        		%>
        		<tr>
        			<td><%=product.getProductID() %></td>
        			<td><%=product.getProductName() %></td>
        			<td><%=product.getIsUp() %></td>
        			<td><%=product.getUnitPrice() %></td>
        			<td><%=product.getRemark() %></td>
        			<td><a href="del?id=<%=product.getProductID() %>" class="delete">删除</a></td>
        		</tr>
        		<%
        		}
        	 %>
        	</tbody>
        </table>
        
        <form action="add" method="post">
        商品名称:<input type="text" name="ProductName"/>
        是否上架:<input type="radio" name="IsUp"/>是<input type="radio" name="IsUp"/>否
        单价:<input type="text" name="UnitPrice"/><br/>
        备注:<input type="text" name="Remark"/><br/>
        <input type="submit" value="添加商品" class="add"/>
        </form>
        <button><a href="select">查看销售记录</a></button>
      </body>
      <script>
      	$(function(){
      		$(".add").on("click",function(){
      		alert("添加成功!");
      		});
      		$(".delete").on("click",function(){
      		alert("你确定要删除吗?");
      		});
      	});
      </script>
    </html>
    
    

    select.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@page import="com.hnpi.bean.Sale"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'select.jsp' starting page</title>
        
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
    	<script src="jquery-3.3.1.js"></script>
      </head>
      
      <body>
        <form action="insert" method="post">
        商品名称:<input type="text" name="SalePerson"/><br/>
        销售数量:<input type="text" name="Amount"/>
        销售员:<input type="text" name="SalePerson"/>
        <input type="submit" value="添加销售" class="add"/>
        </form>
        <table>
        	<thead>
        		<tr>
        			<td>销售员</td>
        			<td>商品名称</td>
        			<td>单价</td>
        			<td>销售数量</td>
        			<td>销售日期</td>
        		</tr>
        	</thead>
        	<tbody>
        	<%
        		List<Sale> sales = (ArrayList)session.getAttribute("saleList");
        		for(Sale sale : sales){
        		%>
        		<tr>
        			<td><%=sale.getSaleID() %></td>
        			<td><%=sale.getSalePerson() %></td>
        			<td><%=sale.getProductID() %></td>
        			<td><%=sale.getAmount() %></td>
        			<td><%=sale.getSaleDate() %></td>
        		</tr>
        		<%
        		}
        		 %>
        	</tbody>
        </table>
      </body>
      <script>
      	$(function(){
      		$(".add").on("click",function(){
      		alert("添加成功");
      		})
      	});
      </script>
    </html>
    
    

    看到这里相信你已经知道此系统的程序原理了,赶快去试试吧.

    扫一扫关注我的公众号获取更多资讯呦!!!
    在这里插入图片描述

    展开全文
  • JAVAWeb汽车销售管理系统

    千次阅读 2020-05-13 22:21:45
    汽车销售管理系统完成企业对汽车各种销售信息的管理及维护操作,根据系统的功能和模块划分的原则,主要包括汽车厂家信息的管理,客户信息的管理,汽车信息的管理,采购入库的管理,汽车销售的管理,出入库统计管理等...

    汽车销售管理系统完成企业对汽车各种销售信息的管理及维护操作,根据系统的功能和模块划分的原则,主要包括汽车厂家信息的管理,客户信息的管理,汽车信息的管理,采购入库的管理,汽车销售的管理,出入库统计管理等。汽车销售系统的的功能结图如图3-1所示:

    代码已经上传github,下载地址:https://github.com/21503882/car-sale

    今天和一个朋友共同完成了一个汽车零件销售管理系统项目,我们在开发时选用的框架是框架。我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他。和往常一样选用简单又便捷的MYECLIPSE作为开发工具,这是一个 后台项目。这个系统的介绍是这样的:车配件销售管理最重要的部分是数据的管理、分析及网络推广(包括市场需求)。所以系统应该能够为用户提供精确数据和快速的分析功能,但一直以来人们使用传统人工的方式管理文件档案以及使用简单的、面向部分功能的管理软件,这些软件大都是单机管理、功能较小、效率低、保密性差、且重在内部管理,不能充分体现管理者的管理策略和管理理念。所以一套面向系统、功能全面、简单易用并充分利用Internet网络资源的管理系统必将对汽车配件销售业的销售和管理观念产生重大影响。客户自主地选择自己需要的部件、数量及付款方式向传统的管理软件提出了新的挑战。,一个汽车零件销售管理系统应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。
    在系统的功能中,订单是一个重要的表。这个表使得商品关联了起来。在订单表中订单的联系方式与商品的mingcheng字段对应
    ,他们拥有关联关系。

    总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、商品(shangpin)、订单(dingdan) 等等

    管理员表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 管理员id
    username | VARCHAR(255) | | 账号
    password | VARCHAR(255) | | 密码

     

    用户表

     

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 用户id
    xingming | VARCHAR(255) | | 姓名
    nianling | VARCHAR(255) | | 年龄
    xingbie | VARCHAR(255) | | 性别
    zhiye | VARCHAR(255) | | 职业
    quanxian | VARCHAR(255) | | 权限
    username | VARCHAR(255) | | 账号
    password | VARCHAR(255) | | 密码

    商品表

     

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 商品id
    mingcheng | VARCHAR(255) | | 名称
    zhonglei | VARCHAR(255) | | 种类
    leixing | VARCHAR(255) | | 类型
    jiage | VARCHAR(255) | | 价格
    shuliang | VARCHAR(255) | | 数量

     

     

    订单表

     

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 订单id
    xingming | VARCHAR(255) | | 姓名
    lianxifangshi | VARCHAR(255) | | 联系方式
    mingcheng | VARCHAR(255) | | 名称
    shuliang | VARCHAR(255) | | 数量
    zhonglei | VARCHAR(255) | | 种类
    leixing | VARCHAR(255) | | 类型
    jiage | VARCHAR(255) | | 价格
    shouhuodizhi | VARCHAR(255) | | 收货地址

     

    登录页面


    系统主页面

    汽车厂家管理模块

    新增客户管理页面


    客户信息管理模块

    新增汽车信息模块

    汽车信息管理模块页面

    汽车采购入库模块


    汽车销售出库模块(一)

    汽车销售出库模块(二)

    汽车库存管理模块

    汽车入库统计页面

    汽车出库统计页面

    package com.lyh.flowers.controller;

    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;
    import java.util.Random;

    import javax.annotation.Resource;
    import javax.imageio.ImageIO;
    import javax.servlet.ServletException;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import javax.validation.Valid;

    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.ui.ModelMap;
    import org.springframework.validation.BindingResult;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;

    import com.lyh.flowers.pojo.User;
    import com.lyh.flowers.service.IUserService;
    import com.lyh.flowers.util.Md5;
    import com.lyh.flowers.util.tools;
    import com.taobao.api.ApiException;
    import com.taobao.api.DefaultTaobaoClient;
    import com.taobao.api.TaobaoClient;
    import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest;
    import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;

    @Controller
    @RequestMapping("/user")
    public class UserController {
     @Resource
     private IUserService userService;

     /*
      * 随机生成颜色
      */
     Color getRandColor(int fc, int bc) {
      Random random = new Random();
      if (fc > 255)
       fc = 255;
      if (bc > 255)
       bc = 255;
      int r = fc + random.nextInt(bc - fc);
      int g = fc + random.nextInt(bc - fc);
      int b = fc + random.nextInt(bc - fc);

      return new Color(r, g, b);

     }

     /**
      * 产生验证码
      */
     @RequestMapping(value = "/getVerifyCode")
     public void getVerifyCode(HttpServletRequest request,
       HttpServletResponse response, Model model, HttpSession httpSession)
       throws IOException {
      int width = 100;
      int height = 50;
      Random random = new Random();

      response.setHeader("Pragma", "No-cache");
      response.setHeader("Cache-Control", "no-cache");
      response.setDateHeader("Expires", 0);

      // 生成缓冲区imag类
      BufferedImage image = new BufferedImage(width, height, 1);
      Graphics g = image.getGraphics(); // 产生imag类的Graphics用于绘制操作

      g.setColor(this.getRandColor(200, 250));
      g.setFont(new Font("Times New Roman", 0, 28));
      g.fillRect(0, 0, width, height);
      // 绘制干扰线
      for (int i = 0; i < 40; i++) {
       g.setColor(this.getRandColor(130, 200));
       int x = random.nextInt(width);
       int y = random.nextInt(height);
       int x1 = random.nextInt(12);
       int y1 = random.nextInt(12);
       g.drawLine(x, y, x + x1, y + y1);
      }
      // 绘制字符
      String strCode = "";
      for (int i = 0; i < 4; i++) {
       String rand = String.valueOf(random.nextInt(10));
       strCode = strCode + rand;
       g.setColor(new Color(20 + random.nextInt(110), 20 + random
         .nextInt(110), 20 + random.nextInt(110)));
       g.drawString(rand, 13 * i + 6, 28);
      }
      // model.addAttribute("verifyCode", strCode);
      httpSession.setAttribute("strCode", strCode);
      g.dispose();
      ImageIO.write(image, "JPEG", response.getOutputStream());
      response.getOutputStream().flush();
     }

     @RequestMapping(value = "/login", method = { RequestMethod.GET })
     public String login(HttpServletRequest request, Model model) {
      return "user/login";
     }

     @RequestMapping(value = "/login", method = { RequestMethod.POST })
     public String dologin(HttpServletRequest request,
       HttpServletResponse response, Model model, HttpSession httpSession)
       throws UnsupportedEncodingException {
      String loginname = request.getParameter("loginname");
      String loginpass = request.getParameter("loginpass");

      User loginUser = userService.loginCheck(loginname, loginpass);

      if (loginUser == null) {
       model.addAttribute("loginname", loginname);
       model.addAttribute("loginpass", loginpass);
       model.addAttribute("msg", "用户名或密码错误");
       return "user/login";
      } else {
       if (0 == loginUser.getStatus()) {
        model.addAttribute("loginname", loginname);
        model.addAttribute("loginpass", loginpass);
        model.addAttribute("msg", "您还没有激活");
        return "user/login";
       } else {
        httpSession.setAttribute("sessionUser", loginUser);
        httpSession.setAttribute("userName", loginUser.getLoginname());
        loginname = URLEncoder.encode(loginname, "utf-8");
        Cookie cookie = new Cookie("loginname", loginname);
        cookie.setMaxAge(60 * 60 * 24 * 10);// 保存10天
        response.addCookie(cookie);
        return "redirect:/index.jsp";
       }
      }
     }

     @RequestMapping(value = "/registCheck", method = { RequestMethod.POST })
     @ResponseBody
     public String registCheck(HttpServletResponse response,
       HttpServletRequest request, Model model, HttpSession httpSession) {
      User user = null;
      String email = request.getParameter("email");
      String loginname = request.getParameter("loginname");

      if (email != null) {
       user = userService.findByEmail(email);
       if (user != null) {
        return "已存";
       } else {
        return "未存";
       }
      }

      if (loginname != null) {
       user = userService.findByUserName(loginname);
       if (user != null) {
        return "已存";
       } else {
        return "未存";
       }
      }
      return "未存";
     }

     @RequestMapping(value = "/vCodeCheck", method = { RequestMethod.POST })
     @ResponseBody
     public String vCodeCheck(HttpServletResponse response,
       HttpServletRequest request, Model model, HttpSession httpSession) {
      String vCodeInput = request.getParameter("verifyCode");
      String vCodeSession = (String) httpSession.getAttribute("strCode");

      if (vCodeInput != null) { // 校验验证码
       boolean b = vCodeInput.equals(vCodeSession);
       if (b) {
        return "正确";
       } else {
        return "错误";
       }
      }
      return "正确";
     }

     @RequestMapping("/regist")
     public String regist(HttpServletRequest request, ModelMap model) {
      User user = new User();
      model.addAttribute("user", user);
      return "user/regist";
     }

     @RequestMapping(value = { "/regist" }, method = RequestMethod.POST)
     public String doregist(@Valid User user, BindingResult result,
       ModelMap model) {
      userService.insert(user);
      
    //  model.addAttribute("code", "success");
    //  model.addAttribute("msg", "恭喜您注册成功,请马上到邮箱激活,或点击下方使用电话号码激活");
    //  return "user/phoneValtion";
      return "mainFrame/msg";
     }

     /**
      * 激活功能
      */
     @RequestMapping("/activation/{activationCode}")
     public String activation(@PathVariable String activationCode,
       HttpServletRequest requset, ModelMap model)
       throws ServletException, IOException {

      // System.out.println("activationCode:"+activationCode);
      boolean b = userService.activation(activationCode);
      if (b) {
       requset.setAttribute("code", "success");// 通知msg.jsp显示对号
       requset.setAttribute("msg", "恭喜,激活成功,请马上登录!");

      } else {
       requset.setAttribute("code", "error");// 通知msg.jsp显示对号
       requset.setAttribute("msg", "激活失败!");
      }
      return "mainFrame/msg";
     }

     @RequestMapping(value = "/changePwd", method = { RequestMethod.POST })
     public String dochangePwd(HttpServletRequest request, Model model) {
      String loginpass = request.getParameter("loginpass");
      String newpass = request.getParameter("newpass");
      String reloginpass = request.getParameter("reloginpass");

      User user = (User) request.getSession().getAttribute("sessionUser");

      if (user == null) {
       model.addAttribute("msg", "您还没有登录");
       return "user/login";
      }
      boolean bool = userService.findByUidAndPassword(user.getUid(),
        loginpass);
      if (bool) {
       userService.updatePassWord(user.getUid(), newpass);
       model.addAttribute("msg", "密码修改成功");
       model.addAttribute("code", "success");
       return "mainFrame/msg";
      } else {
       model.addAttribute("msg", "您输入的密码不正确");
       model.addAttribute("loginpass", loginpass);
       model.addAttribute("newpass", newpass);
       model.addAttribute("reloginpass", reloginpass);
       return "user/changePwd";
      }
     }

     @RequestMapping(value = "/changePwd", method = { RequestMethod.GET })
     public String changePwd(HttpServletRequest request, Model model) {
      return "user/changePwd";
     }

     @RequestMapping("/quit")
     public String quit(HttpServletRequest request, Model model) {
      request.getSession().invalidate();
      return "redirect:/index.jsp";
     }

     @RequestMapping(value = "/emailSendCode", method = { RequestMethod.POST })
     @ResponseBody
     public void emailSendCode(HttpServletResponse response,
       HttpServletRequest request, Model model, HttpSession httpSession) {
      String email = request.getParameter("email");

      userService.emailSendCode(email);

     }

     @RequestMapping("/forgotPassword")
     public String forgetPassword(HttpServletRequest request, Model model) {
      return "user/forgetPwd";
     }

     @RequestMapping(value = "/forgotPassword", method = { RequestMethod.POST })
     public String doforgetPassword(HttpServletRequest request, Model model) {
      User user = null;
      String loginname = request.getParameter("loginname");
      user = userService.findByUserName(loginname);
      if (null == user) {
       model.addAttribute("errorMsg", "该用户不存在!");
       return "user/forgetPwd";
      }
      model.addAttribute("email", user.getEmail());
      return "user/forgetPwd2";
     }
     
     @RequestMapping("/forgotPassword3")
     public String forgetPassword3(HttpServletRequest request, Model model) {
      String sid = request.getParameter("sid");
      String uid = request.getParameter("uid");
      System.out.println("sid:" + sid + " uname:" + uid);
      if (sid.equals("") || uid.equals("")) {
       model.addAttribute("msg", "链接不完整,请重新生成");
       model.addAttribute("code", "error");
       return "mainFrame/msg";
      }
      User user = userService.findByUid(uid);

      if (user != null) {
       // 获取当前用户申请找回密码的过期时间
       // 找回密码链接已经过期
       if ((user.getOutDate().getTime()) < (System.currentTimeMillis())) {
        System.out.println("链接已经过期");
        model.addAttribute("msg", "链接已经过期,请重新生成");
        model.addAttribute("code", "error");
        return "mainFrame/msg";
       }
       // 获取当前登陆人的加密码
       String key = user.getUid() + "$" + user.getOutDate() + "$"
         + user.getValidataCode();
       String digitalSignature = Md5.md5(key);// 数字签名
    //   System.out.println("digitalSignature:" + digitalSignature);
       if (!digitalSignature.equals(sid)) {
        System.out.println("链接加密密码不正确");
        model.addAttribute("msg", "链接加密密码不正确");
        model.addAttribute("code", "error");
        return "mainFrame/msg";
       } else {
        // 验证成功,跳入到修改密码界面
        model.addAttribute("uid", uid);
        return "user/forgetPwd3";
       }

      } else {
       model.addAttribute("msg", "用户信息不存在");
       model.addAttribute("code", "error");
       return "mainFrame/msg";
      }
     }

     @RequestMapping(value = "/codeCheck", method = { RequestMethod.POST })
     public String verifyCodeCheck(HttpServletRequest request,HttpSession httpSession, Model model) {
      String codeSession = (String) httpSession.getAttribute("vcode");
      String verifyCode=request.getParameter("verifyCode");
    //  System.out.println("codeSession:"+codeSession+"verifyCode:"+verifyCode);
      
      if(codeSession.equals(verifyCode)){
       return "user/forgetPwd3";
      }
      else{
       model.addAttribute("errorMsg", "输入的验证码有误");
       model.addAttribute("verifyCode", verifyCode);
       return "user/forgetPwd2";
      }
      
     }
     
     @RequestMapping(value = "/forgotPassword4", method = { RequestMethod.POST })
     public String forgetPassword4(HttpServletRequest request, Model model) {
      String newpass = request.getParameter("loginpass");
      String reloginpass = request.getParameter("reloginpass");
      System.out.println("newpass:" + newpass + "repass" + reloginpass);
      String uid = request.getParameter("uid");
      if (!newpass.equals(reloginpass)) {
       model.addAttribute("msg", "两次输入的密码不一致");
       model.addAttribute("newpass", newpass);
       model.addAttribute("reloginpass", reloginpass);
       return "user/forgetPwd3";
      }
      boolean bool = userService.updatePassWord(uid, newpass);
    //  System.out.println("uid:" + uid + "bool:" + bool);
      if (bool) {
       return "user/forgetPwd4";
      } else {
       model.addAttribute("msg", "修改密码不成功");
       model.addAttribute("code", "error");
       return "mainFrame/msg";
      }
     }
     
     /**
      * 获取短信验证码
      */
      @RequestMapping(value ="/getVcode",method = RequestMethod.POST)
      @ResponseBody
      public String getVcode(HttpServletRequest request, HttpSession session) throws ApiException {
       
       String phone = request.getParameter("phone");
       String url = "http://gw.api.taobao.com/router/rest";
       TaobaoClient client = new DefaultTaobaoClient(url,"23762833",
         "0e956ca18685b8a177764a5dc7627835");
       
        AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
        req.setExtend("1");
       
        req.setSmsType("normal");
       
        req.setSmsFreeSignName("玫瑰之约网上商城");
        //生成验证码数字
        String vcode = tools.getVcode();
        //存到session域中
        session.setAttribute("vcode",vcode);
    //    System.out.println("验证码:"+vcode);
        req.setSmsParamString("{number:'"+vcode+"'}");
       
        req.setRecNum(phone);
        req.setSmsTemplateCode("SMS_62750038");
        AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
        System.out.println(rsp.getBody());
        return "ok";
      }
     
      @RequestMapping(value = "/phoneValtion", method = { RequestMethod.GET })
     public String phoneValtion(HttpServletRequest request, Model model) {
      return "user/phonevaltion";
     }
    }
    代码已经上传github,下载地址:https://github.com/21503882/car-sale

    展开全文
  • C语言版-商品销售管理系统

    万次阅读 多人点赞 2018-11-05 10:54:34
    商品销售管理系统(C语言) (实训度假,学校停电中呜呜呜呜~~,,,) 源代码和注释如下: #include&amp;lt;stdio.h&amp;gt; //头文件 #include&amp;lt;string.h&amp;gt; //头文件 #include&...

    商品销售管理系统(C语言)

    (实训度假,学校停电中呜呜呜呜~~,,,)
    源代码和注释如下:

    #include<stdio.h>  //头文件
    #include<string.h> //头文件
    #include<stdlib.h> //头文件
    #define M 100      //货物种类
    #define N 100      //顾客数目
    struct goods       //单个货物信息格式
    {
        int  number;   //产品编号
        char name[20]; //产品名称
        int  price1;   //进价(或利润)
        int  price2;   //售价
        int  amount;   //数量
    };
    struct orderlist           //订单格式
    {
        struct goods L[M];
    };
    struct customer            //客户信息内容和格式
    {
        char name[20];         //姓名
        char password[6];      //服务密码
        int count;             //订单号
    };
    struct customer khl[N];    //所有客户信息
    struct goods base[M];      //库存信息
    struct orderlist odl[10*N];//订单表
    struct goods lackl[M];     //缺货表
    struct goods suml[M+1];    //销售报表
    int PP=0;                  //订单编号
    int QQ=0;                   //客户编号
    int goodssum=0;              //货物总数
    
    //主函数
    int main()                    //主函数开始!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    {
        int SysUseWay();        //系统使用说明函数声明
        int chushihua();       //系统初始化函数声明
        int welcome();        //欢迎界面函数声明
        int kh();            //客户函数声明
        int buyer();        //采购部函数声明
        int manager();     //公司经理函数声明
        int goodbye();    //欢送函数声明
        int n,m=9;       //变量声明
        //SysUseWay();    //系统使用说明书
        chushihua();   //系统初始化
        while(m==9)   //循环三岔口
        {
        welcome();  //欢迎界面
        scanf("%d",&n);
        switch(n) //各奔东西
        {
        case 0 : ;break;
        case 1 : kh(); break;       //客户之家
        case 2 : buyer(); break;    //采购之家
        case 3 : manager(); break;  //经理之家
        default : printf("输入错误!请退出重从新输入");
        }
        if(n==0)
            break;
        printf("              继续进入主界面请按 9  退出请按0\n");
        scanf("%d",&m);
        }
        goodbye();                  //欢送界面
        return 0;
    }                               //主函数结束!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    
    //欢迎界面函数定义
    int welcome()
    {
    
        printf("................................................................................\n");
        printf("\n");
        printf("                      ~~~~~~~~欢迎使用商品销售系统~~~~~~~~\n");
        printf("                              公司客户请按       1\n");
        printf("                              采购人员请按       2\n");
        printf("                              公司经理请按       3\n");
        printf("                              退出主界面请按     0\n");
        return 0;
    }
    
    //初始化函数
    int chushihua()
    {
        int i=0,j=0;
        for(i=0;i<M;i++)
        {
         suml[i].number=lackl[i].number=base[i].number=-1;
         base[i].amount=0;
         base[i].price1=base[i].price2=0;
         lackl[i].amount=0;
         suml[i].price1=0;
         suml[i].amount=0;
        }
        suml[M].price1=0;
        for(i=0;i<N;i++)
        khl[i].count=-1;
        for(i=0;i<10*N;i++)
        {
            for(j=0;j<M;j++)
            {
            odl[i].L[j].number=j;
            odl[i].L[j].amount=0;
            odl[i].L[j].price1=base[j].price1;
            odl[i].L[j].price2=base[j].price2;
            }
        }
    
        return 0;
    }
    
    //欢送界面函数定义
    int goodbye()
    {
        printf("                 ~~~~感谢您使用商品销售系统~~~~\n");
        return 0;
    }
    //采购函数
    int buyer()
    {
        int welcomebuyer();     //欢迎函数
        int buildbaser();       //仓库建设
        int solvelack();        //查询缺货情况
        int chackbase();        //查询仓库情况
        int n;
        int m=9;
        while(m==9)             //循环三岔口
        {
        welcomebuyer();             //欢迎欢迎
        scanf("%d",&n);             //各奔东西
        switch(n)
        {
        case 0 : ;break;            //退出
        case 1: solvelack();break;  //查缺货
        case 2: buildbaser();break; //建设仓库
        case 3: chackbase();break;  //检查仓库
        default :printf("输入错误!\n");
        }
        if(n==0)
            break;
        printf("              继续采购请按 9  否则请按0\n");
        scanf("%d",&m);
        }
        return 0;
    }
    
    int welcomebuyer()
    {
        printf("................................................................................\n");
        printf("\n");
        printf("                      ~~~~~~~~欢迎来到采购之家~~~~~~~~\n");
        printf("                              处理缺货                请按   1\n");
        printf("                              进货                    请按   2\n");
        printf("                              查询当前存货情况        请按   3\n");
        printf("                              退出采购                请按   0\n");
    return 0;
    }
    
    //采购函数--进货函数
    int buildbaser()
    {
        int i=0;
        printf("            若想停止进货,请在货物数量上输入 0\n\n");
        for(i=0;i<M;i++)
        {
            printf("\n货物名称:");
            scanf("%s",base[i].name);
            base[i].number=i;
            printf("\n货物数量:");
            scanf("%d",&base[i].amount);
            if(base[i].amount<=0){
                base[i].amount=0;
                break;
            }
            goodssum+=base[i].amount;
            printf("\n货物进价:");
            scanf("%d",&base[i].price1);
            printf("\n货物售价:");
            scanf("%d",&base[i].price2);
            }
        return 0;
    }
    
    //采购函数---查询当前存货函数
    int chackbase()
    {
        int i=0;
        printf("................................................................................\n");
        if(goodssum==0)
        {
            printf("           仓库没货!!!         请采购部门及时进货!!!\n");
            return 0;
        }
        for(i=0;i<M;i++)
        {
            if(base[i].amount>0){
                  printf("................................................................................\n");
                  printf("货物编号  货物名称             货物数量          进价       售价\n");
                  printf(" %3d      %-20s %6d          %6d     %6d \n",base[i].number,base[i].name,base[i].amount,base[i].price1,base[i].price2);
                  printf("................................................................................\n");
            }
            else
                continue;
        }
        printf("................................................................................\n");
        return 0;
    }
    
    //采购函数--处理缺货函数
    int solvelack()
    {
        int i=0,k=0;
        int printlack();           //采购函数--处理缺货函数--查看函数声明
        int supplement();          //采购函数--处理缺货函数--添货函数声明
        printlack();               //查看是否缺货
        printf("           如果需要进货,请按1  ; 否则,请按0   \n");
        scanf("%d",&k);
        switch(k)
        {
        case 1:supplement();break;
        case 0:;break;
        default :printf("输入错误!\n");
        }
        return 0;
    }
    int printlack()                //采购函数--处理缺货函数--查看函数定义
    {
        int i=0,count=0;
        if(goodssum==0){
              printf("                  !!!仓库没货!!!请采购人员及时进货!!!\n");
              return 0;
              }
        printf("................................................................................\n");
        for(i=0;i<M;i++)
        {
            if(lackl[i].amount==0){
                count++;
                continue;
             }
            else{
             printf("................................................................................\n");
             printf("货物编号  货物名称             缺货数量\n");
             printf(" %3d      %-20s %6d          \n",lackl[i].number,base[i].name,lackl[i].amount);
            }
        }
        printf("................................................................................\n");
        if(count==M)
            printf("              ~~~不缺~~~货物充足~~~\n");
        else
            printf("                    缺!   缺!   缺!\n");
    return 0;
    }
    
    //采购函数--处理缺货函数--添货函数定义
    int supplement()
    {
        int i=0,j=1;
        int printlack();
        printlack();
        printf("     若想停止进货,请在货物数量上输入0\n");
        while(j>0)
        {
            printf("产品编号\n");
            scanf("%d",&i);
            while(i>=M){
            printf("此货物不存在,请重新输入\n");
            scanf("%d",&i);}
            base[i].number=i;
            printf("产品名称:\n");
            scanf("%s",base[i].name);
            printf("进货数量:\n");
            scanf("%d",&j);
            if(j>0){
               base[i].amount+=j;
               goodssum+=j;
            }
            else
                break;
            printf("\n货物进价:");
            scanf("%d",&base[i].price1);
            printf("\n货物售价:");
            scanf("%d",&base[i].price2);
        }
        return 0;
    }
    
    //客户函数
    int kh()
    {
    int login();                      //客户函数--登陆函数声明
    int registe();                    //客户函数--注册函数声明
    int welcomekh();                  //客户函数--欢迎函数声明
    int searchkh(int falg);           //客户函数--查询订货情况的函数声明
    int order(int falg);              //客户函数--订货函数声明
    int i,k=0,flag=0;
    int n=9,m=9;
    welcomekh();                     //欢迎欢迎
    while(m==9)                      //登陆?注册循环二岔路
    {
    printf("        登陆请按1,          注册请按2,          否则请按 0\n");
    scanf("%d",&i);
    switch(i)
    {
    case 0 : ;break;
    case 1 : flag=login(); break;
    case 2 : registe(); break;
    default :printf("输入错误!\n");
    }
    if(i==0)
            break;
    printf("           登陆或注册请按 9  否则请按0\n");
    scanf("%d",&m);
    }
    
    while(n==9)                      //订购?查询循环二岔路
    {
    printf("         查询请按 1,   订购请按 2,      否则请按 0\n");
    scanf("%d",&i);
    switch(i)
    {
    case 0 : ;break;
    case 1 : searchkh(flag); break;
    case 2 : order(flag); break;
    default :printf("输入错误!\n");
    }
    if(i==0)
        break;
    printf("           继续查询或订购请按 9  否则请按0\n");
    scanf("%d",&n);
    }
    return 0;
    }
    
    
    int welcomekh()                    //客户函数---欢迎函数定义
    {
    
        printf("..............................................................................\n");
        printf("  ~~~~~~~~欢迎来到客户之家~~~~~~~~\n");
        printf("..............................................................................\n");
        return 0;
    }
    
    //客户函数---登陆函数定义
    int login()
    {
    int n,count=0;
    char password[6];
    printf("-------------------请输入服务编号-----------------------\n");
    scanf("%d",&n);
    printf("-------------------请输入六位密码-----------------------\n");
    scanf("%s",password);
    while(strcmp(password,khl[n].password))
    {
        printf("~~~~~~~~~~~~~~~请重新输入六位密码~~~~~~~~~~~~~~~~~~~~\n");
        printf("\n");
        printf("               退出登陆,请输入123456\n");
        scanf("%s",password);
        if(!strcmp(password,"123456"))
            break;
    }
    if(!strcmp(password,"123456"))
    return 0;
    else
    return n;
    }
    
    //客户函数---注册函数定义
    int registe()
    {
    printf("~~~~~~~~~~您的服务编号是: %d ,请你一定要记牢您! ~~~~~~~~~~~~~~\n",QQ);
    printf("~~~~~~~~~~~~~~~请输入您的用户名:~~~~~~~~~~~~~~~~~~\n");
    scanf("%s",khl[QQ].name);
    printf("~~~~~~~~~~~~~~~~请输入六位密码:~~~~~~~~~~~~~~~~~~~\n");
    printf("\n");
    scanf("%s",khl[QQ].password);
    QQ++;
    return 0;
    }
    
    //客户函数---查询函数定义
    int searchkh(int flag)
    {
    int n,i=0;
    n=flag;
    printf("................................................................................\n");
    printf("               Hello   %s   您的服务编号是: %d\n",khl[n].name,n);
    printf("................................................................................\n");
    if(khl[n].count!=-1){
        for(i=0;i<M;i++){
            if(odl[khl[n].count].L[i].amount==0)
                i++;
            else{
                 printf("................................................................................\n");
                 printf("货物编号  货物名称             订货数量          单价\n");
                 printf(" %3d  %-20s %6d  %6d\n",base[i].number,base[i].name,odl[khl[n].count].L[i].amount,base[i].price2);
                 printf("................................................................................\n");
            }
    
        }
    }
    else{
          printf("\n");
          printf("................................................................................\n");
          printf("             您当前没有订货。          \n");
          printf("................................................................................\n");
    }
    printf("................................................................................\n");
    return 0;
    }
    
    //客户函数---订购函数
    int order(int flag)
    {
    int i=0,k=0,m=0,n=0,count=0;
    printf("\n");
    n=flag;
    printf("货物编号  货物名称               售价\n");
    printf("\n");
    for(i=0;i<M;i++){
        if(base[i].number==-1){
            count++;
            continue;}
        else
          printf(" %3d      %-20s %6d\n",base[i].number,base[i].name,base[i].price2);
    }
    if(count==M)
    {
        printf("仓库现在没货,请稍后再来。麻烦您通知采购部门及时补货。。。谢谢。。。\n");
        return 0;
    }
    printf("请输入产品编号和数量,若想结束,在订购数量上输入 0 \n");
    printf("产品编号\n");
    scanf("%d",&k);
    while((k>=M)||(base[k].number==-1)){
        printf("此货物不存在,请重新输入\n");
        scanf("%d",&k);}
    printf("数量\n");
    scanf("%d",&m);
    while(m>0)
    {
        if(base[k].amount<m)
        {
        odl[PP].L[k].amount=base[k].amount;
        base[k].amount=0;
        printf("存货不足,缺 %d 个,先卖给您%d个,剩下的请您稍后重新注册服务编号再预定!同时麻烦您通知采购部门及时补货。。。谢谢。。。\n",odl[PP].L[k].amount-base[k].amount,base[k].amount);
        lackl[k].amount+=(m-base[k].amount);
        }
        else{
            odl[PP].L[k].amount=m;
            base[k].amount-=m;
        }
        goodssum-=odl[PP].L[k].amount;
        suml[k].price1+=(odl[PP].L[k].amount*(base[k].price2-base[k].price1));
        suml[M].price1+=suml[k].price1;
        suml[k].amount+=odl[PP].L[k].amount;
        printf("产品编号\n");
        scanf("%d",&k);
        while((k>=M)||(base[k].number==-1)){
        printf("此货物不存在,请重新输入\n");
        scanf("%d",&k);}
        printf("订购数量\n");
        scanf("%d",&m);
    }
    khl[n].count=PP;
    PP++;
    return 0;
    }
    
    //经理函数定义
    int manager()
    {
    
        int i=0;
        for(i=0;i<M;i++)
        {
         if(suml[i].amount==0)
             i++;
         else{
                  printf("................................................................................\n");
                  printf("货物编号  货物名称           该货物利润\n");
                  printf(" %3d      %-20s %6d          \n",suml[i].number,base[i].name,suml[i].price1);
                  printf("................................................................................\n");
         }
        }
        printf("\n--------------------总货量为  %d  个-----------------------------\n",goodssum);
        printf("\n--------------------总利润为  %d  美元-----------------------------\n",suml[M].price1);
        return 0;
    }
    
    
    展开全文
  • 销售管理系统源代码 Java

    热门讨论 2008-12-10 08:11:16
    销售管理系统安装使用说明书 你好!欢迎使用销售管理系统,无论对初学者、熟悉计算机的人士、还是通晓OA系统的专家,本使用手册均适用。它包含了安装和有效使用本系统的全部资料,详细讲述了包括基本概念、使用技巧...
  • 美萍眼镜店销售管理系统标准版2014完美破解版
  • 销售管理系统哪个好用?

    千次阅读 2017-09-07 10:50:25
    销售是企业生存的基础,是每个老板都...一款好的销售管理系统,能够高效利用商机线索,带来源源不断的效益,防止客户资源流失,全面提升企业市场占有率和竞争力,越来越多企业已经意识到上销售管理软件的重要性和紧迫性

    销售是企业生存的基础,是每个老板都关注的重点。一款好的销售管理系统,能够高效利用商机线索,带来源源不断的效益,防止客户资源流失,全面提升企业市场占有率和竞争力,越来越多企业已经意识到上销售管理软件的重要性和紧迫性。那么问题来了,你真的了解什么是销售管理系统吗?到底销售管理系统有哪些呢?市场上的销售管理系统哪个好呢?下面就为大家一一揭晓答案。

    2017全球销售管理系统好用的有哪些?

    一、什么是销售管理系统?销售管理系统名词解释?

    销售管理系统是销售管理软件的通俗化名称,是管理客户档案、销售线索、销售活动、业务报告、统计销售业绩的先进工具,适合企业销售部门办公和管理使用,协助销售经理和销售人员快速管理客户、销售和业务的重要数据。主流的销售管理系统品牌和厂商有:SAP、Oracle、智邦国际等。

    销售管理系统主要功能模块包括:客户管理、项目管理、报价管理、客户策略、销售自动化、合同管理、采购管理、产品管理、竞争对手、收款计划、付款计划、售后管理、费用管理、数据导入、报表生成、数据分析、公告发布、短信群发、邮件群发、呼叫中心、系统监控等。

    虽然同样都是销售管理系统,但每家厂商产品的功能模块、应用深度、灵活程度、移动支持、费用构成等各不相同,所以选型时一定要亲自试用和多家对比,才能明白哪款销售管理系统性价比高,才能哪款销售管理系统真正适合自己。

    二、销售管理系统有哪些?销售管理系统哪个好?

    市场上的销售管理系统可以说是五花八门,举不胜举。但销售、客户、业绩等业务数据,是每个企业的核心商业机密,相信企业在销售管理系统选型时,都会充分考虑软件的专业性、易用性和安全性等。所以这里重点介绍几款销售管理系统品牌排行靠前的产品,每款都经过10年以上、几百万用户的市场检验。当你了解完这些,再看其他同类产品,就会发现理解起来毫无压力。

    1、SAP Hybris Sales Cloud

    2017全球销售管理系统好用的有哪些?

    SAP Hybris Sales Cloud能够为销售人员提供所需的洞察,助其与客户开展有意义的销售对话,并采取正确的行动。此外,销售人员还能访问客户信息,使用实时分析功能和社交销售软件,了解客户所处的行业和面临的独特挑战。该系统提供CRM移动解决方案、实时报告和分析、客户和销售机会管理,以及协作与社交销售。

    2、Oracle销售云

    2017全球销售管理系统好用的有哪些?

    客户已经改变,企业销售方式也要相应地改变。Oracle销售云帮助企业拓展销售管道,通过简单便捷的工具、移动化的生产力、基于丰富洞察的协作式销售和积极的管道建设,增加销量和提高效率,并帮销售代表随时随处开展销售工作。该销售管理系统提供移动销售队伍自动化、销售绩效、销售分析和预测、社交协作等功能。

    3、Infor 分销 (Distribution)软件

    2017全球销售管理系统好用的有哪些?

    Infor分销 (Distribution) 软件建立一个由合适工具组成的武库来降低企业成本,提高企业效率,并帮助企业做出更好更快的决定。该销售管理系统的仓库管理,让企业更好地管理仓库工作流;订单输入能够自动化企业采购和简化工作流程;库存控制可以改进仓库管理,以实现更高的绩效;批发和分销帮助企业提高供应链的反应速度;服务管理实现了整个客户生命周期管理。

    4、Sage X3销售管理

    2017全球销售管理系统好用的有哪些?

    Sage X3销售管理系统帮助企业快速轻松地访问与产品、价目表、折扣和承运人相关的信息。企业可以签发客户报价,下订单,传递订单确认函,管理合同,查看并分配库存中的货物,以及在开票前管理货物的调度和寄售。主要功能包括:产品配置器、选项和变量,价格和折扣,销售佣金,报价、合同和未结订单,多级信用检查和订单录入,订单备货、发货、包装和装运,客户退货,开票和催款,存货查询和分配等。

    5、智邦国际销售管理系统

    2017全球销售管理系统好用的有哪些?

    智邦国际销售管理系统,根据销售型企业特点和管理需求研发,集成营销管理、商机线索、客户资源、销售跟进、销售报表、库存管理、售后服务、产品管理、发货物流、财务核算、人资管理、团队管理、办公自动化等功能。系统包含了CRM全部功能,全面整合销售资源及关联业务,打造客户集成化、销售自动化、流程可视化、业务一体化的高效管理体系,支持在PC端、手机端、平板端上使用,可与ERP无缝对接,帮助销售型、贸易型、自产型、代理型、批发型、零售型企业快速缩短销售周期,获取更多销量和利润。

    现在是智能时代,一款好用的智能化销售管理系统,能够帮大家完成很多销售工作。比如,智邦国际销售管理系统,可以一键批量导入客户、产品、库存等,自动判重,防止撞单;可在一个界面查看、跟进、分析下属人员所有工作情况;还可按需定制、自动生成销售所需报表;销售人员调岗或离职时,一键即可冻结账号或收回客户等等。系统还集成了呼叫中心、微信公众平台、短信平台、邮件系统等主流营销工具,功能和设计都非常人性化,如果你的公司正在选型,不妨免费试用或咨询一下,绝对有用。

    展开全文
  • 基于JAVA的销售管理系统源码(毕业设计 课程设计)。 可直接运行。做毕业设计、课程设计或者想研究下技术的可以下载学习。需要更多资源的可以关注我。
  • 医药销售管理系统 数据库课程设计

    热门讨论 2009-07-05 18:26:53
    说明:根据对现实中医药销售管理业务,将用户分为二类超级管理员(经理)、普通管理员(操作员)。 2. 系统可行性分析 系统在现有人力和物力条件下,完全具备可以开发出来。作为阶段性产品,日后的发展空间大,实现...
  • jsp+servlet商品销售管理系统

    热门讨论 2011-03-31 12:13:58
    java,jsp,servlet,web,商品销售管理系统,可用于中期检查,课程设计,毕业设计等等。有论文,有数据库,可运行。
  • 计算机专业,SQL数据库课程设计,图书销售管理系统,报告,任务书
  • (1)图书销售管理系统的设计与实现 调查一个书店的图书销售业务,设计的图书销售系统主要包括进货、退货、统计、销售、查询功能。 ①进货:根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商...
  • Python课程设计:汽车销售管理系统

    千次阅读 多人点赞 2020-07-15 10:20:49
    汽车销售管理系统,可以做为掌握了一些基础知识后的一个练手小demo 小demo结构: 汽车销售管理系统:能够实现汽车销售管理与相关信息的保存和读取。实现所有库存汽车相关信息的录入,显示,销售,修改。设置登录的...
  • Java实现药品销售管理系统

    千次阅读 2021-03-01 18:03:41
    整理东西时,发现以前做的两个Java小项目,应该是刚学Java做课设时写的。 初学Java童鞋可以看看! 开发环境:IDEA+Mysql 8 实现基本的增、删、改、查,销售、统计等功能。 部分截图:
  • 企业管理系统 用jsp+java+css+sql,全部有源代码,直接下载后安装可用。 另附使用说明书! 绝不虚假!! 【源代码文件齐全,下载后可再评论】
  • Python基础项目:超市商品销售管理系统

    万次阅读 多人点赞 2019-04-18 12:01:54
    在前几章的案例中,主要以项目为中心介绍了相关知识点,通过手机通讯录管理系统和学生信息管理系统案例的学习,应该掌握...在本章中,我们会将之前的内容进行统一综合,完成超市商品销售管理系统。 需求分析: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 195,590
精华内容 78,236
关键字:

销售管理系统