




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
S药业库房管理系统设计与实现目录TOC\o"1-3"\h\u第一章引言 1第二章系统分析 22.1需求分析 22.1.1应用现状 2功能全面 2界面简单友好 2性能稳定 2数据安全 32.1.2现行系统问题分析 32.1.3用户权限 32.2可行性分析 32.2.1经济可行性分析 32.2.2技术可行性分析 3第三章系统设计 53.1设计目标 53.2功能设计 53.3数据库设计 63.3.1E-R图 63.3.2数据库结构 6第四章系统的具体实现 104.1开发工具简介 104.2运行环境 104.3命名规范 104.4用户界面设计 10第五章特色功能 205.1查询出入库日志 20第六章结束语 236.1系统的运行效果 236.2系统改进 236.3个人感受 23参考文献 24第一章引言在我国现如今的一个环境背景之下,科学技术日益进步,科技水平日益发展。而现如今这样的环境离不开国家对于科学技术创新事业的大力支持,以及相关制度和法律的不断完善。从世界层面上来看,越来越多的国家也在大力扶持相关产业的发展,在时代的冲击之下,更多的国家都明白大力发展科学技术的重要性,而我们国家也是其中之一。我国的计算机信息技术产业能有如此之大的快速提高,缺少不了国家的敏锐发现以及国家相关政策的大力扶持。当今时代的科技发展程度是全国人民有目共睹的,发展迅速如此之快,普及范围如此之广都是我们之前无法设想的。现如今,我们的社会生活已经和科学技术息息相关,一个手机就能搞定之前身份证、钥匙、公交卡、现金等等物品的功能。与此同时,我们也要紧跟时代的脚步,跟随住时代的洪流,乘好这片江浪不断的发展科学技术。更要关注社会环境的发展,以便顺应时代的发展。管理信息系统(ManagementInformationSystem,简称MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新、拓展和维护的系统。本文根据管理信息系统的定义以及相关的描述进行了系统的设计与开发。伴随着科学技术的不断发展和进步,我们的生活中慢慢有软件来替代一些人工的劳动,简化人工操作中繁琐复杂的事物,通过软件来进行相应的管理。S药业就是这样一个例子,作为河北省沧州市的一家药业企业,其货物的供应量,药品的种类都是繁多复杂的,通过人工的方式去进行管理显然是不太现实。因此,管理信息系统软件便应运而生,这款软件主要对S药业的库房药品、器械、试剂几个方面进行规范化的管理。在近些年来,药业公司的发展迅速,国家也对相关的产业和公司进行了相应的扶持,面对这样的时代红利,使用更高效的管理信息系统软件来管理库房才能有更良好的效果。良好的管理信息系统能大幅度提高人员管理库房的效率,也能让每次的操作都有迹可循,完善和规范了管理的流程,让公司对库房的管理能够实现自动化和信息化。第二章系统分析2.1需求分析2.1.1应用现状《S药业库房管理系统》产品定位为中小型药品库房的管理。也适用于其他药品公司的库房管理。功能全面《S药业库房管理系统》的设计与开发是以S药业有限公司的库房管理人员需求来进行的,本管理系统软件按照功能分为四个部分,第一个部分是物品管理,分别有药品管理、医疗器材管理、化学试剂管理;第二个部分是入库管理,分别有药品入库、医疗器材入库、化学试剂入库;第三个部分是记录管理,对药品出入库的记录进行查看和管理;第四个部分是人员管理,分别有修改账号密码、添加操作员、删除操作员等功能。总体来看,本管理系统功能覆盖全面,对于各类药物相关的物品并不仅仅局限于药品都统一进行了管理。界面简单友好《S药业库房管理系统》在设计初期就规划设计成简单清爽的界面,本系统采用的IDE环境是vs2019,为设计UI界面设计提供了更多的可能性。界面设计黑灰色为主色调,并且以左侧导航栏的方式进行功能按钮的安排和设计,让用户一登录界面就能了解该系统所拥有的功能。界面中间设计了欢迎语句以及用户的角色提醒,让用户在使用该系统的过程中也能时刻注意到自己的角色职责。并且在界面右侧有时钟提醒,采用的为24小时计时。界面右上角为退出按钮,点按即可退出,按钮的位置设计也符合用户传统操作Windows的习惯。本系统可以使用鼠标和键盘进行操作和输入,并且在输入过程中对输入内容进行了相应的限制,其中包括了是否为空白、输入内容是否合法、限制只能输入数字或只能输入中文等等。这些限制也提高了系统的稳定性以及用户的体验。性能稳定该系统经过多重测试,在长时间使用以及多次重复登录等情况下均能稳定运行。该系统可以胜任中小型药业公司的库房管理工作。数据安全本系统采用SQLserver2019作为数据库,新版的SQLserver让该数据库中保存的数据能更加安全的存储。非授权人事不能查看或修改数据库中的内容。2.1.2现行系统问题分析(1)系统的入库还是需要人工输入信息,可以结合设备进行优化。(2)系统的人员只有操作员和管理员两类,现实情况可能更多,需要考虑更多人员安排。(3)系统对于出入库的流程方面还需更加细化,需要考虑更复杂的现实情况。2.1.3用户权限表2-1用户权限表用户类型权限操作员药品、医疗器材、化学试剂的入库出库管理、物品信息管理、修改密码、查看主页、退出管理员在操作员权限的基础上加上,药品出入库的日志查询管理、操作员管理2.2可行性分析为软件开发人员及系统管理人员提供关于该项目的可行性总结,从经济、技术、生产、各种环境等因素进行调查,研究分析来确定项目是否可行,估计经济效益以及产生的影响。2.2.1经济可行性分析该软件在设计开发时使用的软件分别是VisualStudio2019以及SQLserver2019,这两款软件使用人数众多属于热门开发软件,所以购买正版的途径较多,并且软件价格在合理范围之内。本系统对于硬件配置要求不高,最基本的计算机即可运行。药业公司只需支付开发软件的费用以及购买软件的费用即可,而本软件对于库房的管理方面有着较大程度的提高,可以节约部分人工成本。该系统操作使用简单,对于不常使用计算机的人群也能简单上手使用,所以培训方面的费用也能大部分节省。总的来说,该系统从开发到投入使用,所投入的费用与后期为公司库房管理方面节约的成本以及提高的效率来说,费用是合理的,从经济上分析,该系统是可行的。2.2.2技术可行性分析就目前使用的开发技术来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。第三章系统设计3.1设计目标本系统的设计是致力于帮助S药业公司实现库房药品、医疗器材、化学试剂等物品的规范流程化管理。(1)基本的登录,登录时可选择相应的角色,分别是管理员和操作员两种可选(2)对系统中入库的药品进行管理,包括药品的信息入库,药品出库,修改药品的实际信息。(2)对系统中入库的医疗器材进行管理,包括医疗器材的信息入库,医疗器材出库,修改医疗器材的实际信息。(3)对系统中入库的化学试剂进行管理,包括化学试剂的信息入库,化学试剂出库,修改化学试剂的实际信息。(4)修改每个药品、医疗器材、化学试剂的详细信息,并保存到系统中。(5)查看药品每一次的出库入库记录信息。(6)管理员可以对操作员的账号进行管理,对操作员账号进行增加和删除。(7)界面主页显示用户的姓名和角色,并显示时间。3.2功能设计根据以上设计目标,S药业库房管理系统设计的功能模块图如下:图3-1S药业库房管理系统功能模块图该系统是按照药店库房的管理要求和规范进行设计和开发的,从功能划分,将系统分成了五个大模块十三个小模块,第一部分是用户基本信息部分,其中包括了用户名和用户类型;第二部分是库存管理,其中包括了药品管理、医疗器材管理、化学试剂管理,在此基础之上还进行了细分,每个管理模块都还包括修改信息和出库功能;第三部分时入库管理,其中包括了药品入库、医疗器材入库、化学试剂入库,入库过程中可以详细编辑入库物品信息;第四部分是出入库日志管理,其中包括出库记录日志和入库记录日志,可以随时对日志进行查看;第五部分是人员信息管理,这一部分包括了修改密码,增加操作员和删除操作员功能。3.3数据库设计3.3.1E-R图在S药业库房管理系统的数据库设计概念结构中,有多个实体以及属性,数据库的E-R图如下:图3-2数据库E-R图3.3.2数据库结构本系统一共使用了六张表,分别是T_Drug(药品表)、T_Equipment(医疗器械表)、T_Reagent(化学试剂表)、T_InDrugLog(药品入库日志表)、T_OutDrugLog(药品出库日志表)、T_User(用户表)。(1)T_Drug(药品表):此表用来存储S药业库房中的药品信息。表3-1T_Drug(药品表)序号列名数据类型长度标识主键允许空列说明1drugIdvarchar50药品id2drugNamenvarchar20药品名称3drugDatedate生产日期4drugProducernvarchar20生产商5drugPricedecimal18药品单价6drugCountsint药品数量7storehouseTypenvarchar5药品类型8drugDetailnvarchar255√药品描述9isPrescripitonnvarchar10是否为处方药(2)T_Equipment(医疗器械表):此表用来存储S药业库房中的医疗器械信息。表3-2T_Equipment(医疗器械表)序号列名数据类型长度标识主键允许空列说明1equipmentNamenvarchar20医疗器械名称2equipmentProducenvarchar10医疗器械生产商3equipmentCountsint医疗器械数量4equipmentPricedecimal18医疗器械单价5equipmentTypenvarchar10医疗器械类型(3)T_Reagent(化学试剂表)此表用来存储S药业库房中的化学试剂信息。表3-3T_Reagent(化学试剂表)序号列名数据类型长度标识主键允许空列说明1reagentNamenvarchar10√化学试剂名称2reagentNaturenvarchar10化学试剂性质3reagentProducenvarchar10化学试剂生产商4reagentCountsint化学试剂数量5reagentPricedecimal18化学试剂单价6reagentTypenvarchar10化学试剂类型(4)T_InDrugLog(药品入库日志表):此表用来存储S药业库房中的药品入库记录信息。表3-4T_InDrugLog(药品入库日志表)序号列名数据类型长度标识主键允许空列说明1drugIdnvarchar10药品id2drugNamenvarchar10√药品名称3drugProducernvarchar10√药品生产商4inDatedate√入库日期5inCountsint18√入库数量6operatornvarchar10√操作人姓名(5)T_OutDrugLog(药品出库日志表):此表用来存储S药业库房中的药品出库记录信息。表3-5T_OutDrugLog(药品出库日志表)序号列名数据类型长度标识主键允许空列说明1drugIdnvarchar10药品id2drugNamenvarchar10√药品名称3drugProducernvarchar10√药品生产商4outDatedate√出库日期5outCountsint18√出库数量6operatornvarchar10√操作人姓名(6)T_User(用户表):此表用来存储使用系统的用户信息。表3-6T_User(用户表)序号列名数据类型长度标识主键允许空列说明1userIdint用户id2userNamenvarchar15用户姓名3userPasswordvarchar11用户密码4userTypenvarchar10用户类型第四章系统的具体实现本系统的软件环境是VisualStudio2019和SQLserver2019分别作为开发环境和数据库环境。使用的编程语言是C#。4.1开发工具简介VisualStudio2019(简称VS2019)是美国微软公司的开发工具包系列产品,它包括了整个软件生命周期中所需要的大部分工具,最主要的还是集成开发环境(IDE)并且它支持各类语言其中就包括本系统使用的C#语言。SQLserver2019也是由微软公司开发的关系数据库管理系统,它提供了图形化的界面更好的方便我们对数据库中的信息进行操作,并且安全、性能都很高,操作简单易上手。4.2运行环境操作系统:Windowsxp;win7;win8;win10数据库管理系统:SQLserver2019网络协议:TCP/IP硬件要求:IntelCorei3以上,2G内存,20G硬盘空间4.3命名规范为了代码简洁、规范易懂,本系统在开发过程中使用了统一的代码规范对代码的命名进行了要求。其中类名使用大驼峰命名,方法使用小驼峰命名,类名和数据库的定义以中文含义的对应英文单词命名。4.4用户界面设计登录界面说明:登录界面主要由用户姓名输入框,用户密码输入框以及用户类型下拉框组成,用户打开程序后就会出现登录界面,通过输入正确的账号密码和选择相应的用户类型即可登录成功。对于错误的账号密码信息,会弹出提示框提示“账号或密码错误,请重新输入”。图4-1登录界面实现代码:usingSystem;usingSystem.Windows.Forms;usingUtils;usingEntity;usingBLL;namespaceMedicineManagementSystem{publicpartialclassFrmLogin:Form{publicstaticstringuserName;publicstaticstringuserType;publicFrmLogin(){InitializeComponent();}///<summary>///登录按钮///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidskinButton1_Click(objectsender,EventArgse){try{UserBLLuserLoginBLL=newUserBLL();FrmMainfrmMain=newFrmMain();CheckTextComboNullUtil.Judge(skinPanel1);UserEntityuserEntity=newUserEntity();if(cboUserType.Text==""){thrownewException(SelfDefinedExceptionUtil.SELECTUSERTYPE);}userEntity.userName=txtUserName.Text.Trim();userEntity.userPassWord=txtPassWord.Text.Trim();userEntity.userType=cboUserType.Text.Trim();userName=txtUserName.Text.Trim();userType=cboUserType.Text.Trim();userLoginBLL.UserLogin(userEntity);this.Hide();frmMain.Show();}catch(Exceptionex){ClearTextBoxUtil.ClearText(skinPanel1);//清空文本框txtUserName.Focus();//焦点在第一个文本框中MessageBox.Show(ex.Message,ConstantUtil.WARN,MessageBoxButtons.OK,MessageBoxIcon.Warning);//显示异常信息}}privatevoidbtnExit_Click(objectsender,EventArgse){this.Close();}privatevoidFrmLogin_Load(objectsender,EventArgse){cboUserType.Items.Add("管理员");cboUserType.Items.Add("操作员");}}}///<summary>///用户登录///</summary>///<paramname="userEntity">用户实体</param>publicvoidUserLogin(UserEntityuserEntity){//判断用户是否存在js.Success(userDAL.GetUserPWDByUserName(userEntity.userName).Count,SelfDefinedExceptionUtil.ACCOUNTPWDERROR);//判断密码是否正确List<UserEntity>list=userDAL.GetUserPWDByUserName(userEntity.userName);js.Success(list.Count,SelfDefinedExceptionUtil.ACCOUNTPWDERROR);if(list[0].userPassWord!=userEntity.userPassWord){thrownewException(SelfDefinedExceptionUtil.ACCOUNTPWDERROR);}if(list[0].userType!=userEntity.userType){thrownewException(SelfDefinedExceptionUtil.USERTYPEERROR);}}///<summary>///用户登陆///</summary>///<paramname="userName"?>用户实体</param>///<returns></returns>publicList<UserEntity>GetUserPWDByUserName(stringuserName){stringsql="selectuserName,userPassword,userTypefromT_UserwhereuserName=@userName";SqlParameter[]parameter={newSqlParameter("@userName",userName)};returnGetList(sql,parameter);}输入正确的用户名和密码即可进入主界面:图4-2系统主界面(1)主页展示当在左侧导航栏切换到主页这一选项卡的时候,将中间的面板位置替换为图片,并且在图片上方一栏标注了登录系统的用户名和用户类型,左侧的一角也设置了时间显示。usingMedicineManagementSystem.Controls;usingSystem;usingSystem.Windows.Forms;namespaceMedicineManagementSystem{publicpartialclassFrmMain:Form{privateQueryInfoqueryInfo;privateDrugsManageDrugsManage;privateIndexindex;privateModifyPasswordmodifyPassword;privateQueryDrugsLogqueryDrugsLog;privateOperatorOperator;privateEquipmentManageequipmentManage;privateReagentsManagereagentsManage;privateStorehouseManagestorehouseManage;privatevoidinit(){queryInfo=newQueryInfo();DrugsManage=newDrugsManage();index=newIndex();modifyPassword=newModifyPassword();queryDrugsLog=newQueryDrugsLog();Operator=newOperator();equipmentManage=newEquipmentManage();reagentsManage=newReagentsManage();storehouseManage=newStorehouseManage();}publicFrmMain(){InitializeComponent();init();AddControlsToPanel(index);}privatevoidmoveSidePanel(Controlbtn){panelSide.Top=btn.Top;panelSide.Height=btn.Height;}privatevoidbtnHome_Click(objectsender,EventArgse){moveSidePanel(btnHome);AddControlsToPanel(index);}privatevoidbtnDrugsManage_Click(objectsender,EventArgse){moveSidePanel(btnDrugsManage);AddControlsToPanel(DrugsManage);}privatevoidbtnEquipmentManage_Click(objectsender,EventArgse){moveSidePanel(btnEquipmentManage);AddControlsToPanel(equipmentManage);}privatevoidbtnReagentsManage_Click(objectsender,EventArgse){moveSidePanel(btnReagentsManage);AddControlsToPanel(reagentsManage);}privatevoidbtnModifyPWD_Click(objectsender,EventArgse){moveSidePanel(btnModifyPWD);AddControlsToPanel(modifyPassword);}privatevoidpictureBox2_Click(objectsender,EventArgse){System.Environment.Exit(0);}privatevoidAddControlsToPanel(Controlc){c.Dock=DockStyle.Fill;panelControl.Controls.Clear();panelControl.Controls.Add(c);}privatevoidFrmMain_Load(objectsender,EventArgse){lblName.Text=FrmLogin.userName;lblType.Text=FrmLogin.userType;timer1.Start();if(FrmLogin.userType=="操作员"){btnLog.Visible=false;btnOperator.Visible=false;}}privatestringformat="HH:mm:ss";privatevoidtimer1_Tick(objectsender,EventArgse){lblTime.Text=DateTime.Now.ToString(format);}privatevoidbtnLog_Click(objectsender,EventArgse){moveSidePanel(btnLog);AddControlsToPanel(queryDrugsLog);}privatevoidbtnOperator_Click(objectsender,EventArgse){moveSidePanel(btnOperator);AddControlsToPanel(Operator);}privatevoidbtnStorehouseManage_Click(objectsender,EventArgse){moveSidePanel(btnStorehouseManage);AddControlsToPanel(storehouseManage);}}}(2)药品管理对S药业库房中存放的药品进行管理,其中包括药品的查询、修改药品的详细信息、药品出库这三个主要功能。图4-3药品管理界面(3)医疗器材管理对S药业库房中存放的医疗器材进行管理,其中包括医疗器材的查询、修改医疗器材的详细信息、医疗器材出库这三个主要功能。图4-4医疗器材管理界面(4)化学试剂管理:对S药业库房中存放的化学试剂进行管理,其中包括化学试剂的查询、修改化学试剂的详细信息、化学试剂出库这三个主要功能。图4-5化学试剂管理界面(5)入库管理:对S药业库房中存放的药品、医疗器材、化学试剂进行入库管理,通过填写药品、医疗器材、化学试剂相应的内容点击添加即可入库。图4-6入库管理界面(6)修改密码:对用户的原密码进行修改,需要输入原密码、新密码和确认新密码,全部正确后会显示操作成功的提示框,用户的密码也修改成功。图4-7修改密码界面(7)出入库日志:通过这个功能可以查询某个日期之前所有的出库入库记录的信息。如果日期不合理将不允许查询。图4-8出入库日志界面(8)操作员管理:在这个功能页面可以增加和删除操作员,增加操作员需要设置新操作员的姓名、密码和确认密码,这三个信息都正确之后即可成功添加操作员。图4-9操作员管理界面(添加) 删除操作员可以选择列表中的某个操作员进行删除操作,如果是刚刚添加了操作员可以使用刷新按钮进行刷新。图4-10操作员管理界面(删除)第五章特色功能5.1查询出入库日志功能介绍: 本功能的设计初衷是为了让出库的数据都能有迹可循,加强工作人员对库存数量的管理。通过设置不同的时间节点,用户可以查询不同时间以前的出入库数据信息,管理员也可以通过这个记录来监督操作员是否有不合理出库入库行为,提高了管理员的对信息的把控。图4-11出入库日志查询界面实现代码:usingSystem;usingSystem.Windows.Forms;usingEntity;usingBLL;namespaceMedicineManagementSystem.Controls{publicpartialclassQueryDrugsLog:UserControl{InDrugLogBLLinDrugLogBLL=newInDrugLogBLL();OutDrugLogBLLoutDrugLogBLL=newOutDrugLogBLL();publicQueryDrugsLog(){InitializeComponent();}///<summary>///入库///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidbtnQuery_Click(objectsender,EventArgse){dataGridView1.AutoGenerateColumns=false;//禁止dataGridView自动生成列dataGridView1.DataSource=inDrugLogBLL.GetInDrugLog(dateTimePicker1.Value);}///<summary>///出库///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidbutton1_Click(objectsender,EventArgse){dataGridView2.AutoGenerateColumns=false;//禁止dataGridView自动生成列dataGridView2.DataSource=outDrugLogBLL.GetOutDrugLog(dateTimePicker2.Value);}}}///<summary>///查询入库记录///</summary>///<paramname="datetime"></param>///<returns></returns>publicList<InDrugLogEntity>GetInDrugLog(DateTimedatetime){List<InDrugLogEntity>list=inDrugLogDAL.GetInDrugLog(datetime);returnlist;}///<summary>///查询入库记录///</summary>///<paramname="datetime"></param>///<returns></returns>publicList<InDrugLogEntity>GetInDrugLog(DateTimedatetime){stringsql="selectdrugId,drugName,drugProducer,inDate,inCounts,operatorfromT_InDrugLogwhereinDate<=@inDate";SqlParameter[]parameter={newSqlParameter("@inDate",datetime)};DataTabletable=SqlHelper.GetDataTable(sql,parameter);List<InDrugLogEntity>list=ConvertSQLHelperUtil.ConvertToModel<InDrugLogEntity>(table);returnlist;}///<summary>///查询出库记录///</summary>///<paramname="datetime"></param>///<returns></returns>publicList<OutDrugLogEntity>GetOutDrugLog(DateTimedatetime){List<OutDrugLogEntity>list=outDrugLogDAL.GetOutDrugLog(datetime);returnlist;}///<summary>///查询出库记录///</summary>///<paramname="datetime"></param>///<returns></returns>publicList<OutDrugLogEntity>GetOutDrug
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇科护理试题库及答案
- 了解考点分析纺织品设计师证书考试试题及答案
- 2024年纺织行业数字营销的实施案例试题及答案
- 刺猬原理面试题及答案
- 广告设计师考试2024年操作技能试题及答案
- 助理广告师效果监测试题及答案解读
- 2024年国际商业美术设计师考试试题及答案解读
- 宝安美术面试题及答案
- 2024广告设计师考试重点试题及答案
- 2024年纺织品检验员技能提升措施试题及答案
- 运动员心理调适静疗小组工作计划
- 2025湖南建投集团春季校园招聘239人笔试参考题库附带答案详解
- 贷款合同授信协议
- 工程抗震考试试题及答案
- 2024年陕西延长石油有限责任公司管理人才招聘真题
- 思政微课红色教育
- 2025年安徽省马鞍山花山公安分局辅警岗位招聘48人历年自考难、易点模拟试卷(共500题附带答案详解)
- T-CNAS 12-2020 成人经口气管插管机械通气患者口腔护理
- 储能与燃机协同调峰:集成压缩空气储能与燃煤系统的建模与热力学分析
- FSC-COC体系管理手册
- 手术部位标识国家标准(2023版)
评论
0/150
提交评论