公司治理与内部控制研究-以康美药业事件为例_第1页
公司治理与内部控制研究-以康美药业事件为例_第2页
公司治理与内部控制研究-以康美药业事件为例_第3页
公司治理与内部控制研究-以康美药业事件为例_第4页
公司治理与内部控制研究-以康美药业事件为例_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

公司治理与内部控制研究--以康美药业事件为例养老院管理系统目录TOC\o"1-3"\h\u摘要 一、引言(一)养老院管理系统的现状目前,中国人口的老龄化日益增加,养老院对老人的晚年生活提供了莫大的帮助,让他们可以在这里度过美好的生活。疗养院是中国的慈善机构和非营利组织。养老院的发展历经了一种复杂交错的经济运动-从它诞生到运行,最终到发展,并且在此期间出现了各种管理问题,在养老院基础设施和支持设施方面的投入过多,运营和发展面临巨大压力,老龄化机构的低利润率严重影响可持续发展。人口老龄化正在加速,对养老院的需求持续增长。疗养院供应不足,管理混乱,供应缺口逐渐扩大。人口的增长,使得养老院得到了广泛关注。本文基于一个非营利组织在中国的养老院,通过研究其财务报表,我清晰的掌握了它的现状及存在的问题,并找到行之有效的解决措施。在保证慈善事业发展的同时,我会努力解决好这些问题。(二)选题的目的与意义当今时代是信息高速发展的时代。信息处理在生活的各个领域都是密不可分的,计算机现在信息管理系统环境中得到了广泛的应用。计算机的一个优点是可以用于数据管理。使用计算机进行信息管理一边能够提高工作效率,也能够给管理者带来更加直观的数据透析。计算机可以利用此优势,特别是在管理复杂信息方面。IT信息管理与信息管理系统的开发紧密相关。系统开发是系统管理的前提。该系统旨在正确管理有关疗养院的信息。作为信息资源的分配中心,养老院拥有大量的信息和数据,大量的人员信息,包括工作人员和用户的资料。许多养老院都没有专门的管理软件,甚至不使用计算机来进行信息管理。研究表明,过去信息管理的主要方法是基于对纸张,表格和其他纸张介质的手动处理。统计和验证通常用于管理老人的信息(老人的身份信息,和其家属的信息)。手动检查和处理每个老人的身份信息,数据的工作量很大且易出错。由于大量数据,很容易丢失并且很难找到。通常缺少系统的和标准化的信息管理工具。一些疗养院拥有计算机,但尚未用于信息管理,效率不高,并且资源相对较少。数据处理是手动完成的,工作量很大,出错率很高,出错后不容易更改。养老院使用人工计算的方法来手动管理养老院老人的信息。因为信息量很大,因此养老院老人的信息的管理既复杂又复杂。老人家属信息不完善,无法及时联系到老人家属。老人的家属无法实时查看老人最近的生活情况。护理的员工缺乏很专业的技能,缺乏责任心,导致养老院没有规范的管理。关于这些问题,应制作一个规范的管理系统,组织和编程养老院管理任务,提高信息处理速度和准确性,并使查询得以执行。为您需要建立及时,准确和有效的方法。并更正老人的情况。随着养老院规模的不断增长,老人,工作人员的数量也相应增加,有关老人的各种信息的数量增加了一倍。面对大量信息,传统的手动管理可能导致养老院管理混乱。人力物力的过度浪费,疗养院管理成本上升导致疗养院负担增加,并影响整个养老院的运营和管理。因此,需要开发一种合理,有效,标准化和实用的养老院管理系统。老人信息和资料的集中和集成管理。系统开发的总体设计目标是使养老院管理系统化,标准化和自动化,并实现老人信息资料的集中和集成管理。该系统实现了多种功能,例如查询老人信息,管理老人信息和管理老人家属用户个人信息,从而可以快速有效地执行老人的管理。和仓库库存的管理。二、相关技术介绍设计首先检查所需的数据,并了解养老院管理的基础知识与用户在各个角度的需求,包含目前与未来的需求。其次,据的六个阶段(需求分析,系统结构的设计,逻辑系统结构的设计,物理系统结构的设计,数据库的实现,数据库的运行和维护来进行)设计与实施。(一)Spring的简单介绍Java上的开源程序框架之一的springboot框架,能够给容器给予控件反转功能。Spring框架自身没有什么限制作用对编程的模型,但是因为它很常在Java应用程序中使用,所以,它也能够作为EJB(EnterpriseJavaBeans)模型的补充或者是代替。Spring框架的作用可以是开发,例如使用控件反转的核心功能,通过通过依赖项注入实现控件反转来实现托管对象生命周期容器,以及使用面向方面的编程进行声明性事务管理和集成。提供一系列解决方案各种持久性技术提供了许多良好的Web框架来管理数据访问并简化开发。SpringFramework有一个旨在简化项目维护和测试的反转控制(IOC)功能,是通过Java反射机制集成和控制Java对象的其中一种方案。在Spring的框架里,对象的生命周期利用容器来进行管理。容器通过扫描Java类中的特定文件或者XML注释来创建对象。从依赖项注入中获取对象。Spring框架拥有指向对象的编程(AOP)框架,此框架基于代理模型,可以在运行时进行配置。Spring框架的AOP框架只给予根本的AOP功能,没有办法跟AspectJ框架对比,但通过与AspectJ集成也可以满足基本需求。运用SpringAOP的技术,能够在Spring框架中完成事务管理与远程访问的一些功能。Spring的事务管理框架为Java平台提供了一个抽象的机制,使您可以在存储点和Java平台上的差不多所有环境中运行本地与全局事务以及嵌套事务。Spring合并了多个事务模型。该系统可以通过事务模型,XML或Java注释来组织事务,并且事务框架包括诸如发送和缓存消息之类的功能。Spring的数据请求框架为研发者在此应用程序运用过程里数据库所面对的频繁所见的问题提出了解决方法。除了支持所有流行的数据访问框架(JDBC,iBATS/MyBATI,Hibernate,Java数据对象(JDO),ApacheOJB,ApacheCayne等)之外,您还可以使用Spring事务管理来提供数据访问可以的灵活的抽象。开发人员不愿意Spring框架构建了自己的WebMVC框架。开发的过程中,开发人员觉得仅将表示与请求处理层和现有的StrutsWeb框架模型区分开是不够的。SpringMVC。(二)jsp页面的简单介绍JSP(全名JavaServerPages)是根据SunMicrosystems构建的动态Web技术来进行标准的。将JSP分布到Web服务器用来回应客户端发来的申请,根据申请的内容,自动的生成HTML、XML或者其它形式的前端,最后让它返回给请求者。JSP技术应用Java语言做为脚本语言来处理用户HTTP请求,并且让服务器上的其他Java程序处理复杂的业务需求。JSP让Java代码以及一些更改镶入到静态页面里面,同时运用模板做为模板动态把其中的一部分生成。它也带入一类叫作JSP操作的XML标记,它使用内置函数。您还可以创建JSP标记库,然后将它用作标准HTML或者XML的标记。标签库的使用是一个平台问题。能够改善功能与服务器性能。标记库是跨平台的,可以诊断的、改进的性能和服务器性能。它运行的时候,编译器把JSP文件转换为简单的代码。JSP编译器将JSP文件编辑成为用Java代码servlet编辑的二进制机器码,然后将其编译为二进制机器码。特点:1、一种以模板方式添加动态Web内容的简单有效的方法。2、使用javabean和标记库技术来检查经常使用的代码。标记库有一个通用的内置标记(JSTL),它还提供了可扩展的自定义标记。3、卓越的工具支持。4、和Java语言一样的易用性。5、有跨平台优势,并使其“可以在一编写,任何位置运行”。正因为这个特点为它提供了许多支持Java和相关技术的开发平台,网站开发人员可以选择在所选的系统平台上运行JSP开发。所有客户端都可以轻松访问在不同环境中开发的JSP项目。6、页面的动态(控制内容更改的部分)/静态(不需要更改的部分)区域以分布式但有序的方式进行分组,从而使页面代码的整体结构更加直观。设计页面效果和程序逻辑可以很容易地分开(外观视图和逻辑分开)。这样,可以分配人员,并利用他们各自的优势来有效地进行分工与合作。7、可与其他企业Java技术互操作。JSP只能负责在页面中显示数据以实现分层开发。三、系统设计(一)系统设计目标养老院的公共老人信息搜索系统主要用于当今大多数养老院工作单位中的管理员在管理老人信息和用户时使用的应用程序系统。老人信息查询和员工管理功能。这使用户可以在登录系统并查看对应的老人信息和修改用户自己的信息。该系统充分结合了传统和现代养老院管理查询系统的特点,使该系统不仅可以满足应用系统的相关要求,还可以满足不同养老院单位的个性化需求。使用该系统为用户服务既方便又灵活。使用数据库技术来系统地和程序化地组织和管理养老院中的数据和信息。相比以前效率低下并且很容易出错的养老院信息管理来说,新的养老院管理系统与网页系统结合在一起。管理老人信息和搜索和等操作已集成到一个高级管理软件中。该系统的实现,操作和管理,使用户可以更轻松,更快速,更准确地查看老人的情况和返回最近服务老人的员工状况信息和查看仓库物品的库存情况。用户还可以通过查看员工的排名来查看养老院中服务老人的员工的受欢迎程度。为管理者提供良好的信息,以帮助管理者提高养老院的市场竞争力和服务质量。(二)系统的需求和分析作为软件开发的第一个阶段,同时是软件开发是否成功的核心要素。准确全面,标准化的软件需求是成功开发软件的关键要素。关键是使程序员充分了解软件系统的确切要求,来确定软件的工作方式,而不去确定软件的工作方法。就是,要完成的系统功能要准确。要设计一个好的概念模型,重要的是要对相关领域进行研究,了解数据库的组织细节以及了解托管业务流程的系统要求。一个设计完美的管理系统能够让管理人员从繁重的工作里面脱离出来,此时的工作更好完成(1)管理员对功能的需求:注册用户的删除、查询、添加老人的删除,查询,添加员工的添加,查询,删除仓库货物的查询、删除、添加(2)用户对功能的需求:普通用户能够注册普通用户浏览和修改与自己绑定的老人增加老人的信息绑定的老人信息查询查询养老院的缴费账单查询最近服务老人的员工信息(3)员工对功能的需求:修改员工信息增加老人的信息查询服务的老人信息查询自己的信息仓库货物的查询、添加、使用系统设计必须满足以下要求:(1)使用Javascript技术开发系统界面,并使用Navicat完成数据库和数据表的设计。(2)界面雅观,简捷,易操作,功能清晰。(3)系统要求稳定,功能基本需要满足在线养老院管理的需求。(4)系统需要一定的可扩展性。(三)项目可行性分析该系统主要实现养老院信息管理,其主要功能是管理有仓库货物信息、老人信息、用户信息、员工信息和管理员的信息。系统结构分为老人的信息管理模块,管理人员信息管理,员工的资料管理,仓库库存管理,用户资料管理。管理员模块具有所以员工信息,老人信息,员工信息,库存信息。仓库货物信息管理模块使您可以浏览和维护货物的信息。老人信息管理模块可以在数据库中显示当前老人的状态并维护老人的信息。用户信息管理模块可以显示数据库中用户的状态并维护管用户的信息。您可以看到系统并不复杂,但是要解决的主要问题是使用关键字查询数据库。(四)运行环境操作系统:Windows10开发技术:JAVA开发工具:IDEA、Navicat等数据库::MYSQL(五)系统功能设计养老院管理系统主要由养老院用户注册和登录,用户查询,员工登陆,员工查询,管理员登陆,管理员查询模块组成如下图,系统功能模块图各功能模块详细介绍如下:养老院首页模块:可以查看养老院的介绍信息用户注册/登录模块:用户通过注册登录后可以进行老人信息的绑定和老人信息的查询仓库管理模块:管理员登录之后可以对仓库进行添加、删除和查询员工管理模块:管理者对员工的信息进行删除和添加,查看在线养老院系统主要实现仓库库存的查询,用户管理,老人信息管理和员工管理功能,用户必须先注册才能查询和绑定老人信息。未注册用户只能登录主界面才能查看老人信息,不能进行任何操作。以下是流程图。(六)MySQL数据库的具体分析与详细设计结合实际情况以及对用户的需求分析,这个在线的养老院管理系统内部数据库里主要数据表的表结构:用户信息表(用户id,密码,电话号码,用户名)老人信息表(老人id,老人名字,性别,年龄,账单,住址,员工id)员工信息表(员工id,用户名,密码,电话,性别,住址,职位)仓库表(物品id,物品名,库存,价格)用户信息表字段名称数据类型长度默认值是否可以为空字段描述用户idInt最大值否主键用户名String12否密码String12否电话String11是老人信息表字段名称数据类型长度默认值是否可以为空字段描述老人idInt最大值否主键,外键姓名String12否性别Char1否只能是“男”或“女”年龄String200否身份证号码String18否健康状态String10否健康或疾病住址String20是老人以前的住址账单Int20否员工idInt最大值是外键用户idInt最大值是外键员工信息表字段名称数据类型长度默认值是否可以为空字段描述员工idInt最大值否主键,外键用户名String12否密码String12否性别Char1是只能是“男”或“女”电话String11是住址String20是职位String10是仓库表字段名称数据类型长度默认值是否可以为空字段描述物品idInt最大值否主键物品名String12否价格Double最大值否物品单价库存Int最大值否四、系统实现(一)、用户界面展示1、用户登陆界面2、用户注册界面3、用户界面4、用户添加老人5、用户信息修改6、用户修改绑定老人信息(二)员工管理员界面1、员工管理员登陆2、员工登陆后界面3、管理员登陆后界面4、添加库存(三)程序代码1、数据库连接#运行端口号

server.port=8088

#数据库连接配置信息Ctrl+/注释

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://localhost:3306/beadhouse?useUnicode=true&characterEncoding=utf-8

spring.datasource.username=root

spring.datasource.password=root

#jpa自动创建表

spring.jpa.hibernate.ddl-auto:update

#显示jpa执行的sql语句

spring.jpa.show-sql:true

#表示bean可以进行覆盖

spring.main.allow-bean-definition-overriding=true

#视图解析器

spring.mvc.view.prefix=/

spring.mvc.view.suffix=.jsp2、判断用户密码是否正确//用来判断该用户名和密码是否正确

layui.use(['form','layer','jquery'],function(){

//操作对象

varform=layui.form;

var$=layui.jquery;

form.on('submit(login)',function(data){

$.ajax({

url:'doLogin',

data:data.field,

dataType:'text',

type:'post',

success:function(data){

if(data=='1'){

varu=document.getElementsByTagName('input')[0].value;

//把登陆用户的用户名传给后面的页面

location.href='/user?username='+u;

}else{

layer.msg('用户名或密码错误');

}

}

})

returnfalse;

})

});3、controller代码示例

@RestController

publicclassUserController{

@Autowired

UserServiceImpluserService;

@Autowired

UserDaouserDao;

@Autowired

ElderlyServiceImplelderlyService;

@RequestMapping("/index")

publicStringindex(){

return"index";

}

//接收页面发回的用户名和密码,然后进行判断

@PostMapping("/doLogin")

publicObjectdoLogin(Stringusername,Stringpassword){

System.out.println("页面发回来的名"+username+"密码"+password);

Useru=userService.getUser(username,password);

if(u!=null){

return1;

}

return0;

}

//接收页面的用户名,然后判断用户名是否已经注册过

@PostMapping("/register")

publicObjectregister(Stringusername){

System.out.println("用户名"+username);

if(userService.getName(username)){

return0;

}

return1;

}

//保存用户信息

@PostMapping("/userSave")

publicObjectuserSave(Stringuser,Stringpwd,Stringtel){

Useru=newUser(user,pwd,tel);

booleanflag=false;

intregister=(int)register(user);

if(register==1){

flag=userService.insertUser(u);

}

System.out.println(u);

if(flag){

System.out.println("注册成功");

return1;

}

System.out.println("注册失败");

return0;

}

//修改用户的资料

@PostMapping("/updateUser")

publicObjectupdateUser(intid,Stringuser,Stringpwd,Stringtel){

System.out.println("更新用户id"+id);

Useruser1=newUser(user,pwd,tel);

user1.setUserid(id);

System.out.println("更新的信息"+user1);

booleanb=userService.insertUser(user1);

if(b){

System.out.println("注册成功");

return1;

}

System.out.println("注册失败");

return0;

}

//接收页面的数据,并把数据发给新的页面

@RequestMapping("/user")

publicModelAndViewuser(Stringusername){

ModelAndViewmav=newModelAndView();

inti=userService.getelderlyid(username);

Useruser=userService.getUser(i);

intuserid=user.getUserid();

System.out.println("发给页面的用户id"+userid+"和用户信息"+user);

List<Elderly>list=elderlyService.getInformation(i);

mav.setViewName("user");//跳转到user页面

mav.addObject("elderly",list);//传入request作用域参数

mav.addObject("user",user);

mav.addObject("userid",userid);

returnmav;

}

//添加老人信息

@RequestMapping("/elderlyAdd")

publicModelAndViewelderlyAdd(Stringuserid){

System.out.println("传入的用户id"+userid);

ModelAndViewmav=newModelAndView();

mav.setViewName("elderlyAdd");//跳转elderlyAdd页面

mav.addObject("userid",userid);//传入request作用域参数

returnmav;

}

//修改用户信息

@RequestMapping("/userModify")

publicModelAndViewuserModify(intuserid){

Useruser=userService.getUser(userid);

System.out.println("发给修改的"+user);

ModelAndViewmav=newModelAndView();

mav.setViewName("usermodify");//跳转新的页面名称

mav.addObject("user",user);

returnmav;

}

}4、Service代码示例

@Service

publicclassUserServiceImpl{

@Autowired

UserDaouserDao;

//获得用户信息

publicUsergetUser(Stringusername,Stringpassword){

List<User>all=userDao.findAll();

for(inti=0;i<all.size();i++){

Useruser=all.get(i);

if(user.getUsername().equals(username)&&user.getPassword().equals(password)){

returnuser;

}

}

returnnull;

}

//保持用户信息

publicbooleaninsertUser(Useruser){

Usersave=userDao.save(user);

if(save!=null){

returntrue;

}

returnfalse;

}

//获得用户名

publicbooleangetName(Stringusername){

System.out.println("获得的用户名"+username);

List<User>all=userDao.findAll();

for(inti=0;i<all.size();i++){

Useruser=all.get(i);

if(username.equals(user.getUsername())){

returntrue;

}

}

returnfalse;

}

//通过用户名返回用户id

publicintgetelderlyid(Stringusername){

List<User>all=userDao.findAll();

intuserid=-1;

for(Useruser:all){

if(user.getUsername().equals(username)){

userid=user.getUserid();

}

}

returnuserid;

}

//通过id获取用户信息

publicUsergetUser(intid){

List<User>all=userDao.findAll();

for(Useruser:all){

if(user.getUserid()==id){

returnuser;

}

}

returnnull;

}

}5、Dao代码示例五、结论这个设计里面,本人应用MySQL构建出一种后端数据库,还使用了idea作为了开发工具,前端操作界面实现了养老院管理系统的全部功能。并表明该系统在调试和运行后,发现该系统是可行且可扩展的。但数据库还有有待进一步的完善与规划的空间,操作系统还有待于进一步的改善,功能还有进一步改进的空间,已经经过改进后使系统更加高效,更加人性化。在整个软件设计和研究期间,从体系需要来进行分析并贯彻到概念的设计,逻辑的设计,最后呢,即到系统实现和维护,虽然感到疲惫,但是每一步都有让我收获了很多益处。当大部分系统完成后,自己就非常有成就感。在我们学习Java时,我可能会遇到各种无法轻松解决的问题。我们应该访问一个专门的论坛,对其进行了解,在网上搜索相关的信息,并收集起来解决现在和以后可能遇到的问题。该设计不仅从实践中提高了我对springboot,java,和jsp页面的相关知识,而且学习设计该系统的同时还提高了我的设计分析的能力。从系统的需求分析开始,到后来的每一步,都需要围绕着一个整体的思路,需要将系统层层分解,进行细分。一个一个的实现每一个功能,在把每一个功能集合起来。我在完成毕业设计的全过程,我碰到了很多的问题,比如后台接收不到页面发回来的数据等。因为不是经常使用前端的编写,所以前端使用起来相当的吃力,每次都可能会遇到新的问题。为了解决在编写软件页面中出现的问题,我一直在查询前端页面的资料,一点一点的把问题解决。在这期间,还学习了许多新的技术比如用ajax控制页面的跳转等。此文写作的过程中解决问题的能力很大程度得到了提高,也为以后的发展铺设了坚实的基础。

参考文献[1]杨静.基于JAVAWEB中MVC模式的研究与应用[J].电脑知识与技术,2014[2]柏银.基于StrutsSpringHibernate多架构的性能分析系统[D].四川大学,2006.[3]郭红霞.基于Internet的学生学籍信息管理系统的设计与实现[D].电子科技大学,2007.[4]赵颖慧.大兴安岭示范区数字林业应用技术的研究[D].东北林业大学,2006.[5]王永珍.基于MVC模式的武器装备管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论