供应链管理系统汇编_第1页
供应链管理系统汇编_第2页
供应链管理系统汇编_第3页
供应链管理系统汇编_第4页
供应链管理系统汇编_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

供应链项目安排搭建框架 一天 基础数据模块和权限管理 4天左右 应收应付和销售管理 5天左右涉及到的框架的知识点 dao的重用 service层的重用 js的继承机制的应用 jquery的插件开发 弹出div框概念 一个供应链系统是一个公司通过供应商采购商品,把商品放入到仓库中, 该公司在销售该商品的时候,再把商品从仓库中提取出来,卖给客户的过程 其中有三个订单: 采购订单 销售订单 调拨订单(公司内部仓库之间的商品的调拨)关于供应链的大数据方面的内容数据挖掘 ETL:数据抽取 BI:商业智能dao的技术实现gyl的maven的环境搭建创建一个web工程添加maven支持编辑pom.xml文件 写持久化类和映射文件写spring的配置文件 该系统要创建的映射文件的包为: com.itheima11.gyl.domain.basedata com.itheima11.gyl.domain.privilege com.itheima11.gyl.domain.xsgl创建一个测试类,生成表框架的搭建dao封装的需求 1、供应链的所有的模块都用到了查询 该查询是分页的 该查询还是按照条件 该查询是按照数据来查询的 2、删除的操作 1、有可能一次性删除很多行记录 2、有可能删除一行记录 3、根据id查询持久化对象 4、增加操作 5、修改操作dao的封装查询的实现PageResultBaseQueryBaseDaoBaseDaoImpl1、在构造器中 public BaseDaoImpl()/* * this代表子类 * this.getClass().getGenericSuperclass()就是父类:BaseDaoImpl 泛型 * 如果不带T,this.getClass().getGenericSuperclass()返回的是class类型,而不是 ParameterizedType * spring(2.x和3.x)容器不支持带泛型的创建对象 */ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass();/得到t的实现类型this.classt = (Class)type.getActualTypeArguments()0; 得到了T的class形式 2、在init方法中 PostConstructpublic void init()/初始化方法this.classMetadata = this.hibernateTemplate.getSessionFactory().getClassMetadata(this.classt); 得到了元数据的形式 3、getCount方法 方法的参数为BaseQuery,在该BaseQuery中有一个方法buildWhere,利用 该方法可以得到查询条件的map形式 拼接hql语句的where条件语句 动态的传入参数的值 4、 findPageResult方法同上增加的实现删除多个数据根据ids-字符串,利用hibernateTemplate的find方法得到一个list, 再利用hibernateTemplate的deleteAll方法删除list即可。删除一个数据service的封装需求 把service层的crud的方法就可以封装在BaseService中service的封装BaseServiceBaseServiceImpl1、 public abstract BaseDao getBaseDao();这是一个抽象方法,谁继承,谁实现 因为在该类中没有办法实现 2、在spring的配置文件中,添加事务的注解解析器 3、其中的一个方法action的封装的需求 把模型驱动进行封装 把得到session进行封装 把一些字符串封装action的封装BaseAction泛型概念就是java语言中的一种类型 ParameterizedType就是泛型ParameterizedType例如: public class BaseDao BaseDao-rawType T-actualTypeArguments 第一种传递参数的方式: public class SubBaseDao extends BaseDao public class DepartmentDao extends SubBaseDao 或者 public class DepartmentDao extends SubBaseDao DeparmentDao departmentDao = new DepartmentDao(); 第二种传递的方式: BaseDao baseDao= new BaseDao();项目开发基础数据department模块创建action 1、创建一个包 com.itheima11.gyl.basedata.action 2、创建一个DepartmentAction类测试action准备department关于struts2的配置文件准备css文件和images文件准备jsp结构在web-inf/jsp/gyl/basedata/department下创建一个jsp页面准备web.xml文件list.jsp显示department的列表 把分页的组件加入到页面中 说明: 1、每一个input元素中有一个param属性,根据该属性的值可以知道操作以后 要显示的页面是第几页 2、flag属性是用来标示哪个按钮写一个通用的分页的处理jsGylUtils.js var GylUitls = /基本数据模块 basedata: /分页的处理 dispage: linkNextPage:function()/* * this为当前的按钮 */var currentPage = $(this).attr(param);var url = $(body).data(url);window.location.href = url+?currentPage=+currentPage; 注意的事项:baseQuery.currentPage这种形式传递参数不行 /基本数据模块初始化事假 initEvent:function() /初始化了分页的事件 ;动态的加载checkbox删除button 或者是一个 jquery-plugin-delete.js 该插件描述了三个功能: 1、删除功能 如果没有选择checkbox,则提示选择 window.confirm的提示 2、绿色的表示对数据中的checkbox的控制 3、蓝色的表示对控制的checkbox的状态的控制BaseAction 获取被选中的复选框的值,并且把值变成字符串的形式DepartmentAction删除submitjquery-plugin-delete.jsBaseActionDepartmentAction增加list.jspDepartmentActionadd.jsp修改jquery-plugin-update.js用户模块持久化和映射文件UserDaoUserDaoImplUserServiceUserServiceImplUserQuery增加 注意事项: 跳转到增加的页面: action中的代码: add.jsp userAction: 修改 注意事项: 页面上的值的回显一般情况下是根据页面上的name属性,在后台的action中 必须把值放入到对象栈中。注意事项权限概念 1、认证(authentication) 登录 用户名和密码的登录 2、授权 给用户权限 权限: 权限和资源是对应的 资源: url 菜单 控制 功能:页面上能够点击的元素 action中的方法 控制 注解的形式 springAop struts2的拦截器 数据权限框架1、Spring Security 通过过滤器链的方式,内部通过aop的技术把这些过滤器联系在一起的 主要控制url 该权限必须建立在spring容器基础之上 该权限和web容器有关联 2、shiro 与任何框架都没有关系 与web容器也没有关系 3、自己公司开发的权限框架步骤权限 菜单、功能、url这些元素,如果系统做完了,这些内容就确定了。角色 相当于权限的集合,要以树的形式进行维护给角色分配权限给用户分配角色控制访问权限zTree 是jquery的一个树的插件 创建zTree的步骤 1、准备一个样式文件和两个js文件 2、在页面上准备树的容器 3、写js代码创建树 zNodes描述的是树上的节点 setting为整个树的特性权限实现的详细步骤权限的实现 1、准备持久化类和映射文件(Menuitem) 2、准备一个测试类MenuitemTest.java 3、把准备的数据存放在数据库表menuitem中 4、加载zTree: 1、准备js文件和样式文件 2、准备menuitem.jsp页面 3、准备menuitem的dao,service和action 4、准备struts2的配置文件 包的名称为:json-default 自定义的结果集:json 3、准备一个js文件 menuitem.js 角色1、写持久化类和映射文件 体现用户和角色之间的关系2、创建一个角色树的根节点:CEO 创建根节点: dao,service,action 配置文件 写RoleTest创建根节点3、对于角色树: 1、创建角色树 2、右键菜单 3、增加角色、修改角色、删除角色注意: 要创建角色树,必须访问role.jsp 所以必须转发才能访问到role.jsp,所以要建立ForwardAction创建树右键菜单在jsp页面上role.js中添加右键事件 通过上述的代码添加右键事件当鼠标移除div区域的时候,自动隐藏div给添加角色、修改角色、删除角色添加事件添加角色 思路:打开一个对话框,添加一个角色的名称,后台校验角色的名称是否可用(ajax来写) 如果可用 1、发出ajax请求,在后台的数据库中添加相应的数据 2、在前台角色树中增加一个节点 如果不可用,提示修改角色删除角色权限配置需求: 当点击权限配置的时候 当点击设置权限的时候 点击上面的保存按钮步骤创建一个jsp页面 role_privilege.jsp在RoleAction中添加一个方法在struts-role.xml文件中准备privilege的持久化类和映射文件role_privilege.js框架结构var role_privilege = data: role: rid:, name: zTreePlugin: , opt: roleOpt: divOpt:, roleTree: , init: initData:function() , initEvent:function() ;填充事件 在initEvent方法中填充事件 设置权限的事件: 显示隐藏的div 给role_privilege .data中role赋值 动态的显示角色的名称 设置全选复选框的默认状态为不可选 加载权限树角色配置权限的控制不同的用户访问不同的菜单登录界面login.jsp写LoginDao,LoginDaoImpl,LoginService,LoginServiceImpl,LoginActionstruts2的配置文件 struts-login.xml struts-forward.xml PrivilegeDaoImpl 不要把session放入到dao层,如果怎样,dao层和具体的容器就有关联了。不用的用户点击超级链接或者按钮的权限的控制LoginActionPrivilegeInfoAnnotationParsePrivilegeInterceptorstruts-interceptor.xmlDepartmentActionstruts-department.xmlerror.jspspring的aop实现业务销售管理销售预订单管理需求查询 当查询所有的主表和子表或者根据某一个条件进行查询的时候主表的分页: 子表的分页:当点击主表中的某一行的时候,出现相应的子表中的记录主表的分页的查询子表的分页查询的功能技术 因为页面上有两个分页,所以在BaseService层,泛型的参数应该有两个BaseBusinessServiceBase

温馨提示

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

评论

0/150

提交评论