门店管理信息系统的设计与实现_第1页
门店管理信息系统的设计与实现_第2页
门店管理信息系统的设计与实现_第3页
门店管理信息系统的设计与实现_第4页
门店管理信息系统的设计与实现_第5页
已阅读5页,还剩41页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要

2018年9月一2013年7月,我参与了某养生门店的信息系统管理项目,本项目投资金

额25万,涉及上海周边共10余所门店。本项目作为首批建设试点,具有重要的示范效应.

现代人由于工作忙等原因,身体状态都不太理想,对于养生减肥关注度越来越高,这

也导致了养生行业竞争非常大。

运用门店管理系统,让养生馆运营事半功倍。信息管理系统可以帮助门店轻松管理,

在安排客户服务时,无法有效掌握房间、技师服务的状态,容易安排不合理,在高峰期容

易混乱,养生门店管理系统可以让门店理顺接待流程,提升客户满意度。对技师服务进行

监督,门店管理系统可以用最少的人力成本,保障门店竞争力,系统通过数据处理.,会员

信息、消费记录数据等有据可查,避免财务核算出错。支持全员销售,提高门店利润。

门店管理系统,是针对其养生门店的业务经营模式而设计开发的,系统将进销存有机

的结合在了一起,重点解决了管理中采购,销售分离的造成的问题,突出了门店的管控力

和业务指导能力,具有管理简单并且可行的业务操作性。

本系统的设计过程以用户为本,以需求为准绳,界面力求简洁高效;使用了PYTHON作

为开发语言。后台数据库采用了MYSQL作为承载数据的工具。它是一套完善的门店管理系

统。包括了常用的模块。系统具有维护简单,使用方便的特点。可广泛用于PYTHON教学中。

关键词:PYTHON,MYSQL,门店管理系统,功能模块

第一章前言

1.1系统的开发背景

在伟大的共产党的领导下,人民的物质生活条件越来越好,但是饮食结构却不合理,

导致了体重超标的人群越来越多,并且逐渐出现年轻化趋势。

现代人由于工作忙等原因,身体状态都不太理想,对于养生减肥关注度越来越高,这

也导致了养生行业竞争非常大。

运用门店管理系统,让养生馆运营事半功倍。信息管理系统可以帮助门店轻松管理,

在安排客户服务时,无法有效掌握房间、技师服务的状态,容易安排不合理,在高峰期容

易混乱,养生门店管理系统可以让门店理顺接待流程,提升客户满意度。对技师服务进行

监督,门店管理系统可以用最少的人力成本,保障门店竞争力,系统通过数据处理.,会员

信息、消费记录数据等有据可查,避免财务核算出错。支持全员销售,提高门店利润。

在系统的开发中,本人主要负责的是数据库设计、网络设计。所以论文中重点对这部

分做了详细的描述。

1.2系统的开发方法

由于项目初期需求并不明确,所以采用了迭代式开发方法。

迭代式开发也被叫作迭代增量式开发或迭代进化式开发,不同与传统的瀑布式开发模

式,它具有更高的效率。在迭代式开发方法中,不需要在项目开始之初就确定所有的需求

细节,每次迭代都是对软件需求的细化,每一次迭代都包括了定义、需求分析、设计、实

现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中

完成系统的部分需求或业务逻辑。再通过下一次的迭代来完善软件架构,开始新一轮的迭

代。

第二章系统调查和系统分析

2.1系统调查

2.1.1系统开发的业务需求调查

门店面对每天上百客户的消费,上百种产品的消费,巨额的资金流动。门店的管理信

息系统都是不可或缺的辅助管理方式。

连锁店的业务有以下的需求:

部门管理:新建部门,删除部门,修改部门描述,id,等信息

员工管理:新员工入职时,应录入系统(年龄,身份证号码,籍贯,联系方式);员工

离职时,应删除员工信息;员工工种变动时,应及时录入系统。

客户管理:每个客户第一次上门,应对客户信息及时录入,录入信息包括(年龄,职业,

联系方式,地址,身体信息);当客户信息变更时,应及时录入系统中。

库存管理:当采购订单到货时,仓库管理人员负责入库,入库信息包括(订单号,物料

号,应到数量,实到数量,入库时间,存入的仓库id;创建多个仓库(固定资产仓,生产

物料仓,日常用品仓);出库时使用部门填写领料单,需写明单号,物料号,领用数量;

仓库填写出库单:盘点统计仓库实存物料数量。

采购管理:新建采购订单。采购员负责采购订单,删除采购订单。当采购订单不可完

成时,应有删除功能。

供应商管理:当有新供应商时,应新建入系统。修改供应商信息。删除供应商。

服务管理:新建服务;不再提供此项服务时,应提供删除服务;由于服务存在更新迭

代的情况,应提供修改功能。

项目管理:新建一个项目,项目包含一种或多种服务,项目作为一个整体进行销售;

当项目不再适合时,删除项目,停止销售。修改项目。

销售管理:添加删除销售方式,添加删除修改销售提成比例,统计销售额成本利润。

顾客服务记录:每次服务应记录顾客消费的详细信息。

工资管理:添加删除修改工资构成,生成工资明细,定期生成工资报表。

2.1.2可行性分析

可行性研究分析方法是通过对投资项目的主要决策内容和配套决策条件,如投资市场

需求、资源总量供应、建设投资规模、工艺生产路线、设备材料选型、环境影响、资金来

源筹措、盈利执行能力等,从科学技术、经济、工程等多个方面分别进行宏观调查分析研

究和科学分析互相比较,并对投资项目开设建成以后预期可能带来取得的社会经济效益及

其对社会经济环境影响效果进行综合预测,从而准确提出该投资项目目前是否存在值得公

众投资和如何有效进行项目建设的技术咨询分析意见,为相关项目投资决策实施提供重要

依据的一种具有综合性的宏观系统科学分析方法。可行性和非分析性反应必须具有不可预

见性、公正性、可靠性、科学性的基本特点。可行性分析的任务是明确应用项目的开发的

必要性与可行性,可行性取决于实现应用系统的资源和条件。

可行性研究技术任务分析的主要研究技术任务主要内容是研究明确一个大型应用系统

开发大型项目的应用系统技术开发的基本技术必要性与关键技术基础可行性,可行性技术

分析主要取决于如何掌握实现一个大型应用系统开发项目系统的必要技术资源和关键技

术基础条件。

系统的可行性主要考虑几个方面:投资必要性,技术可行性,财务可行性,组织可行

性,经济上的可行性;社会可行性,风险因素和应对策略

投资必要性:主要根据市场宏观调查及经济预测的分析结果,以及国家有关产业政策

等客观因素,论证对该项目进行投资建设的综合必要性;项目发起后我组织公司的双方公

司的高层进行了友好的磋商,带领双方负责人对上海的养生市场做了详细的调研,对相关

产业的政策做到了充分的理解,准备好的工作全部做完以后,双方在之前约定的一段时间

内也进行了友好的沟通磋商,对完成项目后的投资更加就有一定信心了。

技术可行性:主要从根据项目建设实施的实际技术需求角度,合理规划设计项目技术

解决方案,并对其进行比较筛选和综合评价。各技术行业不同技术项目相关技术指标可行

性的重点研究课题内容及技术深度研究差别很大。对于各种工业工程项目,可行性问题研

究的设计技术论证至少应能够达到企业能够比较明确地直接提出工业设备设计清单的技

术深度;对于各种非工业工程项目,技术解决方案的设计论证也至少应能够达到按照工程

设计方案进行初步设计的技术深度,以便与相关国际惯例完全接轨。

随着我国计算机信息网络、通信信息技术、计算机软硬件应用技术的不断飞速发展,

不断创新推出各种性能好,价格低廉的新型计算机和其他网络通信设备,同时信息软件开

发设计方法的不断改进,提出各种信息软件开发工程化设计方法,提供了良好的信息软件

开发环境,大大提高信息软件的开发生产率和开发质量,这都无疑是对于建立信息系统非

常有利的软件技术发展环境。

项目开题后,经过跟对方负责人友好流畅的沟通,跟本方高层积极的沟通,双方初步

对管理系统所能使用到的技术有了深入的了解,我方也对甲方的需求有了深入的了解,双

方沟通以后,一致同意用混合云的方式进行部署。

财务可行性:从融资企业的财务角度深入进行公司资本流动预算,评价融资项目的主

体财务性和盈利管理能力,进行公司投资决策,并从公司融资项目主体的收益角度进行评

价公司股东进行投资后的收益,现金流量管理计划及公司债务后期偿还管理能力

主要方法是通过预估投资费用预算支出和对投资项目的社会经济效益状况进行综合评

价.对于连锁业来说,信息安全管理服务系统目前可以算来说一直是企业必备的经营管理

工具之一,同时由于移动计算机等软硬件通信设备和网络软件产品价格的大幅下降,连锁

店企业信息安全管理服务系统的软件开发和安装运行使用成本都不是很高,对于传统连锁

店的经营利润收入相比不是很大,同时信息管理系统集成运行以后它还可给连锁企业发展

带来显著的社会经济效益c由此可知该系统实施解决方案在经济上确实是可行的及其应用

于管理企业信息系统的应用要求,对我国企业的中层管理人员可以进行全面性的培训,提

高专业认识,进一步大大加强了我国企业中层管理人员基础知识工作。公司各级领导#常

重视推动信息时代各类企.业的新业态发展,为了不断提高各类企业信息管理水平并促使各

类企业未来能够拥有更大的快速发展,提出对各类企业的信息管理人员需要进行全面性的

培训,提高企业认识,以尽快适应现代管理企业信息系统的发展要求。因而促使公司各级

企业管理人员都充分认识并做到加快建立企业管理服务信息系统的重大必要性,这为系统

的设计开发应用提供了十分重要的技术保证。结论:鉴于以上几点分析,现阶段我们公司

计划建立经营管理财务信息共享系统项目是完全可行的,项目一旦顺利完成,必将直接推

动我们公司的经营管理水平更加迈上一个大的新台阶。。

在公司领导牵头,双方就预算做了初步的协商,网络设备,服务器设备,网络耗材,

云端资费等做了初步的预算,并且甲方在分析了盈利情况后,确定了在经济上是可行的

经济可行性:从社会资源配置的经济角度上来衡量一个项目的经济价值,评价一个项

目在有效实现推动区域整体经济社会发展战略目标,有效合理配置区域经济社会资源,增

加产品供应,创造劳动就业,改善生态环境,提高辖区人民财产生活等各个方面的经济效

益。

经过分析项目实施后对甲方在管理上起到了重要的作用,能更好的配置资源,从而大

幅改善周遭居民的生活水平。因此是可行的。

组织可行性:为您指定合理的专业项目组织实施时间进度工作计划,设计合理的项目

组织工作机构,诜择专业经验丰富的项目管理人员,建立良好的项目写作伙伴关系,指定

合适的项目培训活动计划等,保证您的项目实施顺利进行

在项目开题之初,公司就对进度计划高度重视,选择了公司项目经验最为丰富的人员

作为项目经理进行统筹管理,同时,及时有效的保持和甲方的沟通。并且制定了定期的培

训计划,保证双方对项目的理解保持高度一致,从而保证项目进行过程是顺利的。

社会可行性:主要内容分析各个重点项目对当前我国经济社会的主要构成影响,包括

我们国家主要政治体制,方针政策,经济社会组织管理结构,法律社会秩序和性道德,宗

教及各少数民族,妇女儿童及其他人在社会秩序中的稳定性等。

双方对项目做了深入的理解后,认为对于当今社会而言,此系统有积极意义,因此是

可行的。

风险因素及对策:主要针对实施项目的内部市场经济风险,技术管理风险,财务管理

风险,组织管理风险,法律法规风险,经济及外部社会环境风险等一些银色因素进行风险

评价,指定用于规避这些风险的具体对策,为制定项目实施全过程的相关风险管理措施提

供重要依据。

市场风险:针对周围市场做了详细调查后认为市场风险为最低

技术风险:在技术上,我们请了有多年经验的老师傅来把关,保证在项目进行中不会

有技术上的风险。

财务风险:我们要求甲方要对项目款项分阶段打款,保证项目的每个阶段的资金不会

断流。

组织风险:双方对项目高度重视,在人员的配备上都准备了AB计划,保证不会因为个

人原因造成项目中断。

法律风险:就此我们专门咨询了双方的律师团队,就法律问题达成了一致。

经济和社会风险:经过双方的评估,认为在经济和社会风险上是在预期范围内的是可

控的

综上所述,实施资产管理信息系统在企业投资上的必要性,技术上的可行性,财务上

的可行性,组织上的可行性以及经济上的政策可行性,社会上的可行性,风险控制因素和

企业应对风险策略都应该是可行的,因此需要开发一套企业资产管理系统信息服务系统应

该是切实可行的。

2.2系统分析

2.2.1组织结构分析

系统组织结构较为简单,由于是全员参与销售的模式,所以没有专门的销售部门。组

织结构:总经理,技师长,技师,仓库经理,仓管员,采购经理,采购员,财务经理,出

纳,会计,人事经理,人事专员。

2.2.2业务流程分析

门店管理系统的管理业务流程为:

采购业务:金额在50co以上的作为固定资产,由总经理审批;生产物料采购;供应商

开发维护等由采购经理负责;采购员服务填写采购订单,有采购经理审批;日常用品采购

,日常用品由各部门填写,由部门领导审批

仓储业务:预先订购的商品到货以后,首先查询系统中有没有此项订单,并核对订单,

验证货物和订单中规定的供应商,数量,种类和约定的到货时间等内容是否一致。下一

步检验货物质量,有无残缺,确认无误后,生成入库单,冲销掉采购订单。

销售业务:建立全员参与的销售模式。线上销售后,通过打电话的方式预约客户上门,

客户上门后按照技师排班,进行服务。线上销售不计入员工提成中。员工服务次数计入绩

效因子中。线下销售包括单次服务和项目销售,线下销售计入员工提成,根据销售的品类

不同,在服务过程结束时,计入当过工资月末发放。线下销售员工的服务次数计入绩效因

子中。

第三章系统设计

3.1系统结构设计(即功能模块设计)

系统包括以下几个功能模块:

部门管理:新建部门,删除部门,修改部门描述。

员工管理:新员工入职时,应录入系统;员工离职时,应删除员工信息,员工工种变

动时,应及时录入系统。

客户管理:每个客户第一次上门,应对客户信息及时录入;当客户信息变更时,应及

时录入系统中。

库存管理:当采购订单到货时,仓库管理人员负责入库;创建固定资产仓,创建生产

物料仓,创建日常用品仓:出库使用部门填写领料单,仓库填写出库单:盘点统计仓库实

存物料数量。

采购管理:采购员负责采购订单,删除采购订单,当采购订单不可完成时,应有删除

功能。

供应商管理:采购经理负责供应商开发,当有新供应商时,应新建入系统;删除供应

商;修改供应商。

服务管理:新建服务,服务应包含详细物料信息.;不再提供此项服务时,应提供删除

服务;于服务存在更新迭代的情况,应提供修改功能。

项目管理:新建一个项目,项目包含一种或多种服务,项目作为一个整体进行销售;

当项目不再适合时,删除项目,停止销售。修改项目相关信息

销售管理:销售管理系统要取得良好的投资回报,使其真正在经营管理发挥应有的积

极作用,不仅要重视项目的规划和实施,而且也要十分重视系统的持续运营。美团,大众

点评等的团购或单次项目,网上购买的项目不计入销售提成。顾客购买单条项目,计入销

售提成,销售提成计入当月工资,月末发放。线下计入销售提成,次数使用完成后,计入

当月工资,月末发放。有效期项目计入销售提成,有效期过期后,计入当月工资,月末发

放。加盟项目计入销售提成,加盟以后,计入当月工资,月末发放。

顾客服务记录:是以客户数据的管理为核心,利用信息科学技术,实现市场营销、销

售、服务等活动自动化,并建立一个客户信息的收集、管理、分析、利用的系统,帮助企

业实现以客户为中心的管理模式。

工资管理:随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,

员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的

工资不但显得力不从心,而且极容易出错。如何设计一个小型企业工资的数据库管理系统,

由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作。这

样就使办公人员可以轻松快捷地完成工资管理的仟务。更改工资构成。

3.2数据库设计

3.2.1数据库的概念结构设计

实体:顾客信息,员工信息,供应商,Vip类型,消费记录,服务种类,采购订单,

际存信息

顾客

他信息,)

图3-1顾客信息

.!.员工!

他信息好

图3-2员工信息

图3-4VIP类别

图3-5service

消费记录

库存

图3-8库存信息

3.2.2数据库的逻辑结构设计

关系模型如下:

employee(id_employee,name,phone,wx,qq,Birthplace,identity_card)

costomer(id_employee,name,phone,wx,qq,Birthplace,identity_card)

asset(id_asset,name,desc,purchase_day,price,count,supplyer_id)

Suppliers(id,name,address,contact,phone,acc,wx,qq,desc)

Service(service_id,service_name,price,desc)

Service_detail(id_service,item_id,count,desc)

project(id,project_id,project_name,price,times,prid,desc)

project_detail(vip_id,service_id,desc)

Consume_record(id,date,service_type,id_cmployee,vipidcustomer,desc)

Order_purchase(id_order,date,name,price,count,supplier,desc)

project_purchase(card_id,card_type,purchase_date,price,count_max,

count_used,expired_date,employee_id)

Inventory(item_id,purchase_order_id,count)

Items(item_id,itemname,type,desc)

表格详细定义如下:

可否为

列名数据类型字长说明

空

Idstringvarchar2(50)no编号

Namestringvarchar2(50)no姓名

Sexstringvarchar2(50)yes性别

Ageintintyes年龄

Phonestringvarchar2(50)yes电话

Wxstringvarchar2(50)yes微信

Qqstringvarchar2(50)yesQQ

birthplacestringvarchar2(50)yes籍贯

identity_cardstringvarchar2(50)yes身份证

表3-1employee

可否为

列名数据类型字长说明

空

Idstringvarchar2(50)no编号

Namestringvarchar2(50)no姓名

Sexstringvarchar2(50)yes性别

Ageintintyes年龄

Phonestringvarchar2(50)yes电话

Wxstringvarchar2(50)yes微信

Qqstringvarchar2(50)yesQQ

birthplacestringvarchar2(50)yes籍贯

身份证

identity_cardstringvarchar2(50)yes

表3-2customer

可否为

列名数据类型字长说明

空

Idstringvarchar2(50)no编号

Namestringvarchar2(50)no供应商名称

Addressstringvarchar2(50)no地址

Contactstringvarchar2(50)no联系人

Phonestringvarchar2(50)no联系电话

Accstringvarchar2(50)no银行帐号

Wxstringvarchar2(50)yes微信

Qqstringvarchar2(50)yesQQ

Descstringvarchar2(50)yes描述信息

表3-3supplier

列名数据类型字长为空说明

Idstringvarchar2(50)no编号

Namestringvarchar2(50)no货物名称

supplierjdstringvarchar2(50)no供应商名称

Pricestringvarchar2(50)no单价

Countstringvarchar2(50)no数量

Datestringvarchar2(50)no购买日期

Descstringvarchar2(50)yes描述信息

表3-4asset

列名数据类型字长为空说明

Idstringvarchar2(50)no编号

Namestringvarchar2(49)no服务名

Pricestringvarchar2(50)no价格

Descstringvarchar2(50)no描述

表3-5scrvicc_typc

列名数据类型字长为空说明

servicejdstringvarchar2(50)no编号

Itemstringvarchar2(50)no物料

item_countstringvarchar2(50)no数量

Descstringvarchar2(50)no描述

表3-6service_detail

列名数据类型字长为空说明

Idstringvarchar2(50)no编号

Namestringvarchar2(49)novip卡名

Pricestringvarchar2(50)no价格

|Desc|string|va「cha「2(50)|ro|描述

表3-7vip_card_type

列名数据类型字长为空说明

vid_card_type_idstringvarchar2(50)no编号

servicejdstringvarchar2(50)no服务编码

Descstringvarchar2(50)no描述

表3-8vipcarddetail

列名数据类型字长为空说明

Idstringvarchar2(50)no消费编号

Datestringvarchar2(50)no日期

servicejdstringvarchar2(50)no服务编码

vip_card_idstringvarchar2(50)novip卡编号

customerjdstringvarchar2(50)no顾客编号

employeejdstringvarchar2(50)no员工编号

Descstringvarchar2(50)no描述

表3-9consume

列名数据类型字长为空说明

Idstringvarchar(50)noid

Datedatetimedatetimeno日期

Itemstringvarchar(50)no物料

Supplierstringvarchar(50)no供应商

Priceintint(32)no单价

Countintint(32)no数量

Descstringvarchar(50)yes描述

表3-10purchase_order

列名数据类型字长为空说明

cardjdstringvarchar(50)noid

card_typestringvarchar(50)no类型

purchase_datedatetimedatetimeno购买日期

Priceintint(32)no价格

count_maxintint(32)yes总次数

count_usedintint(32)yes已用次数

expired_datedatetimedatetimeyes过期时间

employeejdstringvarchar(50)no员工id

Datedatetimedatetimeno日期

Descstringvarchar(50)yes描述

表3-11VIPcard_sales

列名数据类型字长为空说明

itemjdstringvarchar2(50)no物料id

purchase_order_idstringvarchar2(50)no采购订单号码

Countintint(32)数量

表3-12inventory

列名数据类型字长为空说明

item_namestringvarchar2(50)no物料名称

itemjdstringvarchar2(50)no物料id

Typestringvarchar2(50)no物料类别

Descstringvarchar2(50)yes描述

表3-13Items

3.3网络设计

3.3.1总体描述

本系统作为门店的管理系统对信息的安全性要求很高,同时也要控制成本。所以选择

了混合云的网络架构对于信息控制、可扩展性、突发需求,以及故障转移需求来说。混合

和匹配私有云和公有云是一件好事情。根据国家标准和技术研究所的定义,很多企业已经

在不同的、更加复杂的方向上适应了这些模式。最近,云计算的发展计划开始围绕整个架

构支持方面,围绕混合云,或者是混合、匹配各种云计算模式来展开。

系统采用当下最成熟的混合云技术,混合云融合了公有云和私有云,是近年来云计算

的主要模式和发展方向。私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据

存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越

来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的

解决方案,达到了既省钱又安全的目的。

3.3.2门店网络设计

本地局域网采用千兆网来组建,每个房间的四面墙分别开两个千兆网口,屋顶放千兆

无线网络。无线网络配置无线隔离,保证每个客人的用网安全。房间网络连到本房间的接

入交换机。

机房分四个个机柜,两个机柜放机架服务器,两个机柜放网络设备。两对机柜互为灾

备。网络机柜从上到下依次为,防火墙,路由,核心交换,配线架。

服务器机架从上到下依次为mysqlserver,Fileserver,ERPserver,接入交换机

通过六类网线接入机房的核心交换机。机房服务器接入核心交换机。Wifi控制器接入核心

交换机。控制器上对客户端的网速做限制,保证每位客户的消费体验。核心交换机接入路

由。路由接入防火墙。

广域网向电信和联通分别申请一个线路,两条线路互为灾备。向腾讯,阿里,华为,

建立专线。专线用户跟云端同步数据。

3.3.3云端架构

云端服务商选择三家互为灾备,分别是腾讯,阿里,华为。

每个服务商上开启相同配置的服务器,实时同步本地数据。在本地服务器发生故障是

可以快速的切换到云端。不会中断服务。

数据库和文件服务涔还有各种配置文件定期向三个云端服务商的对象存储服务中备

份。并制定备份数据的生存周期,每份数据在一个月内存在热存储中,一个月后转入冷存

贮,降低运营成本。

图3-9网络架构

3.4系统安全性设计

系统安全性主要是通过对系统用户设置不同的权限来完成。权限管理是为系统安全提

供的功能,采用了功能、角色和用户的结构。为了数据的安全,避免无关人员查看或修改

单据,应该根据本单位的具体情况,对不同的操作员设置不同的权限,本系统就针对单位

的要求设置了用户权限管理。

在本系统中普通用户是没有权利修改权限的,用户的权限是由系统管理员设置的。根

据功能模块的划分,本系统分为以下几类权限控制:

(1)采购管理权限控制;

(2)销售管理权限控制;

(3)库存管理权限控制;

(4)系统管理权限控制:

在系统中通过权限管理,对不同的用户设置相应的权限,使每个用户只能在权限范围内操

作系统,这就加强了系统的数据安全

角色设计:总经理具有采购库存销售和系统管理的权限;店长有采购库存销售权限;

技师长有销售权限;技师有销售权限;前台有客户录入权限;采购经理有供应商和采购订

单权限;采购员有采购订单权限;仓库经理有出库入库和盘点权限;仓管员有出库入库的

权限;系统管理员有系统管理权限

第四章系统实现

3.1功能模块

登录功能模块:登录帐号,验证用户名密码。

部门管理模块:添加删除修改部门信息。

雇员管理模块:管理用户。

用户管理模块:管理客户信息。

客户管理模块:管理固定资产。

服务管理模块:用于日常用品管理。

仓库模块:用于物料管理。

3.2登录功能模块

登录模块使用login函数实现,并用返回的groups定义用户权限。

deflogin():

uid=input("Username:")

pw=getpass.getpass("Password:")

clear()

frommainimportpasswd

identity=passwd(uid,pw)

ifidentity.login():

groups=identity.groups

iflen(groups)>0:

main_menu(groups)

else:

print("LoginFAIL")

3.3部门功能的实现

部门模块使用dept类实现了管理功能,分别有添加删除修改操作,数据库使用dept

表存储相关信息。

classdept:

III

部门管理

III

def_init_(self,dept_id,dept_name,dept_desc):

self.dept_id=dept_id

self.dept_name=dept_name

self.dept_desc=dept_desc

defdept_add(self):

try:

sql='insertintodepts(dept_id?dept_name>dept_desc)values("%s",

"%s""%s")'%(self.dept_id,self.dept_name,self.dept_desc)

exec_sql(sql)

returnTrue

exceptExceptionase:

print(e)

returnFalse

defdept_delete(self):

try:

sql='deletefromdeptswheredept_id=="%s"'%(self.dept_id)

exec_sql(sql)

exceptExceptionase:

print(e)

returnFalse

3.4雇员管理

雇员管理模块使用employee类实现,类中实现了删除添加修改等操作。

classemployee:

Iai

雇员管理

III

def_init_(self,user_id,user_name,dept_id?enable,user_desc=''):

self.user_id=user_id

self.user_name=user_name

self.user_desc=user_desc

self.dept_id=dept_id

self.enbale=enable

defemployee_add(self):

try:

sql='insertintoemployees(user_id,usejname,usejdesc,dept_idj

enable)\

values("%s",”%s","%s","yes")'\

%(self.user_id,self.user_name,self.user_desCjself

.dept_id)

exec_sql(sql)

returnTrue

exceptExceptionase:

print(e)

returnFalse

defemployee_disable(self):

try:

sql='updateemployeessetenbale="no"whereuser_id=="%s"'%(self.user

_id)

exec_sql(sql)

exceptExceptionase:

print(e)

returnFalse

defemployee_delete(self):

try:

sql='deletefromemployeeswhereuser_id=="%s"'%(self.user_id)

exec_sql(sql)

exceptExceptionase:

print(e)

returnFalse

3.5用户管理功能的实现

用户管理模块用passwd类实现,类中实现了登入登出等功能,数据库使用passwd表

存储用户相关信息,并使用group字段存储用户权限信息。

(_ldbbpdSSwd:

III

账号管理

lit

def_init_(self,username,password):

self.username=username

self.password=password

self.groups=''

self.login_stat=False

deflogin(self):

sql='selectusername,passwordgroupsfrompasswdwhereusername="%s"'%(

self.username)

res=exec_sql(sql)

iflen(res)>0andres[l]==self.password:

self.groups=res[2].split(')

self.login_stat=True

returnTrue

else:

returnFalse

deflogout(self):

self.username='1

self.password=''

self.groups=''

self.login_stat=False

returnTrue

defreset_password(self,newpass):

try:

ifself.login_stat==True:

sql='updatepasswdsetpassword="%s"whereusername="%s"'%(newpas

s,self.username)

exec_sql(sql)

returnTrue

else:

print("loginfirstplease")

returnFalse

exceptExceptionase:

print(e)

returnFalse

3.6客户管理功能的实现

客户管理模块用customer类实现,数据库表customer,实现了添加删除修改等功能。

classcustomer:

def_init_(self,name='',age='',phone=',qq='',wx='',stime='1):

=name

self.age=age

self.phone=phone

self.qq=qq

self.wx=wx

self.stime=stime

defsearch(self):

sql='select*fromcustomerwherename=="%s"'%()

res=exec_sql(sql)

returnres

defadd(self):

pass

defdelete(self):

sql=*delete*fromcustomerwherename=="%s"'%()

exec_sql(sql)

defmodify(self):

sql='updatecustomersetname="%s",age="%s",phone="%s",qq="%

s“,wx="%s",stime="%s"'%\

(,self.age,self.phone,self.qq,self.wx,self.stime)

exec_sql(sql)

3.7服务管理功能的实现

服务管理模块使用service类实现,数据库用service表存储service的价格描述等

信息,用service_detail表来存储服务具体的用料信息。具体实现如下:

classservice:

III

服务管理

item=dict{

item_id:xx

item_count:xx

item_desc:xx

)

def_init_(self,service_id,service_name,items,price,service_desc):

self.service_id=service_id

self.service_name=service_name

self.items=items

self.price=price

self.service_desc=service_desc

#initdb

definit_db(self):

sql='createtableservice(\

service_idvarchar2(50),\

service_namevarchar2(50),\

service_priceint,\

service_descvarchar2(50)),

exec_sql(sql)

sql-1createscrvicc_dctail(\

service_idvarchar2(50),\

item_idvarchar2(50),\

item_countvarchar2(50)\

item_descvarchar2(50))'

exec_sql(sql)

defadd(self):

sql='insertintoservice(service_id,service_namejservice_price,servic

e_desc)values("%s","%s","%s","%s")^(self.service_id,self.service_name,self

.price,self.service_desc)

exec_sql(sql)

foriteminself.items:

sql="insertintoservice_detail(service_id,item_id,item_count,i

tem_desc)values("%s","%s","%s","%s")'%(self.service_id,item['item_id'],it

em['item_name'],item['item_desc'])

exec_sql(sql)

defdelete(self):

sql='delete*fromservicewhereservice_id=="%s"'%(self.service_id)

exec_sql(sql)

sql='delete*fromservice_detailwhereservice_id=="%s"'%(self.servi

ce_id)

exec_sql(sql)

3.8仓库管理功能的实现

仓库管理模块的实现首先定义了Stock基类,然后从基类派生出固定资产仓库,办公

用品仓库,生产仓库。每个派生类具有基类的所有已经定义的功能,派生类通过传递仓库

名称,实现不同仓库的管理,具体实现如下:

classstock:

库存管理

stock_name,item_idjitem_name,count

III

def_init_(selfjstock_name):

self.stock_name=stock_name

defsearch_stock(self):

try:

sql='selectstock_name,item_id,iten_name,countfromstockwherestoc

k_namc-"%s"'%(sclf.stock_namc)

res=exec_sql(sql)

returnres

exceptExceptionase:

print(e)

returnFalse

defsearch_item(self,item_id):

try:

sql='selectstock_name,item_id?iten_name?countfromstockwhereitem

_id="%s"'%(item_id)

res=exec_sql(sql)

returnres

exceptExceptionase:

print(e)

returnFalse

defadd(self,item_id,item_name,count):

try:

sql='selectstock_name,item_id,item_name,countfromstockwhereit

em_id="%s"andstock_name="%s"'

res=exec_sql(sql)

iflen(res)>0:

sql='UPDATEstockSETcount=count-%dWHEREitem_id="%s"ANDsto

ck_name="%s"'%(count,item_id,self.stock_name)

exec_sql(sql)

else:

sql='INSERTINTOstock(stock_name,item_id,item_nameJcount)VA

LUES(%s,%s,%s,%d),%(self.stock_name,item_id,item_name,coun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论