基于PHP和Mysql的销售管理系统的设计与实现 下载本文

内容发布更新时间 : 2024/12/27 5:34:32星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于PHP和Mysql的销售管理系统的设计与实现

作者:孙号夕 胡伟 杨中宇

来源:《电脑知识与技术》2014年第23期

摘要:针对传统单机订单管理系统存在的功能简单、数据共享困难、使用不便等问题,提出采用B/S结构、PHP和Mysql技术,设计并实现了一个方便、实用,包含合同管理、客户管理、财务管理、产品管理、入库发货管理、退换货管理、生产执行跟踪管理、系统基础管理等功能的销售管理系统,以满足实际销售管理工作的需要。运行结果表明,系统完整实现了既定功能,并有效提高了数据共享的便捷性。

关键词: PHP; Mysql; Codeigniter; 销售系统; 权限控制

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)23-5393-06

销售活动在企业的经营过程中起着相当大的作用,随着网络技术和信息技术的不断发展,应用软件在销售管理中也得到越来越多的使用。传统的单机订单管理系统仅能进行单机操作,不支持联网操作,且功能不足,影响使用。这类系统在数据共享、功能实用性、用户体验及后期扩展等方面都存在着严重的局限性。因此,建立一个基于网络访问的“销售管理系统”对销售的各个流程及数据进行管理,提高工作效率,是非常必要的。 1 系统设计 1.1 系统设计思路

目前主流的网络应用程序的结构有两种,一种是C/S,一种是B/S。C/S结构即客户端/服务器结构,通过将任务分配到客户端和服务器端来实现软件的使用[1]。这种结构下的软件虽然服务器端负荷较轻,但开发成本和维护成本都很高,软件长期使用的代价较高。B/S结构即浏览器/服务器结构,是一种新兴的程序结构,目前已成为大多数软件系统的选择。该结构将系统核心功能集中到了服务器端,用户只需要通过浏览器就能进行访问、操作,简化了系统的开发、维护和使用。综合考虑销售管理系统的网络访问、数据共享、使用便捷和后期维护等因素,系统采用B/S结构进行开发。

PHP(Hypertext Preprocessor)是一种通用开源脚本语言,具备跨平台运行、敏捷开发、广泛数据库支持、使用免费等特点[2],主要应用在开发动态交互式的WEB系统。Mysql是一个主流的关系型数据库管理系统,它体积小、速度快、功能强大、免费开源,已被广泛应用在中小型网站和各类应用系统中[3]。在实际应用中,PHP与Mysql完美配合,已成为WEB开发的优秀组合[4]。

龙源期刊网 http://www.qikan.com.cn

PHP开发领域中存在着丰富的框架,利用框架的 MVC模式[5]、CURD(封装数据库操作)、输入处理(校验过滤)、类库扩展等功能,可以大量减少代码编写量从而节省开发时间。利用框架,开发者只需要将精力投入到软件的创造性开发上。Zend Framework、Cake PHP、Think PHP、YII Framework等框架都是优秀的PHP框架,也足以支撑销售系统的开发,但在这里,选择Codeigniter作为系统的开发框架。Codeigniter是一个轻量级、简洁、功能强大且适合敏捷开发的PHP开源框架,目前由Ellislab提供技术支持,它使用MVC(Model,View,Controller)模型使表现层和逻辑层分离,且内置丰富的类库,能为系统开发提供极大便利。

基于PHP、Mysql的跨平台特性,系统可以运行在Windows、Linux、Mac OS等平台,但为方便开发工具的使用,系统开发环境采用Windows+Apache+Mysql+PHP的方案[6],开发设计工具主要有Zend studio、Mysql workbench、PHPMyadmin、Dreamweaver和Fireworks。 1.2 功能模块设计

销售管理系统的主要目的是将企业在实际的销售活动中的各项工作根据管理要求纳入系统管理,实现合同“发起、审核、执行、完结”各环节涉及到的产品、客户、物流、财务等数据的规范化、系统化管理。通过对销售管理系统的需求分析,系统按功能模块划分为产品管理、合同管理、生产管理、退换货管理、财务管理、客户管理和系统管理,具体的功能模块如图1所示。

1) 合同管理

合同管理主要提供对合同文本信息的管理功能,包括合同添加、合同修改、合同作废、合同审核、合同变更和按时间、所属部门、销售人员、合同状态等条件的统计查询。添加合同时,由于部分协议不能写入格式条款,还需提供上传附件的功能以满足合同的完整性需求。附件分为“商务附件”和“技术附件”,附件的分类可以方便不同权限的用户查看相应的内容,利于权限控制。 2) 退换货管理

退换货管理包含退货管理和换货管理,退货和换货都需要经过“申请、审批、执行”的流程。不同的是,换货过程不涉及财务处理,只需将通过审批的换货合同对应产品重新入库、发货即可;而退货过程涉及到财务处理,对已开发票的合同,退货后还需要开红字发票(负数发票)抵冲,这个功能在“财务管理”中实现。该功能模块提供产品在发送给客户后需要进行退货或换货的主要功能。 3) 产品管理

龙源期刊网 http://www.qikan.com.cn

产品管理主要提供对产品本身信息的管理,如:产品分类、产品主材、结算公式管理等功能。设置产品结算公式后,用户在添加合同时系统自动生成对应产品的销售单价(建议性单价,用户可自行修改),方便价格管理。 4) 生产管理

生产管理是对已签订合同的产品进行排产、生产进度跟踪、生产信息反馈以及对产成品的入库、退库、发货等操作提供管理功能。生产跟踪包含“待审批合同查阅”和“生效合同跟踪”功能,前者为方便生产部门提前安排产品生产所需的条件和材料,后者还包括合同对应产品生产进度的跟踪及信息反馈。产品生产完成后,根据合同编号进行入库,当销售人员提出发货申请并通过审批后,进行发货操作。如遇到需要延期交货的情况,还可以对已入库的产品做退库处理,产品进入库存。 5) 财务管理

财务管理包括来款管理、应收账款管理和开票管理。来款管理是将客户的来款按类别(如:现款、承兑等)录入系统形成待认领来款记录,销售人员在来款记录中认领属于自己的款项。认领后,对应的来款与客户和销售人员绑定。如果认领出错,可以将已认领的信息解除绑定,来款进入待认领记录库以便重新认领。应收账款管理包含每次发货形成的应收账款明细和按客户名称形成的应收账款汇总统计,所有记录在产品发货开票后自动生成。开票管理是产品在提交产品发货申请的同时形成的开票申请在通过相应的审批后所做的开具发票操作,同时还包括产品退货后形成的红字发票的开具。 6) 客户管理

客户管理提供客户资料的添加、编辑、禁用等功能,客户基础信息包括“客户类型、名称、所在地、联系电话、联系人、营业执照号码、组织机构代码”等。客户信息须与销售部门、销售人员进行关系对应,这种对应关系影响到合同的签订、执行、销售考核、来款管理等方面。

7) 系统管理

系统管理是系统的基础管理,提供系统运行的基础设置,包括部门管理、用户管理、角色管理、权限管理、供方基本信息管理等功能。由于销售管理系统中许多信息都较为敏感,因此各功能模块的操作和信息的查看都需要进行专门的授权,这些管理都在“角色管理和权限管理”中实现。系统采用基于角色的权限设计,对不通的角色授权,将用户划分到某角色后就具备了该角色的所有权限。 1.3 数据库设计