![基于Django的超市信息管理系统_第1页](http://file4.renrendoc.com/view/494d9f1ddf4eb8379eb5654e55afe20a/494d9f1ddf4eb8379eb5654e55afe20a1.gif)
![基于Django的超市信息管理系统_第2页](http://file4.renrendoc.com/view/494d9f1ddf4eb8379eb5654e55afe20a/494d9f1ddf4eb8379eb5654e55afe20a2.gif)
![基于Django的超市信息管理系统_第3页](http://file4.renrendoc.com/view/494d9f1ddf4eb8379eb5654e55afe20a/494d9f1ddf4eb8379eb5654e55afe20a3.gif)
![基于Django的超市信息管理系统_第4页](http://file4.renrendoc.com/view/494d9f1ddf4eb8379eb5654e55afe20a/494d9f1ddf4eb8379eb5654e55afe20a4.gif)
![基于Django的超市信息管理系统_第5页](http://file4.renrendoc.com/view/494d9f1ddf4eb8379eb5654e55afe20a/494d9f1ddf4eb8379eb5654e55afe20a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目:基于Django的超市信息管理系统 摘要伴随着互联网的快速发展,人们已经进入了信息时代,现代企业已经认识到企业的竞争就是综合实力的竞争,要求企业具有更强的财务实力,更快的市场反应速度。所以,对企业本身的各种信息就需要更好管理方法,以便快速利用自身优势,提高竞争力。论文设计并实现了一套基于Django的超市信息管理系统,使超市管理员只需访问浏览器即可轻松实现超市信息的管理操作,真正实现了对信息的良好管理和对数据的全面掌握。通过运用管理员的自身拥有的最高权限,能够有效管理系统模块中所显示的信息,实现对各种信息的增删改查。对于超市员工或者拥有其他身份的人,通过进入个人管理模块能够对自己信息,工作任务作出改变。运用简单实用的Django框架和现在因体积小速度快而流行的MySQL数据库,成功开发出这个后台系统。关键字:超市信息;Django;MySQLAbstractWiththerapiddevelopmentoftheInternet,peoplehaveenteredtheinformationage.Modernenterpriseshaverealizedthatthecompetitionofenterprisesisthecompetitionofcomprehensivestrength,requiringenterprisestohavestrongerfinancialstrengthandfastermarketresponsespeed.Therefore,allkindsofinformationabouttheenterpriseitselfneedbettermanagementmethodsinordertoquicklyuseitsownadvantagesandimprovecompetitiveness.ThepaperdesignsandimplementsaDjango-basedsupermarketinformationmanagementsystem,whichenablessupermarketadministratorstoeasilymanagesupermarketinformationbysimplyaccessingthebrowser,realizinggoodmanagementofinformationandcomprehensivegraspofdata.Byusingthehighestauthorityownedbytheadministrator,theinformationdisplayedinthesystemmodulecanbeeffectivelymanaged,andtheaddition,deletion,andmodificationofvariousinformationcanberealized.Forsupermarketemployeesorpeoplewithotheridentities,theycanmakechangestotheirowninformationandworktasksbyenteringthepersonalmanagementmodule.ThebackgroundsystemwassuccessfullydevelopedusingthesimpleandpracticalDjangoframeworkandtheMySQLdatabase,whichisnowpopularduetoitssmallsizeandspeed.Keywords:Thesupermarketinformation;Django;MySQL目录TOC\o"1-2"\h\u摘要 I1绪论 11.1开发背景 11.2研究方法 22系统需求分析 42.1系统功能概述 42.2系统功能需求 42.3用例分析 53系统设计 63.1概要设计 63.2详细设计 73.3数据库设计 124项目实现 174.1登陆注册模块的实现 174.2个人管理模块 184.3平台模块 205系统测试 245.1测试过程 245.2兼容性测试 245.3系统测试用例如表 24总结 26致谢 28附录 291绪论1.1开发背景1.1.1选题背景现如今的信息时代,伴随着信息技术的迅猛发展,个体电脑的普及和互联网步入千家万户,计算机技术在各个领域都有着举足轻重的地位。尤其是互联网技术的推广和信息高速公路的建立,使得在市场竞争中,IT行业的工作者越来越显示出自身独特的优势,站在信息时代的前端。然而,中小型超市本身所具有的规模偏小,市场定位雷同,硬件设施和管理落后等特点,在信息时代中,它们比大型超市在信息化过程中落后的程度更为严重,更别论大型超市所拥有的良好的企业资源,优秀的信息储存和处理。所以,要适应残酷的市场竞争,就需要更为有效的信息处理和管理方法。1.1.2研究意义随着小超市的发展的激增,商品数量的日益增多,有关商品的各种信息也是成倍增长,超市管理者需要对本超市拥有的各种信息进行统计分析,例如:供货商信息,员工信息,客户信息等等。然而,市面上的大型超市的信息管理系统过于强大而造成的繁琐操作和一些中小型超市所不具备,不需要的功能而造成的冗余,会降低中小型超市的工作效率。并且,近年来,随着生活水平的不断提高,原本随处可见的农贸市场、街边小摊早已无法满足人们日益高涨的生活需求。更有甚者,在一些先进城市已经按照政策进行整改,而替代这些街边小摊,夜市早市的是拥有自己门面的中小型超市,能够同时具有街边小摊(现做熟食),和超市(杂货)功能的特色。为了方便顾客,提高工作效率,超市的管理者只能通过不断升级自己的管理方法,选择更好的运营手段,提高自身的服务水平,才能得到更加健康的良好的发展。因此,超市管理者对拥有超市的信息把握尤为重要。一个良好的超市信息管理系统,能够让管理者时刻掌握超市信息,随时对自身运营方案策略进行调整,已经出现的问题,以及对将来要出现问题的预测及其避免都能够得到良好的表现。1.1.3研究现状信息化的大势所趋以及互联网的方便快捷使得电脑越来越普及,如今的管理系统充分利用计算机软件实现了人工管理难以避免的不足,与传统的管理方式相比,超市信息管理系统利用了较为先进的技术,能够更为安全的,方便的,精确的,甚至更为人性的管理信息。通过更新各种信息的最新动态,方便登陆人员进行查询、修改、添加、删除等功能的实现。有效的利用各类资源,更好的为客户进行服务。1.1.4国内外现状从80年代开始,就开始开发和应用管理信息系统,虽然通过国内很多研究和开发单位企业的共同努力,使我国的建设管理信息系统实现了非常巨大的成功,然而,由于多方面因素的影响,企业的管理信息系统建设与国外仍有很大的差距。90年代末,尤其是近几年,中国的超市随着行业的快速发展,其经营模式更加复杂,原有的管理体制已经无法适应超市的发展,这就迫切需要引入新的管理技术。国外企业在信息化建设的道路上本身就拥有前端优势,并且凭借其在资金、技术等方面的诸多优势,使得其在MIS(管理信息系统)上的推广尤为广泛,超市就是其中最为明显的获益者。因为国外MIS的较高的实施成功率,而取得的显著的经济和社会效益,使得越来越多的企业付诸更多的人才加以研究,让MIS的基本理论研究方面取得了比较大的成就。1.2研究方法1.2.1研究方向本项目是基于Django的一个管理系统,以Django框架为基础,MySQL为数据库,添加各种必须的模块,通过管理员拥有的权限能够操作店内的数据,方便管理。Django项目是一个Python定制框架,它源自一个在线新闻Web站点,于2005年以开源的形式被释放出来。数据库为MySQL数据库库,MySQL是最流行的关系型数据库管理系统,MySQL是最适合WEB应用程序的RDBMS(关系型数据库管理系统)软件之一。MySQL是一种关系数据库管理系统,它将数据存储在不同的表中,而不是将所有数据放在一个大仓库中,这提高了速度和灵活性。MySQL使用的SQL语言是访问数据库最常用的标准化语言。由于其体积小,速度快,整体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库1.2.2研究环境系统环境:Windows7/8.1/10;编程环境:pycharm;编程语言:python/Django框架;2系统需求分析2.1系统功能概述本系统主要完成超市管理商品信息管理(供货商管理,进货管理,退换货管理,销售管理,客户管理、客户退货管理)职工信息模块、添加进货管理模块等功能。通过以上功能实现了一个简单方便的超市管理系统。2.2系统功能需求商品信息管理:管理员可以对商品进行添加、修改和查询的操作。添加库存商品时需填入:商品名称、入库价格、商品卖价等信息供应商管理:供应商管理可以对供货商的信息进行查询。退换货管理:退换货管理是一旦进货产品出现质量问题、货物迟到等原因超市和供货商协商要求退货或换货进行详细登记。需要登记信息:单号、(订单信息)客户名称、收货日期、总金额、应退金额、实退金额、经办人。备注(订单信息):商品编号、商品名称、单位、规格型号、颜色、单价、数量。进货管理:对所进货物进行信息登 记。需要登记信息:单号(订单信息)、客户名称、销售日期、总金额、应收金额、实收金额、经办人。备注(订单信息):商品编号、商品名称、单位、规格型号、颜色、单价、数量。需登记出库信息:商品名称、出库数量、经办人、出库时间。销售管理:需要登记单据信息,订单信息等各种详细的数据。需要登记信息:同上。客户管理:客户管理主要是对在超市有交易记录的人的信息进行记录。登记客户信息包括:客户名称、负责人、联系地址、联系电话等。客户退货管理:客户退货管理是超市与客户在超市购买商品后协商退货或换货,但产品存在质量问题,货物迟到等原因需要退换货的一种制度。登记信息:单号、(订单信息)客户名称、收获日期、总金额、应退金额、实退金额、经办人。备注(订单信息):商品编号、商品名称、单位、规格型号、颜色、单价、数量。职工信息模块:对超市员工的信息进行采集归纳,管理员拥有能够随时增删改查的权限。包括姓名、年龄、性别、电话等重要信息。添加进货模块:能够在补充货物或引进新货时对表的一种添加。2.3用例分析用例图主要用来说明系统的主要事件流,设计系统分析阶段的出发点。本文采用用例技术获取和分析需求。为了能正确地标识系统的用例,需要标识系统的边界并标识参与者。如图2-1为超市管理关系图:图2-1超市管理关系图3系统设计3.1概要设计本系统使用方法简要介绍:首次进入本系统,直接进入首页,首页能够呈现超市动态信息、登陆注册接口、开通权限接口等。超市动态信息主要为超市员工展示,例如:供货商的供货,本店的进货、退货,人员的变更信息等超市信息的展示。通过点击登录、注册分别进入登录注册页面,可根据实际进行选择登陆功能和注册功能。在登录注册左边还有一个开通权限的接口,点击此处可以进入开通权限的页面,能够为已经注册的用户提供身份证明(供货商,客户,超市员工的销售,采购等员工身份)。在申请身份的过程中,原本在登陆注册旁边的“开通权限”变成“审核中”。再通过超市管理员的最高权限进行审核,通过超市最高管理员的批准来认证。通过管理员的认证后的账户,在登陆注册旁边的“审核中”变成“我”。通过点击后跳转到一个新的页面,这个页面展示的是自己曾经发送的动态信息,上方有一个个人后台管理的接口。点击跳转进入有关于自己的后台管理中心,能够管理自己的信息。由于本系统是以Django框架为基础而展现,系统前台主要以web网页展现(HTML+CSS+JS),通过Django框架设置各个模块的model.py文件,设置数据库的类型,字段等各种数据,进行数据迁移,生成数据库。再按照规范搭建应用,创建视图,完成整个超市系统的设计。本系统有三个整体的大模块,其下包含着一下子模块。具体的模块功能划分如下:商品信息管理:管理员可以对商品进行添加、修改和查询。供应商管理:供应商管理可以查询制造商的信息。退换货管理:退换货管理是超市与供应商协商,因采购产品质量问题、到货晚等原因,要求退货或换货的详细登记。进货管理:对进货信息进行登记。销售管理:需要登记单据信息,订单信息等各种详细的数据。客户管理:客户管理主要是对在超市有交易记录的人的信息进行登记和记录查询。客户退货管理:客户退货管理是超市与客户在超市购买商品后协商退货或换货,但产品存在质量问题,货物迟到等原因需要退换货的一种制度。职工信息模块:对超市员工的信息进行采集归纳,管理员拥有能够随时增删改查的权限。包括姓名、年龄、性别、电话等重要信息。添加进货模块:能够在补充货物或引进新货时对表的一种添加。如图3-1系统功能模块图:图3-1系统功能模块图3.2详细设计3.2.1登陆注册模块本系统的登陆注册模块在系统首页右上角,各自有各自跳转的页面。也可以通过登录页面跳转注册页面,在登录页面设有注册接口。同理,在注册页面也设有登录接口。用户点击打开本系统,通过选择登录与注册界面进行跳转,没有账号登录的时候,点击注册进入页面,注册一个用户,如果用户拥有账号的可以直接选择登录,超市信息管理系统登录注册流程图如图3-2所示:图3-2超市信息管理系统登录注册流程图如果用户没有账号的时候,需要先注册一个用户。注册用户时需要提供用户名,性别,年龄,手机号,邮箱和登陆此账户的密码。这些前台页面填写的数据,当用户点击注册页面中的注册,系统会通过ajax发送到超市信息管理系统后台服务器进行用户信息的存储。用户已有账户的时候,可以选择直接登录,输入账号以及密码的时候,同样也需要通过ajax发送请求,当前服务器会将请求数据的结果返回到前台页面,如果发送的账户和对应账号的密码验证成功之后,跳转到系统的主页,如果账户或者对应的密码没有匹配成功,验证错误,则显示与系统后台服务器验证错误的信息,并给与用户相对应的提示。3.2.2个体管理模块本模块主在方便管理注册用户信息,拥有两大功能,分别是基本设置的更改管理,动态的管理。基本设置包括个人信息的修改,密码的修改。个人信息能够修改头像,用户名,邮箱和手机号。通过提交能够上传到服务器进行更改修改密码需要提供原始密码,并输入两遍新密码进行上传进行修改。 动态管理包括所有动态的显示,和自己发布动态。所有动态可以显示有关于自己发布的所有信息,展示序号、标题、分类名称、关键字、更新时间、状态这几条内容。可以通过最后的删除按钮删除想要删除的一条信息。如图3-3为个人信息管理系统:图3-3个人信息管理系统3.2.3平台整体超市信心管理系统主要为超市员工,供货商,客户等身份的人进行信息的展现服务,所以不光需要能够对自己新的信息的更改能力,还需要能够对所有新的的展示功能,而对每种信息的归纳总结也需要后台的各个模块的分类来进行梳理。(1)平台前台超市信息管理系统的前台就是进入系统以后直接呈现的界面。如图3-4超市管理主页所示:图3-4超市管理主页拥有登陆注册接口(右上角),左侧为超市分类,显示的是本超市的商品分类信息。页面的主体是位于超市分类右侧的动态一栏,能够显示拥有身份的用户发布的信息,例如:商品的信息,今天的进货内容,退货消息等等,在此处均可以进行查看。可以展示出来的是用户发送的消息的标题(卫生纸),对标题的阐述(用户填写时显示的是备注的一个富文本框)位于中间,还有最下方的用户名称,发布的日期时间内容。当然,具体在填写消息内容的时候还需填写更多内容。(2)平台后台平台后台是通过利用Django自带的后台管理界面,利用“pythonmanage.pycreatesuperuser”语句,在按照提示输入必要的信息(用户名,密码,邮箱等信息)进行创建。不光后台搭建成功,而且同时创建了拥有最高权限的后台管理的身份的账户。站台创建后通过对admin.py文件的填写,就能配置好站台页面的呈现。当然需要其他文件(model.py的数据库搭建和迁移)的配合,共同构建。能够呈现出如图超市信息管理系统,如图3-5为超新信息管理系统后台界面:图3-5超市信息管理系统后台界面(3)商品信息模块商品信息模块是能够管理用户输入的商品的各种信息,例如:该商品的分类,关键字,商品名称,单号,供货商,详情(备注),进货时间,是否售罄等内容通过对此信息的保存。点击商品信息,就能够跳转到商品信息的二级页面,此二级页面展示了已经保存的商品信息,通过输入的各种信息进行展示如图3-6所示:图3-6商品信息二级页面(4)供货商管理模块供货商管理模块是保存供货商的各种信息。例如:供货商名称,联系电话等信息的输入,保存到服务器里,与商品信息一样,拥有自己的二级页面也拥有能够执行的动作,供货商的个人信息管理里通过发布动态信息提供自己的供货信息,类别,单号等,在通过销售,使用进货模块记录。(5)分类模块分类模块就是添加进货的模块,能够添加一个新的分类,这个模块也有一个自己的二级页面,能够展示已经添加的分类,右上角就有一个添加分类的按钮,进入添加分类管理,添加一个分类,和数个关键字,保存以后,在用到分类这个模块的信息时,选择好一个类别后,下方的关键字下拉菜单就只会弹出有关于这个分类的内容。例如:选择了食品干货分类,就只能弹出冷藏食品,冷冻食品,粮油等,不会弹出生鲜食品的蔬菜等关键字。(6)进货模块在接收到供货商的供货消息后,由负责管理的人员进行记录,并添加进货模块,按照本模块所需要填写的信息(单号,进货时间等)进行记录,并保存。本模块也具有二级页面,能进行增删改查。(7)退换货模块在需要进行退换货的情况时(这里主要是针对供货商的退货),需要由负责人员(经手人)进行记录,添加退换货模块,按照本模块的要求填写信息,进行记录,要在备注的富文本编辑器填写退货原因。(8)销售管理模块销售管理模块就是对这个日常买卖的消息进行记录,接收每一笔或大或小的业务需求,对价格,单号,卖出日期等进行记录,有需求可备注。(9)客户管理模块客户管理就是对来到本店一次消费到达一定金额的就会有负责人员能够将客户进行身份认证,上传客户的一些非隐私信息。(10)客户退换货管理模块本模块将对客户购买过的一次进行退换消息记录,例如:单号,金额等商品信息,确认符合退换货条件后进行退换,并将此次经历进行记录。(11)职工信息管理模块本模块是对本店员工进行记录,本店员工需要在首页进行注册,在通过身份认证进行认证,通过系统最高权限的管理员在后台进行审批,批准后将能够打开个人管理系统,拥有能够发布消息的权限。3.3数据库设计3.3.1系统实体关系图经过对超市信息管理系统的深入理解,结合上述系统功能需求的要求,对系统数据库进行结构分析。其主要模块数据库E-R图如图3-7所示:图3-7数据库E-R图3.3.2数据库中数据表的搭建登陆后台站点的拥有超级用户权限的用户表如表3-1所示:表3-1超级用户权限用户表登陆注册时所需要的用户表如表3-2所示:表3-2登录注册用户表平台分类关系表如表3-3所示:表3-3平台分类关系表4项目实现4.1登陆注册模块的实现进入首页,选择登陆或者注册按钮,就能够进入登录注册页面,界面效果如下所示,图4-1登录界面:图4-1登录界面如果已经在本系统注册过的用户,就能够直接登陆,通过填写注册时输入的手机号,密码,在按照下方填写正确的验证码,如果不正确,就刷新页面,重新登陆,如果输入正确,直接进入网站首页,图4-2注册界面:图4-2注册界面用户在注册页面或者是登录页面时,填写了用户信息之后,当点击提交这一按钮后,系统的前台将信息通过发送ajax将用户填写的数据传送到系统的后台服务器的数据库,图注册账号时的主要代码如下,图4-3为ajax代码图:图4-3ajax代码图4.2个人管理模块用户获得最高权限管理员的身份认证以后,就能拥有打开个人管理页面的能力,打开的接口就在首页的右上角,点击“我”,就能进入一个二级页——个人主页,如图4-4为个人消息展示界面:图4-4个人消息展示界面本页面能够显示本用户曾经发送过的消息,点击首页返回主页,点击个人后台管理能够进入管理自己用户的一个界面。通过点击各种功能选项,弹出相应的功能界面,个人信息的修改如图4-5所示:图4-5个人信息修改图可以更改自己的头像,用户名,邮箱,手机号,只要点击提交就能够上传的服务器进行修改,修改头像需要双击,就能够选择自己电脑上的图片进行修改,不过有分辨率限制。修改密码如图4-6所示:图4-6修改密码图按照前台要求输入原始密码,新密码,确认密码就能够对自己的密码进行修改。所有动态如图4-7所示:图4-7所有动态图能够展示自己发布过的所有消息,并能对这些消息进行增删改查。发布动态如图4-8所示:图4-8发布动态图4.3平台模块平台模块只有具有最高权限的身份的用户进入,登陆界面如图4-9所示:图4-9后台登陆界面输入错误时显示如图4-10所示:图4-10输入错误用户名或密码输入正确进入后台管理界面如图4-11:图4-11后台管理界面通过点击右上方的查看站点,直接进入系统首页,点击修改密码能修改最高权限账户密码。点击注销返回登陆界面。点击商品信息进入商品信息详情页,其展示的就是已经保存过的商品信息。如图4-12所示:图4-12商品信息后台管理图右侧是过滤器,可以通过点击各种条件筛选信息,网页中间内容通过筛选条件从而更改。也可以通过左上的搜索进行内容的搜索,也会在下方显示搜索内容。还有动作一栏,点击出现下拉菜单,能够弹出三个对话框:删除所选,发布,撤回发布,通过对每条信息左侧的选项框进行选择,在选择动作,点击执行,就能完成命令。本页面右上角有一个增加商品信息按钮点击进入增加商品信息界面如图4-13所示:图4-13增加商品信息图根据填写要求填写进行保存,上传服务器。其他的供货商管理,退货管理等模块异曲同工操作方法相同,在这里不在赘述5系统测试5.1测试过程系统测试主要包括两部分,分别为系统的前台测试和后台测试。5.2兼容性测试本测试主要针对于超市信息管理系统的运行环境和在每种浏览器上进行的测试,测试结果表现出的结果良好,市面上常用的浏览器均能正常使用。5.3系统测试用例如表用户登陆注册模块测试如表5-1所示:表5-1用户登陆注册模块测试用例后台管理员模块测试如图5-2所示:表5-2后台管理员模块5.3.1应用功能系统应用软件经过测试,结果显示系统功能较为完善,且系统功能可以稳定实现5.3.2系统的功能及局限系统经过测试发现一些问题,较为突出的问题如下:(1)数据库结构需要再次进行优化,重复代码偏多。(2)系统中的一些页面不美观。5.3.3建议根据上述问题,提出以下建议:(1)重新梳理数据库结构,同时对代码进行优化(2)进一步加强美工,美化界面。总结本文论述了一个基于Django框架开发的超市信息管理系统,可以说实现了一个基本的超市信息管理系统所拥有的功能。能够让拥有不同身份的人更为方便的管理自己的信息,浏览超市的各种动态信息。超市信息管理系统具有前台功能,例如登陆注册界面,首页界面,还有个人信息界面也是属于前端界面。采用的HTML+CSS+JS的技术语言,在搭建的过程中用的越多,就越能感觉到HTML+CSS语言的不简单,这两个语言是用来网页布局的,控制各种元素的摆放位置生成页面。但是使用起来感觉挺随意的,只要在css设置了属性,就能改变页面,没有固定的方案,而且有的时候各种属性混合起来,在加上继承的属性,有的元素会不按照自己的想法放置,还需要在调整,寻找问题。这是我再使用时遇到的一个麻烦。超市信息管理系统的前台功能也是内嵌入Django框架里面的,放置在静态配置文件里,每一个由Django框架创建的应用都有静态文件和一大堆的Python文件,在搭建这个系统的过程中,也遇到了一些问题,例如:跨域问题,setting文件的配置,数据库的搭建与配置等等,一开始使用的时候还觉得挺麻烦的,没创建一个Django项目都需要更改很多东西,创建一个应用也需要按照规矩,是管理页面跳转的就必须去url.py,是搭建数据库的就需要去model.py等。不过用的多了就感觉其实这个框架是十分方便的,内置了很多东西,包括只需要输入一行代码,就能自动搭建站台,连页面都有,而且还十分好用。参考文献[1]王梓宁,薛益鸽.基于SQL环境下超市管理系统的设计与实现[J].智能计算机与应用,2018,8(03):224-226.[2]李祥和,常利铭.超市后台管理系统软件设计开发[J].电脑编程技巧与维护,2018(04):63-64+85.[3]黄丹.超市管理信息系统的意义——以萍乡市上栗县比一比超市为例[J].市场论坛,2018(02):62-64.[4]张秀萍,易金聪.基于三层架构的超市进销存管理系统的设计与实现[J].福建电脑,2018,34(01):22-23+45.[5]史智臣,刘菲菲,张迎春.基于商品的商业超市管理系统的改进[J].潍坊学院学报,2017,17(06):9-10+19.[6]吕娜,董玉和.社区超市商品智能化管理系统的研究与开发[J].科技经济导刊,2017(16):274.[7]卢毓.基于HTML5的超市综合管理系统的研究与实现[D].吉林大学,2017.[8]吴琼.天扬超市进销存管理系统的设计与实现[D].西安电子科技大学,2016.[9]崔可飞.超市商品管理系统的设计与实现[D].吉林大学,2016.[10]张蕴.浅谈超市管理系统的设计与开发[J].中国新通信,2016,18(22):151.[11]刘琦.基于MVC的超市会员积分管理系统的设计与实现[D].北京工业大学,2016.[12]王海波.高校校园超市管理系统的设计及实现[D].湖南大学,2016.[13]郑小蓉.超市管理系统的面向对象分析[J].科技展望,2016,26(18):4+50.[14]张楠.超市进销存管理系统的设计与实现[J].技术与市场,2016,23(05):265-266.[15]郑哲坚.学校小型超市管理系统设计[J].信息与电脑(理论版),2016(09):99-100.[16]王灏.小型超市管理系统的设计与实现[D].北京工业大学,2016.[17]王开泓.超市仓储物联网系统研究[D].湖南师范大学,2016.[18]张建辉.超市管理系统的设计与实现[D].吉林大学,2015.[19]刘红存.基于MVC的超市进销存系统设计与实现[D].电子科技大学,2015.[20]王立秋.基于C/S模式的超市管理信息系统的设计与实现[D].东北大学,2015.致谢完成毕业设计并将超市信息管理系统运行实现以及撰写论文,在这个过程中,一切都是那么的不容易,在最初的论文定题,完成开题报告,查找超市信息管理系统的相关资料,到最后的完成论文题目的设计和文章的最终定稿。本设计的拟定和完成并不容易,还是要多谢我的校内指导老师穆晓芳老师还有校外企业指导岳英俊老师,正式因为他们的教导,我才能将系统顺利做出,并完成最终的定稿,当然还有一直在背后支持我的家人,感谢父母的培养,从小到大,父母话付出的都很多,在之后的时间里,我要尽我所能的去帮父母减轻生活负担,多孝敬,多陪伴。还要谢谢我的大学同学和宿舍友们四年的陪伴,大学时光,如白驹过隙,从刚进大学门的懵懂到现在的成熟,这期间经历了不少同样也成长了很多,在同学们的身上也学到了很多受益匪浅的道理,以后不管是在学习还是工作生活中都对自己充满了信心。最后要感谢的就是培养了我四年的母校,给我提供了良好的环境,使得我可以在这里学习,成长,越走越远。附录#-*-coding:utf-8-*-
fromckeditor.fieldsimportRichTextField
#导入User
fromdjango.contrib.auth.modelsimportUser
fromdjango.core.validatorsimportRegexValidator
fromdjango.dbimportmodels
fromdjango.utils.safestringimportSafeText
fromuserauth.modelsimportUserasUsers
#Createyourmodelshere.
#分类
classCategory(models.Model):
#db_table=#表名
name=models.CharField(max_length=20,verbose_name='分类')
deflistKeyword(self):
objs=self.keyword_set.all()
arr=[]
foriteminobjs:
arr.append("<estyle='margin:05px'>"++'</e>')
returnSafeText(''.join(arr))
#改提示
listKeyword.short_description='关键字'
#def
def__str__(self):
return
classMeta:
verbose_name='分类管理'
verbose_name_plural='分类管理'
@classmethod
defgetall(cls):
returncls.objects.all()
#关键字
classKeyword(models.Model):
name=models.CharField(max_length=20,verbose_name='关键字')
c=models.ForeignKey(to=Category,on_delete=models.CASCADE)
def__str__(self):
return
#供货商管理
classSupplier(models.Model):
name=models.CharField(max_length=40,verbose_name='供货商',default="",unique=True)
con=RichTextField(max_length=20000,verbose_name='详情',default='')
tel=models.CharField(max_length=11,verbose_name='联系方式',default=0,validators=[
RegexValidator(regex='^(136)\d{8}$',message='手机号不符合规范')
])
def__str__(self):
return
classMeta:
verbose_name='供货商'
verbose_name_plural='供货商管理'
defcc(self):
returnSafeText(self.con)
cc.short_description='详情'
#职工信息管理
classworker(models.Model):
workerName=models.CharField(max_length=10,verbose_name='员工名称',unique=True)
wokerAge=models.IntegerField(default=0,verbose_name="员工年龄")
workerSex=models.CharField(max_length=10,verbose_name="员工性别")
s_time=models.DateTimeField(auto_now_add=False,verbose_name='就职日期')
tel=models.CharField(max_length=11,verbose_name='员工联系方式',default=0,validators=[
RegexValidator(regex='^(136)\d{8}$',message='手机号不符合规范')
])
def__str__(self):
returnself.workerName
classMeta:
verbose_name='职工信息管理'
verbose_name_plural='职工信息管理'
#进货管理
classinfoThing(models.Model):
oddNumber=models.IntegerField(verbose_name="单号",default="0",unique=True)
supplierName=models.ForeignKey(to=Supplier,verbose_name="供货商名称",to_field="name",on_delete=models.CASCADE)
infoTime=models.DateTimeField(auto_now_add=False,verbose_name="进货时间",unique=True)
agent=models.ForeignKey(to=worker,verbose_name="经办人",on_delete=models.CASCADE)
commodityName=models.CharField(max_length=20,verbose_name="商品名称",unique=True)
in_price=models.IntegerField(default=0,verbose_name="入库价格",unique=True)
classMeta:
verbose_name='进货管理'
verbose_name_plural='进货管理'
#商品信息
classPTArticle(models.Model):
#一篇文章一个关键字
c=models.ForeignKey(to=Category,on_delete=models.CASCADE,verbose_name='分类')
k=models.ForeignKey(to=Keyword,on_delete=models.CASCADE,verbose_name='关键字')
author=models.ForeignKey(to=User,verbose_name='超市管理员',on_delete=models.CASCADE)
title=models.ForeignKey(to=infoThing,verbose_name='商品名称',to_field="commodityName",on_delete=models.CASCADE,
related_name="PT_shangpinName")
ordder=models.ForeignKey(to=infoThing,verbose_name="单号",to_field="oddNumber",on_delete=models.CASCADE,
related_name="PT_ordder")
in_price=models.ForeignKey(to=infoThing,verbose_name="入库价格",on_delete=models.CASCADE,related_name="PT_inPrice")
out_price=models.IntegerField(default=0,verbose_name="出库价格",unique=True)
supplier=models.ForeignKey(to=Supplier,on_delete=models.CASCADE,verbose_name='供货商')
con=RichTextField(max_length=20000,verbose_name='详情')
c_time=models.ForeignKey(to=infoThing,verbose_name="进货时间",to_field="infoTime",on_delete=models.CASCADE,
related_name="PT_cTime")
u_time=models.DateTimeField(auto_now=True,verbose_name='最后修改时间')
look=models.IntegerField(default=0,verbose_name='浏览人数')
view=models.IntegerField(default=0,verbose_name='评论数')
status=models.BooleanField(
default=False,verbose_name='是否售罄'
)
classMeta:
verbose_name='商品信息'
verbose_name_plural='商品信息'
ordering=['look','u_time']
@classmethod
defgetall(cls):
returncls.objects.filter(status=True)
def__str__(self):
returnself.title
#客户管理
classcustomerManage(models.Model):
customerName=models.CharField(max_length=20,verbose_name="客户名称",default="")
tel=models.CharField(max_length=11,verbose_name='联系方式',default=0,validators=[
RegexValidator(regex='^(136)\d{8}$',message='手机号不符合规范')
])
address=models.CharField(max_length=100,verbose_name="联系地址")
agent=models.ForeignKey(to=worker,on_delete=models.CASCADE,to_field="workerName",verbose_name="经办人")
buyThing=models.ForeignKey(to=PTArticle,on_delete=models.CASCADE,verbose_name='购买商品')
classMeta:
verbose_name='客户管理'
verbose_name_plural='客户管理'
#销售管理
classSalesManagement(models.Model):
customerName=models.ForeignKey(to=customerManage,verbose_name="购买客户",on_delete=models.CASCADE)
buyThing=models.ForeignKey(to=infoThing,verbose_name="购买商品",on_delete=models.CASCADE,
related_name='sale_maiThing')
oddNumber=models.ForeignKey(to=infoThing,verbose_name="单号",to_field="oddNumber",on_delete=models.CASCADE,
related_name="danHao")
outfoTime=models.DateTimeField(auto_now_add=False,verbose_name="售出时间")
agent=models.ForeignKey(to=worker,verbose_name="经办人",on_delete=models.CASCADE)
commodityName=models.ForeignKey(to=infoThing,verbose_name="商品名称",to_field="commodityName",
on_delete=models.CASCADE,related_name="sale_shangpinName")
out_price=models.ForeignKey(to=PTArticle,verbose_name="售出价格",on_delete=models.CASCADE,to_field="out_price")
classMeta:
verbose_name='销售管理'
verbose_name_plural='销售管理'
#退换货管理
classreturnThing(models.Model):
Supplier=models.ForeignKey(to=Supplier,verbose_name="供货商",on_delete=models.CASCADE)
buyThing=models.ForeignKey(to=infoThing,verbose_name="购买商品",on_delete=models.CASCADE)
oddNumber=models.ForeignKey(to=infoThing,verbose_name="单号",to_field="oddNumber",on_delete=models.CASCADE,
related_name="ordder1")
agent=models.ForeignKey(to=worker,verbose_name="经办人",on_delete=models.CASCADE)
commodityName=models.ForeignKey(to=infoThing,verbose_name="商品名称",to_field="commodityName",
on_delete=models.CASCADE,related_name="shangpinName")
in_price=models.ForeignKey(to=infoThing,verbose_name="购买价格",on_delete=models.CASCADE,to_field="in_price",
related_name="in_price1")
classMeta:
verbose_name='退换货管理'
verbose_name_plural='退换货管理'
#客户退换货管理
classcustome
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 9335:2025 EN Optics and photonics - Optical transfer function - Principles and procedures of measurement
- 【正版授权】 ISO/IEC 27562:2024 EN Information technology - Security techniques - Privacy guidelines for fintech services
- 【正版授权】 ISO 21068-3:2024 EN Chemical analysis of raw materials and refractory products containing silicon-carbide,silicon-nitride,silicon-oxynitride and sialon - Part 3: Determina
- 2025年度数据中心电路改造及智能监控服务协议
- 2025年度金融机构间同业拆借合同模板
- 2025年度办公场地租赁及物业管理合同范本
- 2025年度城市绿化工程项目承包合同范本
- 2025年度城市燃气管道安装工程总承包合同范本
- 2025年度餐饮店铺装修设计与施工合同
- 2025年度恋爱双方恋爱期间责任划分合同模板
- 渐变方格模板
- 潜水作业指导书
- 感谢对手阅读附答案
- 环境因素汇总识别及评价表(保卫部 )
- GB/T 8012-2000铸造锡铅焊料
- 第一课 第一章 AutoCAD 2012概述入门
- GB/T 33880-2017热等静压铝硅合金板材
- 消防安全风险辨识清单
- 超市店长考核方案(实例)
- 2023年版劳动实践河北科学技术出版社一年级下册全册教案
- 方案报审表(样表)
评论
0/150
提交评论