1      采购单模块需求

医院在采购药品时,先创建一个采购单,采购单内容包括本次采购的药品信息(采购量、采购金额),采购单创建成功后,需要提交到监管单位,由监管单位进行审核。审核通过后由供货商按照采购单的内容进行发货,医院收到药品后执行入库操作。

操作流程:

第一步:填写采购单基本信息

采购单明细信息:药品信息id、采购量、采购金额。

添加采购药品:

从本地区供货商药品目录中找采购的药品信息。

采购量确定后,采购金额自动计算出来:

第四步:提交采购单后由监管单位进行审核

本系统实际操作由卫生院对本区域医院下的采购单进行审核。

卫生院首先查询采购单内容,确定没有问题进行审核。

第六步:医院执行入库操作

2      采购单数据模型

采购单基本信息表:

记录了采购单主要信息。

采购单号:相当于订单号,方便管理需要

采购单名称:对采购单简短说明,名称

医院id:创建采购单单位的id(记录单位id而不是用户的id) (外键)

联系人:联系人和建单人可能不是一个人

联系电话:联系人的电话

建单人:创建采购单用户id

建单时间:创建采购单时间,(建议不要在数据库中设置默认值,对业务字段的维护统一在service)

提交时间:采购单创建完毕,提交采购单时记录时间

备注:采购单备注信息

采购单状态:(业务代码存储数据字典:1:未提交、2:已提交未审核、3:审核通过、4:审核不通过)

审核意见:监管单位对采购单审核时意见

审核时间:监管单位对采购单审核时间

对于审核,注意:如果审核业务功能复杂、需求变更可能性大,建议单独创建一个张审核表记录审核信息。

采购单明细信息表:

记录了采购单所采购的药品信息。

采购单id:明细所属的采购单,(外键)

药品信息id:采购单所包含药品,(外键)

供货企业id:采购药品的供货商,创建采购单时就确定了,(外键)

中标价:药品目录中的中标价,一种冗余存储的方法,避免药品目录表中价格变化,日后查询当时购买时定价

交易价:本系统默认中标价和交易价是相同的,通常订单表中包括两个价格:定价、交易价

采购量:对药品购买的数量。

采购金额:等于交易价 * 采购量

采购状态:该药品当前采购状态1、未确认送货  2、已发货、3、已入库、4无法供货

3      分表存储方案

为什么要分表存储?

对于较大的城市,最小的医疗单位数量较大,每年的采购记录数达到上千万,考虑系统可持续性,时间越长采购单表中记录数就越多,对于较复杂的业务(比如统计分析),执行速度就会很慢。从数据库级别出发在表上进行优化不能根据解决性能问题,需要从根本上解决数据存储问题,可以按照一定规则对表进行分割存储。

案例:

全国中小学生成绩管理系统。

记录了全国中小学生成绩信息(主要记录平时成绩),以省为单位设计数据库,成绩记录数非常巨大,系统设计时考虑到数量大会导致查询及统计速度很慢。

按照用户的需求定分表规则,用户是按照学期进行成绩 查询和统计,分表规则定为按学期进行表的创建,每学期创建一张成绩表。

分表规则:

成绩表+4位年份+学期代码

本系统分表规则:

用户按照年份进行采购信息统计、查询,本系统定为按年来创建采购单表。

动态表命名规则:

采购单基本信息表:Yycgd+4位年份

采购单明细表:yycgdmx+4位年份

动态创建表方法:

写一个创建表的存储过程,由存储过程自动创建表,及表相关的对象(触发器、相关的序列、索引、外键),

存储过程的调用由定时任务(操作系统定时任务)来调用。

4      如何实现动态表mapper

4.1     逆向工程如何操作?

逆向工程生成动态表的mapper文件。

不能在逆向工程的配置文件中指定动态表名,比如:yycgd2014,如果这样操作,用户得每年作这个工作。

采用方案:

在数据库中建立一张模版表,模版表结构和动态表结构一样。在逆向工程中生成模版表的mapper文件,生成之后修改生成的mapper文件中表名的组织方式,修改为表名+4位年份,4位年份通过变量传入。

4位年份变量名:businessyear

逆向工程生成的mapper接口调用时一定传入businessyear,注意生成mapper接口中参数是简单类型的无法使用!!!!

4.2     自定义mapper如何操作?

需要程序员自已写sql语句。

Sql语句中如果有动态表,需要在动态表名后边加${businessyear},注意自定义的mapper的parameterType指定的类型中要businessyear属性。

比如:

Select * from yycgd${businessyear}yycgd,yycgdmx${businessyear} yycgdmx

where yycgd.id = yycgdmx.yycgdid

医药采购之采购单模块需求相关推荐

  1. 医药采购之采购单明细列表查询

    1      采购单明细列表 1.1     需求 采购单基本信息保存成功后,进入采购单修改页面,显示该采购单下采购药品明细. 包括以下字段内容: 1.2     实现 1.2.1     dao 自 ...

  2. 医药采购之采购单明细添加查询

    1      采购单明细添加查询 1.1     需求 医院从本区域供货商的药品目录中挑选药品,医院根据查询条件查询本区域供货商的药品目录的信息. 从本地区供货商药品目录中找采购的药品信息. 1.2  ...

  3. 038医疗项目-模块四:采购单模块—采购单数据模型

    上一篇文章我们知道了采购的需求.这篇文章我们就要看一下采购单模块的数据库怎么去建立. 我们设计时采用两张表: 1:采购单基本信息表(YYCGD): 也就是对应的页面上的: 当然我们设计数据库的时候不可 ...

  4. Day206.课程分类【导入功能】前端实现、 课程分类列表【显示功能】、课程管理【模块需求、添加课程功能】 -谷粒学院

    谷粒学院 [课程分类]-导入前端实现 一.配置路由 1.添加路由 src/router/index.js //课程分类{path: 'subject',component: Layout,redire ...

  5. 美格智能受邀参加美国高通与中国电信LTE IoT模块需求对接洽谈会

    8月31日,由美国高通联手中国电信与天翼物联产业联盟主办,浦软孵化器与中国NB-IoT产业联盟协办,物联网智库与全国低功耗广域网络产业联盟承办的<美国高通与中国电信LTE IoT模块需求对接洽谈 ...

  6. 企业电子招投标采购系统——功能模块功能描述

    ​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标.采购合同.采购执行的全过程数字化管理.通供应商门户具备内外协同的能力,为外部供应商集 ...

  7. 企业电子招投标采购系统——功能模块功能描述+数字化采购管理 采购招投标

    ​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标.采购合同.采购执行的全过程数字化管理.通供应商门户具备内外协同的能力,为外部供应商集 ...

  8. 039医疗项目-模块四:采购单模块—采购单的创建-----------Dao层,service层,Acion层...

    我们根据数据库里面的表格:生成对应的Mapper接口文件和...Mapperxml文件: YYCGD:采购单模板表. YYCGD2014:采购单动态生成表,由存储过程生成. YYCGDMX:采购单明细 ...

  9. 较全的OA系统功能模块需求描述

    国内的协同OA软件总体上比以前更智能了,这是近年来比较重要的变化,但不同的产品智能化程度却相差很大.近年来,很多协同OA厂商面临被淘汰的局面,正是由于它们在技术上已经跟不上发展趋势,对于用户不断发展变 ...

最新文章

  1. 四则运算第三次冲刺(项目完成)
  2. [POI2007]ZAP-Queries [HAOI2011]Problem b 莫比乌斯反演
  3. 2016.07.17-18 集合方法
  4. 在WPF中显示动态GIF(转)
  5. qt 加载rtsp流_qt_ffmpeg_rtsp 在QT中拉取RTSP视频流并用FFMPEG解码播放 - 下载 - 搜珍网...
  6. 多叉树的前序遍历_二叉树的非递归遍历的思考
  7. 【市场调研与分析】Intel发力移动安全领域——By Me at 20140613
  8. 手机连接投影机的步骤_家用投影仪如何安装 家用投影仪安装方法【步骤详解】...
  9. LeetCode Binary Tree PostorderTranversal
  10. 手机当电脑音响_华为再添黑科技,手机一碰笔记本,就能互传文件!
  11. ★★停止动画和停止所有动画$(selector).stop() 详解
  12. SO_LINGER选项
  13. CentosOS 7: 创建Nginx+Https网站
  14. 热烈庆祝博客排名进入前一万(8448)
  15. 阿里云跨境电商企业出海最佳实践及数字化解决方案
  16. android nfc 启动流程,android-NFC-如何使用NDEF_DISCOVERED启动应用程序
  17. Python的线程如何理解
  18. 【架构师实践课】单体和微服务怎么选?单体到微服务怎么转?
  19. adsl网站服务器能行不,ADSL用户个人网站服务器创建办法.docx
  20. 深入浅出RPC---4、服务注册发现和健康监测

热门文章

  1. JAVA毕设项目vue健康餐饮管理系统设计与实现(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
  2. python- pandas cumsum用法
  3. 注销QQ和微信的方法
  4. Error adding module to project:null
  5. 首创的电子皮肤模仿人类的疼痛反应
  6. amazon - business 之 references link market
  7. 【WPS表格】条件格式功能的部分运用
  8. 全角半角 6种空白空格的区别
  9. 白话文说哈希Hash是啥?
  10. 命令模式---烧烤点单