CIS-framework之如何运行一个新程序
背景:已经按cis层次结构构建好了一个新的解决方案并且已经成功部署了该服务,如EMR。
疑问:当构建好并部署成功这个新服务后,如何运行新程序呢?
1.首先,将当前程序信息添加到【系统_应用程序表】里,表结构及添加后的数据如下 :
2.配置好程序信息后,添加当前应用程序的权限用户并配置权限,主要操作【系统_权限信息表】、【系统_权限操作员对应表】、【系统_操作员表】
--1.添加应用程序信息 INSERT INTO [EFHISMZ].[dbo].[系统_应用程序表] ([程序ID] ,[程序名称] ,[程序代码] ,[程序类型] ,[开发公司] ,[应用程序主页] ,[输入码] ,[输入码] ,[排序] ,[程序图标] ,[操作员ID] ,[操作时间] ,[状态] ,[权限ID]) VALUES ('C75E5E8F-57FC-4C1B-BF08-269EA147525C' ,'CIS维护' ,'CISWH' ,NULL ,'上海易可思复高数码科技有限公司' ,NULL ,'CISWH' ,NULL ,0 ,NULL ,0 ,Getdate() ,0 ,1000) |
--2.添加该应用程序对应的权限信息 INSERT INTO [EFHISMZ].[dbo].[系统_权限信息表] ([权限id] ,[权限类型] ,[权限名称] ,[权限说明] ,[状态] ,[二次认证标志] ,[输入码] ,[相互认证标志] ,[分类] ,[排序]) VALUES ('1000' ,'系统' ,'APPCIS维护' ,'APP CIS维护的使用权限' ,0 ,0 ,'CISWH' ,0 ,'程序' ,NULL) |
-3.添加操作员与该应用程序的权限信息 INSERT INTO [EFHISMZ].[dbo].[系统_权限操作员对应] ([权限id] ,[操作员id] ,[有效时间] ,[授权类型] ,[参数]) VALUES ('1000' ,1 ,dateadd(year,20,getdate()) ,0 ,NULL) |
3.经过这几步设置后,登陆后就能看到当前用户权限内应用程序的轮盘了。
4.选择住院EMR进入程序常驻界面,由于我们没有注册EMR的菜单项,所以菜单栏是空白的。要注册菜单项,需要操作【系统_菜单信息表】,表结构及新增加的数据如下图
添加菜单信息时,首先添加一个“RibbonPageGroup”的菜单类型用来做子菜单的父容器,添加子菜单时,需要指定该子菜单的父菜单ID、菜单类型(如“BarButtonItem”)等,为了能响应子菜单的点击事件,需要设置命名空间和类名,用来反射调用该子菜单关联的主窗体,如下图。
通过代码挂菜单的方法如下:
public List<MenuEntity> GetMenuList() { List<MenuEntity> l_menuEntity = new List<MenuEntity>(); //诊疗 l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "9958464D-6C57-4CBA-8E12-04E573ADB2A4", "0", "诊疗", EnumRibbon按钮类型.RibbonPageGroup, EnumRibbon按钮风格.Large, 1, 0, "", "", "GFC5KH63", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "5F9A84DD-37F4-4445-8DBB-5789520FCD8E", "9958464D-6C57-4CBA-8E12-04E573ADB2A4", "门诊病人", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 28, 2, "fm选择病人", "A", "A2RW2N8W", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "0609909A-2AC7-4E68-A06A-31C8DC706612", "9958464D-6C57-4CBA-8E12-04E573ADB2A4", "特殊病人", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 31, 3, "fm选择病人", "B", "Q0K3TTNO", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "3091ECC6-27EF-47A1-9D50-BEC5FFC496AD", "9958464D-6C57-4CBA-8E12-04E573ADB2A4", "查询药品", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 203, 4, "fm选择药品", "K", "UN55JKA9", "门诊医生站")); //处方操作 l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "54791224-5645-4BCD-99E9-61FE6B0A399F", "0", "处方操作", EnumRibbon按钮类型.RibbonPageGroup, EnumRibbon按钮风格.Large, 1, 1, "", "", "TT08TUQQ", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "2C60F1F5-39FB-48E8-A829-D3799041E603", "54791224-5645-4BCD-99E9-61FE6B0A399F", "退药申请", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 179, 4, "fm退药申请", "C", "QSF5SSPT", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "6FA22885-6400-41BC-9EC1-09F46BDAF012", "54791224-5645-4BCD-99E9-61FE6B0A399F", "门诊退方", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 71, 5, "fm门诊退方", "D", "NJQWANDV", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "1FEA1952-FA4C-4B78-8C31-8C8BD3A7C991", "54791224-5645-4BCD-99E9-61FE6B0A399F", "退药审核", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 20, 6, "fm退药审核", "F", "5TME7KG5", "门诊医生站")); //统计 l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "8D84EA36-752D-48DD-8657-34D491384879", "0", "统计", EnumRibbon按钮类型.RibbonPageGroup, EnumRibbon按钮风格.Large, 1, 2, "", "", "CSHFBIU7", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "9E48A940-BFA1-4CF9-A9A2-903FC6958589", "8D84EA36-752D-48DD-8657-34D491384879", "查询统计", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 26, 7, "fm查询统计", "F", "WMP77STT", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "6C904DC8-7DD3-4C01-BB44-6E1225FCC990", "8D84EA36-752D-48DD-8657-34D491384879", "门诊日志", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 9, 8, "fm门诊日志", "G", "GBA3O6LY", "门诊医生站")); //模板维护 l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "F89D3968-6595-46B7-92EB-EB6626D627D6", "0", "模板维护", EnumRibbon按钮类型.RibbonPageGroup, EnumRibbon按钮风格.Large, 1, 3, "", "", "V0TFBVAE", "门诊医生站")); l_menuEntity.Add(EFFuncRegister.AddMenu(AppID, HostNamespace, "F8FAA1E2-248F-4204-8C3D-416339469DFC", "F89D3968-6595-46B7-92EB-EB6626D627D6", "诊断别名", EnumRibbon按钮类型.BarButtonItem, EnumRibbon按钮风格.Large, 242, 9, "fm诊断别名", "H", "DI52M94T", "门诊医生站")); return l_menuEntity; } |