基于EntityFrainework的仓库管理系统的设计与开发

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:stcheer
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文介绍了一个在ORM层面使用EntityFramework的倉库管理系统的设计方案。在表示层使用了ASP.NETMVC5,这个也是ASP.NETMVC Core之前的最后一个版本。系统利用了EntityFramwork的一些特性,基于Lambda表达式设计了一些通用的函数,极大地提升了系统的可重用性和可拓展性。基于这套底层框架,以后可以应对各种不同的需求进行快速开发。
  关键词:EntityFramework;ORM;Lambda表达式
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2020)13-0091-02
  1项目背景及需求
  广东邮电职业技术学院有2个大型餐厅为各大师生以及培训人员提供用餐服务。每天的食材进出非常频繁,而且每月需要导出规定格式的报表供财务对账使用。月度供应商需要更新货品的供应品类和对应价格,并且后续有供应商比价的需求。而目前市面上的一些ERP软件,比如用友、金蝶、管家婆等等,其功能都过于繁杂,不利于餐厅管理人员使用,故委托本团队开发一套具有针对性的仓库管理系统,主要功能在于食材的进库、出库、报价、报表导出的管理。
  2系统设计
  本系统使用了ASP.NET MVC5后端架构,运行在IIS服务器上。前端主要使用Bootstrap框架实现用户界面。数据库使用SQL Server 2008R2,运行在阿里云服务器上。
  系统设计:系统除了用户表以外,核心业务表为产品表、供应商表、报价表、品类表、进出记录表,具体列设计可参考图1。为了提高数据库性能,我们删除了大部分外键约束,对象直接关系通过EntityFramework代码在实体类里面体现。
  整个系统使用流程设计如下:
  1)报价单的导入:根据用户的使用习惯,从便利用户的角度出发设计,用户利用Excel导入供应商报价单,这里可能会分别产生产品(食材)表、品类表、供应商表、报价表几个表的数据,但最终用户比较关心的是报价表里面的数据。用户不需要关心产品的ID信息,这个在导人的Excel里面也没有体现,同一个供应商下面相同名称的产品会拥有相同的产品ID;
  2)入库:用户安装供应商供货的Excel进行导人,实际的供货价格可以跟报价有所下降,但不能超出月度报价。也支持单条记录人工录入,但从实际应用场景来看,单条数据录入的使用几率不大;
  3)出库:用户在Web管理界面批量选择需要出库的食材,同一批出库的食材可以来自不同的供应商,不同的进货日期。出库时货品数量安装先进先出的原则进行减扣,优先消耗较早的食材;
  4)月度报表:每月底,导出本月的进出仓记录,供财务部门核对以及部门进货规划使用。
  3系统特色
  本系统在前后端设计领域都有所创新。前端方面,主要是管理后端类型的页面,原则上是有不少现成的uI框架可以直接套用,比如本团队之前一直在使用的AdminLTE。但这些框架一般体积都比较大,这样的弊端是页面首次加载时间较长。为了解决这个问题,我们基于Bootstrap自己写了一套前端皮肤,效果见图2。配合我们的后端程序,可以做到类似C/S程序的ComboBox组件,在下拉菜单里实现输入选项模糊查询的功能,这个功能目前在B/S系统里面都比较少见,但是对用户体验有较大的提升。
  后端框架设计方面,由于EntityFramework已经提供了非常便利的上下文(DbContext)类供数据库操作使用了,能够覆盖大部分的业务场景。唯一不便的就是每个数据表或者视图的带条件分页查询,为此,我们设计了一个通用的DAO类,把实体类作为泛型参数继承一下就可以使用,里面包含了通用的分页函数。而且借助Lambda表达式,我们目前做到了后端零SQL语句,所有数据库操作都通过实体类而不是无法进行语法校验的字符串SQL语句。这样带来的好处是,万一系统进行升级,数据库结构发生改变,Lambda表达式也会做出相应的校验,排除了大部分结构升级带来的代码隐患。
  4总结与展望
  系统刚投入使用不久,由于设计前期投入了大量的调研工作,历时一年进行定制开发,用户表示使用过程流畅舒适,系统功能实用,界面虽算不上华丽,但也算是整洁干净,可见我们在减少用户操作、优化用户体验方面的努力没有白费。
  未来,该系统还计划加入供应商横向比价、二维码扫描进出库、食材跟踪等功能。从技术角度来看都是可以实现的,唯一需要考虑的就是项目进度的时间安排而已。
其他文献
新“人教版”教材《选修3-5》第十六章第1节《实验:探究碰撞中的不变量》的内容有下列一段叙述:  “现在的问题是,碰撞前后哪个物理量可能是不变的?  质量是不变的,但质量并不描述物体的运动状态,不是我们追寻的‘不变量’。速度在碰撞前后是变化的,但一个物体的质量与它的速度的乘积是不是不变量?如果不是,那么两个物体各自的质量与自己的速度的乘积之和是不是不变量?也就是说,关系式:  m1v1
示范区将力争建成中印缅孟经济走廊的关键节点,成为带动云南桥头堡战略的新引擎和西南地区开放的新高地,我国面向东南亚、南亚的门户枢纽。  ——郑新立  2013年5月,李克强总理出访印度,明确提出建立中印缅孟经济走廊,探索互联互通新方式,将我国与印度、缅甸和孟加拉的经贸合作提升到了一个前所未有的战略高度。而要建立中印缅孟经济走廊,就需要具体的规划方案和政策措施。  据《中国经济周刊》独家获悉,目前,关
因地震而引发核泄漏的日本福岛核电站,渐渐远离舆论的漩涡,但围绕“核电”未来的激辩,却远没有结束。A股市场的核电板块整体走低,中国核电项目暂时停建,旧有核电站的安全性所引发的忧虑——核电,在纠结中走进2011年的夏天。  近日,《中国经济周刊》采访了阿尔斯通电力中国总裁杨国威。这家发电设备占全球总装机容量25%电量的行业“大鳄”,也认为应该放弃核电吗?    德国“弃核”对核电不公平    今年63
“别让时间的长河由于缺乏一个记录,而将那些格外重要的事业引入忘却之乡,泯灭得无影无踪。”  公元550年的拜占庭帝国,累年战争后,繁华与强盛已是旧日的回忆。历史记录者普洛科皮乌斯在他八卷的《战史》开端,刻意模仿着古希腊文体,在羊皮纸上留下了上述卷首语。  其实,普氏所尊崇的古希腊史家,追求的是“保存人类的功业”,记录“值得赞叹”的历史。  但普洛科皮乌斯声明,自己的信念是“聪慧伶俐的人适于作演说,
摘 要:本文用思维导图的方法对传统实验设计方案进行改进,并在此基础上提出了相应的对策和建议。  关键词:思维导图;实施方案;实验器材;科学探究  中图分类号:G633.7 文献标识码:A 文章编号:1003-6148(2018)1-0028-2  1 问题提出  在九年级复习“液体蒸发快慢的影响因素”时,笔者根据“浙教版”《科学》七年级上册第148页“探究液体蒸发快慢的影响因素”的探究活动设计了一
2009年4月20日,第十三届上海国际汽车工业展览会(简称“上海国际车展”)在上海新国际博览中心开幕。本次车展共有展车918辆,包括进口车316辆和国产车602辆,全球首发车13款。展车总数量、进口车数量、全球首发车数量均远远超过以往,创造了历次国际车展的新纪录。一汽、上汽、东风、长安、广汽、北汽等国内六大汽车集团首次齐聚上海车展,其他国内自主品牌全线出击,各跨国汽车巨头也均组团参展——中国这个全
英国《经济学人》2017年6月10日    瑞士信貸预测,2017年传统零售业将面临大萧条以来最大程度的关店潮。消费者开始热衷折扣商品,亚马逊和智能手机网购的兴起又让实体零售在价格战中倍感无力。但也有零售公司紧随消费者喜好对门店进行改革,同时发展电子商务平台,创造增长点。如沃尔玛为线上订单提供打折优惠,但条件是消费者要到门店取货,这就为线下超市增加了客流量;百思买集团则为顾客提供智慧家庭专业咨询服
贫困县也不例外  据不完全统计,截至目前,全国已有45个城市限购,除了增加限购区域、限制购买套数、提高首付比例、延长个税或社保缴纳时间等常规政策外,北京、广州、厦门等城市出台了前所未有的调控新政,甚至,国家级贫困县安徽临泉县也紧急对房价进行了限制。  地方国资监管加码 将设负面清单  继国务院国资委出台央企境内外投资负面清单后,近日,包括江蘇、浙江、深圳、重庆等多个地方省市都纷纷开始制定相关细则,
摘 要:考试作为教学评价最直观的手段,其有效性显得尤为重要。随着考试内容和形式的变化,创新性试题可以进一步增强考试的有效性。文章通过分析一元二次方程根与系数关系的数学内涵在高中物理运动学试题中的应用,构建了该数学内涵思想下的运动学物理模型,为考试评价、教学指导以及教师能力的提升提供了参考的依据,也为编制该类型试题提供了一套完整的思路与方法。  关键词:运动学试题;一元二次方程;根与系数关系;数学
食品安全追溯如何实现?  ●肉能追溯到屠宰场,菜最远只能到批发市场  ●短期允许“大体系、小农商”的二元市场存在  ●各部门“分段监管”,再现“九龙治水”之忧  假羊肉、镉大米,时至年末,回忆2013年发生的一次次食品安全风波,仍觉惊心。  对于国人而言,食品安全已是老生常谈,但监控食品保障安全的政策规定不断推出,消费者对食品安全的信心却越来越低。  如何监控食品安全才能达到最佳效果?国际食品法典