博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分享一个大型进销存供应链项目(多层架构、分布式WCF多服务器部署、微软企业库架构)...
阅读量:6419 次
发布时间:2019-06-23

本文共 1342 字,大约阅读时间需要 4 分钟。

  项目源码下载:  WWW.DI81.COM

 

分享一个大型进销存供应链项目(多层架构、分布式WCF多服务器部署、微软企业库架构)

  这是一个比较大型的项目,准备开源了。支持N家门店同时操作。远程WCF+企业库5.0实现。

 这块应该算是库存模块中的核心模块了,因为该块的业务逻辑比较多,比较繁琐,大致讲讲业务逻辑吧,大致的逻辑为:出库单/出库单-->填写订单-->出库/入库-->修改库存信息,按照这个顺序来完成入库出库,顺序不能颠倒,同时还要实现订单的删除,修改,在修改库存信息时由于表和表之间有很多的外键关系,所以要同时删除多张表中含有删除信息的内容,实现联级删除,由于这里考虑到要保证结果的一致性,所以用事务来实现。再看看界面,为了保证用户按照这个逻辑顺序操作,首先我添加了一对单选框(出库单,入库单),当单选框都没有选中时,保存订单按钮、出库、入库按钮都是不可用状态,当用户选择了订单类型之后,保存订单按钮转为可用状态,需要用户填写订单信息,填写好对应信息之后保存订单,保存成功之后列表框中出现刚生产的订单,同时订单号是自动来生成的,入库单是“S_I”开头,出库单是"S_O"开头,后面五位数字为随机生成,这样生成的订单号易于区别,也避免了订单号的重复,然后根据用户选择的订单类型,对应的按钮转为可用(出库单-->出库按钮) ,这样就保证了用户始终是按照这个顺序来操作,同时订单列表框下有删除订单按钮,点击可以删除选中按钮。

 

直接上项目图:共三个项目,

数据实体层,主要用于获取数据。

报表层,用了水晶报表。

业务处理层。用于单独部署一台服务器,用于处理业务逻辑用。

 

 

 

 

 

 

 

在创建具体产品实例的时候我们还用到了缓存机制,每次使用产品功能的时候都回去实例化一个具体的产品返回,所以多次使用同一产品的时候就做了很多无谓的实例化,所以我加了一层缓存,用来将产品的实例缓存起来,下次再需要该产品时直接从缓存中读取就可以了,提高了性能。

我这里用的是Runtime.Cache.Get()来获取存,Runtime.Cache.Insert()来添加缓存。

当然还有一种方法是用HttpContext.Current.Cache.Get()来取,HttpContext.Current.Cache.Insert()来添加缓存。

至于这两者的区别,要涉及到asp.net生命周期和其他方面的一些内容了,这里就不解析了.....

 

SqlDAL中的内容和Oracle类似,也是建立了一个工厂创建具体产品,同样继承并实现了IDAL中定义的方法,这里也不罗列了......

 

 

 

大型的进销存供应链系统源码。WCF架构,微软企业库架构。

想讨论的可以加我 QQ  309159808

email:  309159808@qq.com

WCF 交流群 490206115

分布式有两个大的项目,一个是 实体数据层: EntityFlow,一个是业务处理层 WorkFlow。可以分开部署到多服务器上。实现全球操作。前台采用的是类型SAP系统的WINFORM。如果需要改成WEB。可以直接更改前台即可。后台基本不用动。

 

转载于:https://www.cnblogs.com/oshoh/p/5181057.html

你可能感兴趣的文章
griedview setOnItemLongClickListener 无效
查看>>
pyqt在控件上创建图片
查看>>
邮件服务器被***根源及解决方案
查看>>
Linux IO实时监控iostat命令详解
查看>>
企业软件仓库部署及应用案例(基于CentOS 6的YUM源)
查看>>
探寻路径
查看>>
微访谈活动-企业微博2.0与数据微博营销(转)
查看>>
Android生命周期
查看>>
优酷土豆:财报不是问题!
查看>>
紧急维护,阿里云服务器抢修记
查看>>
linux工具使用
查看>>
站长怎样理性选择虚拟主机
查看>>
linux文件系统\环境变量\帮助文件
查看>>
ioS开发知识(二十二)
查看>>
svn 配置
查看>>
安装saltstack遇到缺包问题!自己遇到的错!若有雷同请海涵
查看>>
数学基础知识03——坐标系变换
查看>>
理解 HashMap 加载因子 loadFactor
查看>>
第三周编程总结
查看>>
发布功能完成
查看>>