星移斗转,时光似箭,不知不觉中,酒店管理系统的开发从开始到现在的结束,已经2个月了,2个月的业余时间,2个月的生活情趣,都寄托在这个软件当中,经历了各种艰苦和困惑,终于得以修成正果---深田之星酒店管理系统的顺利发布。
技术的历程是一个开拓进取、攻克难题的历程,其中有困惑也有兴奋,有苦涩也有甜蜜, 在这个过程中,再一次检阅了我的Database2Sharp代码自动生成的开发工具的,再一次从“深田之星送水管理系统”进行升华,技术从来没有尽头,只有不断完善,以及不断的超越和创新。在这个过程中,总会产生一系列的Q&A,碰到了一个难题,如何寻找相应的解决方法,就是非常有趣的问题了。
写这个随笔的初衷主要不是宣传我做的软件,而是有感而发,感随物现,介绍在其中历程的一些思考和解决方法,介绍做这个酒店管理系统的一些界面和非界面,代码和非代码的东西,和大家做一个交流,希望大家能我从言之无物、略表空洞的文章中捡趣拾遗,略受启发。言毕,晒上所做东西,在继续.......
整个系统的界面布局还是沿用我的“送水管理系统网络版”的界面样式,采用了OutlookBar + Wenfenluo停靠控件,客房状态视图、KTV状态视图、茶室状态视图等都是动态展示相关的房间信息的,因此需要做成控件,整个控件结合了菜单操作,以及公布一些接口给界面调用显示的,封装这块总的还是花费了不少功夫,因为很多时间花费在寻找合适的控件上,寻找是否有人家造好的轮子,以免重复制造轮子。不过再好的轮子,要想用的好,都是需要修改和调整的。由于没有找到很合适的,基本上这个界面都是自己封装控件来实现的。下面几篇文章我会详细介绍一些这方面的知识,为读者,也为自己在技术方面做一个到此一游的标记,N月之后,回头看看,希望仍觉得有用,呵呵。
下面介绍一下另外一个部分,就是下图左边部分的显示,它是一个很好的开源控件,给我进行了适当的封装,里面的显示内容,可以随意定制,因此在客服、KTV、茶室中公用一个状态显示窗口,但是显示的内容不同,界面效果还是不错的。左边的状态那块用的是一个ExploreBar的控件,另外一个比普通按钮好看的是一个不错的按钮类,功能比较强大方便,可以设置 很多种效果,包括各种图片的设置还是很方便的,我这里只是用了它的最原始效果。
下面这个是报表模块中的一部分了,整个系统很多报表,报表都脱不了打印啊、导出啊的功能了,开始想利用ActiveReport做为报表打印的,可是发现为每个不同的报表设计一个报表窗口,实在是消受不起,而且这些内容又是重复再重复的了,因此利用我原先封装好的分页GridView控件就可以了,由于很多报表不需要分页功能,因此再封装一个不用分页,但是有导出、打印功能的GridView控件就可以了。封装后的控件,既能解析类似List<EntityInfo>的格式数据源,也可以解析DataTable的数据格式,还可以对字段的显示名称随意设置,感觉省了很多麻烦。
另外一个就是小票打印了,很多基本上采用了GP5860这种POS打印机进行小票打印了,这种如果是串口的打印,那么很方便,我原来的送水系统中就实现了,而且网上也有POS打印的C#代码,可是如果我偏偏碰到了USB口的小票打印机,那么采用那个就不行了,而且那个没有预览功能,另外USB口的小票打印机和普通的打印机很容易弄错乱,不知道是否他们的打印原理差不多?因此必须解决小票打印机和普通打印机的打印问题,即多个并存,互不影响。这个问题可能是做进销存问题,如果碰到打印机冲突,需要解决的问题之一吧。
主要碰到的问题,基本上就是上面这些,其他的很多事苦力活,界面的设计需要耐心细致,功能的开发调试,更需要一份清晰的开发思路。
在开发这个系统的过程中,越来越感觉积累是很重要的东西(前面开发的软件经验和代码积累),开发的辅助工具(如我的Database2Sharp代码生成工具)也是必不可少,每次能够在已有资源上有所创新,有所超越,是一个非常有趣的心理体验。