如何利用ssm实现钢铁团体公司安全管理体系的构建与实现 ...

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

@TOC
ssm748钢铁团体公司安全管理体系的构建与实现+jsp

研究配景与现状

时代的进步使人们的生存实现了部分主动化,由最初的全手动办公已转向手动+主动相联合的方式。比如各种办公体系、智能电子电器的出现,都为人们生存的享受提供帮助。采用新型的主动化方式可以减少手动的办公时间,增长精确率从而增长人们的幸福指数。时代进步中计算机技术的发展尤为突出,渗出进生存的方方面面,各种App、 网站、管理体系、小步调迅速占领市场。
对于公司安全管理的现实问题,大多数企业采用人工加办公辅助软件的方式举行管理,这类方式对于信息的发布和流程、后续的资料整理工作都是非常大的帮助。但一般都还是针对管理人员利用,如果别的用户想要操纵需要一步一步举行答应,非常复杂。现实公司安全管理工作中缺少一种更为优质、简单的方法途径。
1.2课题实现目标和研究意义

时代的发展也为人们提出了更高的要求,只有不断的学习和发展才可从前进。目前我们正在科技和网络发展的关键点,网络已实现普及。然而还是有大量的企业、机构采用传统的办公方式举行处理事务,当然传统的方式对于小规模的企业、机构来说更为适合,但想要发展就需要以发展的目光来看待问题。如果可以采用更科学、省力的方式举行办公将会带来变革。
公司的安整日常管理关系着企业的业绩和贩卖、亏损。企业对商品的订货、退货要严酷把关,更要考虑到商品的质量、到期环境。以往都是由员工人工统计商品环境,企业审核力度不好把控,监督不了商品的实际环境。如果采用共享的平台,把商品管理的相干负责人员都联合到一起,起到共同监管的目标就可以解决这类问题。商品的所有信息都可以由管理员直接受理,别的用户的操纵过程也可由相干管理员负责把控,把别的用户的管理工作实现流程化、清楚化,减少暗箱操纵,提供更为透明的工作流程,实现钢铁团体公司安全管理的真正价值。
1.3课题研究内容

  本体系从公司安全管理的工作出发,包括管理员和分公司、经销商、团体四种权限。管理员的功能为个人中心、团体管理、商品管理、经销商管理、分公司管理、订货计划表管理、退货计划表管理等,实现体系里信息的全面管控,分公司的功能为个人资料管理和查看商品信息举行订货申请和退货申请。经销商负责浏览商品信息和查询订货计划表、退货计划表,团体可以审核订货计划表和退货计划表。四种权限的用户功能相辅相成,不可缺少,共同帮助钢铁团体公司安整日常运营管理。本体系实现“放手”、“透明化”管理,使商品的管理更加简单、轻松。
1.4论文结构安排

本篇论文的结构分为择要、目录、正文部分、总结、致谢和参考文献。正文部分为核心。正文部分分为:
第1章绪论,从课题的开发配景、现状、目标意义等举行本课题的介绍;
第2章体系分析,从体系的开发技术、环境、可行性、操纵流程等举行体系的具体分析;
第3章体系设计,从体系的功能图、数据库设计、ER图、数据库表举行体系的设计;
第4章体系实现,主要介绍体系的实现界面和实现内容;
第5章体系测试,讲解主要功能的测试过程以及测试结果。
第2章 体系分析
2.1体系开发中利用相干技术介绍

2.1.1Java介绍

Java语言是从C++举行衍生出来的一种新型编程语言,他保留了c++语言中许多核心技术,继承了他的面向对象的优点,而且舍弃了许多缺点,比如在Java语言中去掉了指针,这样可以减少许多错误,还去掉了运算符,这样进步了运行处理效率。还增长了许多优点,添加了垃圾回收功能,进步了代码的利用率,总体来说,Java语言是一个分布式的、高性能的、多线程的开发语言。Java从开发之初就是计划作为一个开放性的语言技术,这就要求需要有很高的兼容性,首先就需要同样的代码步调可以在差别的计算机上运行,还要支持差别的网络,同时还要注重安全性,方便用户利用。Java语言最突出的特点就是面向对象,可以把一个对象当成许多代码状态的物体,然后举行自定义类型举行关联操纵,这样举行集合起来的代码就叫对象,面向对象的方法可以使设计根据的简单,方便管理,还可以减少失败。C++最大的一个缺点就是没有垃圾回收机制,通常在编程的过程中,初始化对象时间体系会主动分配一个内存地址,如果不需要这个对象的时间,体系不能举行主动删除和回收,这样造成了很大的内存浪费,导致体系卡顿,会让体系非常的不稳固,严重的话以致会体系崩溃,而Java语言就是在这个基础上设置了垃圾回收机制,当一个利用过的对象没有引用的时间,体系可以主动删除,回收内存,这样就可以很好的避免了内存泄漏,保障了步调的安全,同时进步了运行效率。
2.1.2Mysql数据库介绍

Mysql数据库是目前比较流行的一种开源数据库,可以支持多种编译器举行在线测试,从而保证了代码的可移植性,而且支持多种操纵体系有很好的跨平台性,为编程语言提供所需要的API,可以多线程同时运行,这样有效的减少了内存占用率,进步了利用效率。运行的过程中还能主动优化sql查询算法,这样使数据查询速率达到了显著的进步,而且Mysql数据库还可以作为一个独立的步调在客户端中单独利用,也可以嵌入到其他步调中搭配一起利用。Mysql数据库效率非常的高,可以处理上万万条数据,可以同时支持多种差别的数据引擎,而且是开源的软件,不需要支付任何费用,而且可以举行定制,利用GPL协议举行代码修改,开发属于本身的Mysql体系。综上所述,Mysql数据库是一个非常受欢迎的一个数据库,体积小,速率快,最紧张的还是免费,非常适合中小型项目标开发利用。
2.1.3B/s架构介绍

B/s架构是随着网络快速发展而开发出来的一种网络框架,跟传统的cs框架最大的区别就是,直接把代码摆设到网络服务器中,这样方便了体系的后期开发和维护,然后用户可以直接通过浏览器举行代码的访问,不需要额外安装任何的软件客户端,简化了用户的利用。B/s结构是指Browser/Server结构,意思就是只需要安装一个服务器就行了, 客户端方面主要就是采用浏览器举行访问,主要是对传统的c/s架构的一种改进,采用www浏览器技术和其他Script语言技术,把体系实现需要的代码全部摆设到了服务器上面,是一种新型的架构技术,可以直接借助浏览器举行数据访问和数据交互。最大的优点就是,不需要安装客户端,不受环境影响,可以实时实地的举行访问,其次就是维护非常的方便。当然了有优点也有不可避免的缺点,首先是在访问速率方面,比较受网络的影响,不像C/s架构一样,处理速率非常的快,直接在本机就可以完成数据交互,而B/s需要借助网络才气举行服务器访问,必须保证有顺畅的网络,才气有好的利用体验,其次就是安全性,因为所有数据存储在网络服务器中,比较容易受到攻击,从而造成数据泄漏,这是目前B/s架构存在的最大的毛病。所以说B/s架构适合一些电子商务类的网站,适合比较有用户共享交互的,开放性的网站的设计与开发。所以我开发本体系采用B/s架构是非常适合的,可以达到多人同时登录体系,可以实现信息交互,而且方便随时随地的举行数据访问,而且我对B/s架构开发比较认识,所以本体系就采用B/s架构来举行开发设计。
2.2体系可行性分析

体系的可行性关系着体系开发的成功和市场,没有经过具体可行性分析的体系开发过程会非常艰难。体系可行性从体系的经济方面、操纵方面和技术方面举行分析。
2.2.1经济可行性分析

体系开发所需要的经济主要在体系的成本问题、运行问题和维护问题上。本体系在开发中不需要经济的支持,所需要的开发软件和装备都是在已有条件上。本体系在运行里所需要的环境也都为免费就可以下载的。本体系在后期的维护上也只需要技术支持就可以完成。所以本体系在经济可行性上可以通过。
2.2.2操纵可行性分析

本体系在开发中充分观察了所利用用户的操纵风俗和风格,所有的操纵流程也都为简单的流程,在操纵中也设置了提示。用户在利用本体系时只要按照提示就可以完成,非常简单。所以本体系在操纵可行性上可以通过。
2.2.3技术可行性分析

 本体系所需要的技术支持为Java语言,Mysql数据库,Jsp技术和B/s框架等。所利用的技术都为开源成熟的技术,也是目前流行的技术之一。利用这些技术开发的体系可以保证体系的前詹性和稳固性、安全性。所以本体系在技术可性性上可以通过。
2.3体系需求分析

目前计算机、网络技术已进入到各行各业。企业做为社会的紧张构成部分更应该身体力行,公司安全管理里的所有工作都是围绕商品而展开,每件商品的档案信息都非常多,如果采用传统的管理方式非常容易造成紊乱,而且对于商品的信息查询非常未便。对于商品的日期、质量、数据都需要额外的严谨,如果还是采用传统的商品管理方式对用户、商品都做不到百分百的监管,用户的操纵也实现不了透明。所以非常需要新的管理方式出现。
2.4体系性能分析

体系在设计时也需要注意体系的性能,一般体系的性能方面包括体系的稳固性、安全性、界面设计方面、操纵方面、和谐等方面。

  • 本体系在界面设计方面恭敬所有的利用权限,多方面参考差别利用权限的利用风俗以及风格,综合差别的环境整理出符合大众要求的体系界面。做到本身的最大本领;
  • 在体系的稳固性、安全性方面采用须要的登录验证,差别权限采用差别的账号和暗码。为了使体系更为稳固采用成熟的开发环境和技术,在代码编写时尽大概的减少冗余,保证体系的运行效率;
  • 在体系的操纵流程方面,尽大概的采用简单的流程来实现用户要求的反馈,当用户提出需求时,可以用最少的步骤举行提问操纵;
  • 本体系采用数据库和功能界面分开设计,这样可以保证当体系的功能运行出错时不会影响体系里的数据,也就保证了数据的安全。
2.5体系功能分析

体系的功能分析决定了体系的功能设计,完整具体的体系功能分析可以使体系的开发事半功倍。本体系的功能围绕管理员、分公司、团体、经销商四种权限设计。根据差别权限的差别需求设计出更符适用户要求的功能。本体系中管理员可以管理所有内容,包括利用权限、商品信息、订货计划表、退货计划表信息等。本钢铁团体公司安全管理体系管理员的用例图如下图2-1所示:

图2-1管理员用例图
分公司用例为商品信息管理、订货计划表管理和退货计划表管理,分公司用例图如下图2-2所示:

图2-2分公司用例图
经销商用例为个人中心管理、商品信息管理、订货计划表管理和退货计划表管理。经销商用例图如下图2-3所示:

图2-3经销商用例图
团体用例为个人中心、商品信息管理和订货计划表管理、退货计划表管理。团体用例图如下图2-4所示:

图2-4团体用例图
2.6体系操纵流程分析

  信息从如何产生到反馈结果的过程可以称为信息的流程。分析好体系的操纵流程才可以使体系精确运行不会出现Bug。本体系的流程为管理员先举行登录,登录后管理分公司、团体、经销商的账号、暗码等信息。公司和经销商可以注册登录。团体由管理员添加。管理员发布商品信息、分公司提出订货计划表和退货计划表,经销商可以举行查询,团体负责审核。当用户操纵后,管理员可以在管理员界面立即收到操纵后的信息,并且可以举行修改。本钢铁团体公司安全管理体系的操纵流程如下图2-5所示:
图2-5钢铁团体公司安全管理体系操纵流程图
第3章 体系设计
3.1体系功能结构设计

体系的功能结构是采用树形图来绘制功能设计。根据分析所得,本体系的功能设计为管理员和团体、分公司、经销商四个部分。管理员为高级角色,可以管理体系里的所有信息,包括差别分类的用户信息。本钢铁团体公司安全管理体系的功能结构设计图如下图3-1所示:
  图3-1钢铁团体公司安全管理体系功能结构图
3.2数据库设计

  数据库为数据的仓库,决定了数据的生存和修改、删除、调用等。数据库的稳固决定了体系里数据的安全。本体系采用Mysql数据库,在创建数据库时采用Root用户名。数据库的创建过程为先举行数据的ER图设计然后举行数据库表的实现。
3.2.1数据ER图设计

数据ER图中记载了关系、实体、属性。实体与实体的关系决定了数据在调用时的精确与否,实体的属性决定了该实体的内容。数据ER图的设计同样紧张,也是数据库创建的基础。
通过体系中的功能数据分析,本体系的实体主要有用户(分公司、团体、经销商)、管理员、商品信息、订货计划表、退计划表信息等。

  • 管理员的ER图中的属性有账号、暗码、权限。管理员ER图如下图3-2所示:

图3-2管理员ER图

  • 分公司的ER图里的属性有账号、名称、编号等,分公司的ER图如下图3-3所示:

图3-3分公司ER图

  • 商品信息的ER图里的属性有名称、品类、规格、代价、材质等,商品的ER图如下图3-4所示:

图3-4商品信息ER图
(4)订货计划表的ER图里的属性有商品名称、数量、是否交货等,订货计划表ER图如下图3-5所示:

图3-5订货计划表ER图
(5)退货计划表信息ER图里的属性有退货单号、生成时间、商品名称等,退货计划表信息ER图如下图3-6所示:

图3-6退货计划表信息ER图
3.2.2数据库表设计

数据库表是把ER图举行具体化、实体化。差别的表名下生存着相对应的表信息数据。在数据库表里记载着数据的主键、外键、数据类型、长度等。本钢铁团体公司安全管理体系所创建的数据库表有管理员信息表、分公司信息表、商品信息表、订货计划表、退货计划表等。本钢铁团体公司安全管理体系的数据库表如下表3-1—3-9所示:
表3-1 config

表3-2 dinghuojihuabiao

表3-3 fengongsi

表3-4 jingxiaoshang

表3-5 jituan

表3-6 shangpinxinxi

表3-7 token

表3-8 tuihuojihuabiao

表3-9 users

第4章 体系具体实现
4.1用户登录功能的具体实现

用户登录界面起到验证身份的作用,本界面采用图片配景举行设计。在用户登录界面里设置了步调的名称和用户、暗码、权限的文本框。在文本框下是登录按钮和分公司注册、经销商注册按钮。用户在信息输入完成后可以利用对应按钮举行相对应的操纵。用户登录功能的实现界面如下图4-1所示:

图4-1用户登录实现界面
4.2管理员权限的功能实现

4.2.1个人中心管理功能的具体实现

个人中心管理功能的作用为修改暗码和修改管理员资料。本功能可以实现管理员资料的更新。个人中心管理功能的实现界面如下图4-2所示:

图4-2个人中心管理功能的界面实现
4.2.2团体信息管理功能的具体实现

管理员负责团体信息的录入和管理。团体信息包括团体地址、代表人等信息,团体的账号和暗码则是由本功能举行添加。管理员查询团体信息的功能实现如下图4-3所示:

图4-3管理员查询团体信息的实现界面
4.2.3商品信息管理功能的具体实现

管理员可以对商品的信息举行管理、审核。管理员查询商品信息的实现界面如下图4-4所示:

图4-4管理员查询商品信息的实现界面
4.2.4分公司管理功能的具体界面实现

管理员可以对分公司信息举行管理和审核。管理员查询分公司信息的实现界面如下图4-5所示:

图4-5管理员查询分公司功能的运行界面
4.2.5经销商管理功能的具体实现

管理员可以审核和删除经销商信息,查询经销商功能的界面实现如下图4-6所示:

图4-6管理员查询经销商功能的运行界面
4.2.6订货计划表功能的具体实现

管理员可以查询订货的详情,了解订货的审核环境。订货计划表功能的实现界面如下图4-7所示:

图4-7管理员查询订货计划表功能的运行界面
4.2.7退货计划表管理功能的实现界面

管理员可以查看和管理退货的计划表信息,实现界面如下图4-8所示:

图4-8管理员查询退货计划表信息功能的实现界面
4.3分公司角色的功能实现

4.3.1商品信息管理功能的实现界面

分公司只能查看商品信息不能修改和删除、添加商品信息。实现界面如下图4-9所示:

图4-9分公司查询商品信息功能的实现界面
4.3.2订货计划表管理功能的具体实现

分公司负责订货计划表的申请。分公司添加订货计划表功能的实现界面如下图4-10所示:

图4-10分公司添加订货计划表功能的运行界面
4.3.3退货计划表管理功能的具体实现

分公司在退货计划表功能里可以添加退货信息和统计退货信息。分公司添加退货计划表信息功能的实现界面如下图4-11所示:

图4-11添加退货计划表信息功能的运行界面
4.4经销商角色的功能实现

经销商负责商品信息、订货计划表和退货计划表的信息查询。实现界面如下图4-12所示:

图4-12经销商角色的功能实现界面
4.5团体角色功能的界面实现

4.5.1商品信息管理功能的具体实现

团体也可以添加和管理商品,团体查询商品信息的实现界面如下图4-13所示:

图4-13团体查询商品信息功能的运行界面
4.5.2订货计划表管理的功能实现

团体负责审核分公司提出的订货计划表申请,实现界面如下图4-14所示:

图4-14审核订货计划表的功能实现界面
4.5.3退货计划表管理功能的实现界面

团体还可以审核退货的计划表信息。审核退货计划表信息的实现界面如下图4-15所示:

图4-15退货计划表信息的审核界面
第5章 体系测试
体系测试的方

ConfigServiceImpl.java

  1. package com.service.impl;
  2. import java.util.Map;
  3. import org.springframework.stereotype.Service;
  4. import com.baomidou.mybatisplus.mapper.EntityWrapper;
  5. import com.baomidou.mybatisplus.mapper.Wrapper;
  6. import com.baomidou.mybatisplus.plugins.Page;
  7. import com.baomidou.mybatisplus.service.impl.ServiceImpl;
  8. import com.dao.ConfigDao;
  9. import com.entity.ConfigEntity;
  10. import com.service.ConfigService;
  11. import com.utils.PageUtils;
  12. import com.utils.Query;
  13. /**
  14. * 系统用户
  15. */
  16. @Service("configService")
  17. public class ConfigServiceImpl extends ServiceImpl<ConfigDao, ConfigEntity> implements ConfigService {
  18.         @Override
  19.         public PageUtils queryPage(Map<String, Object> params, Wrapper<ConfigEntity> wrapper) {
  20.                 Page<ConfigEntity> page = this.selectPage(
  21.                 new Query<ConfigEntity>(params).getPage(),
  22.                 wrapper
  23.         );
  24.         return new PageUtils(page);
  25.         }
  26. }
复制代码
MD5Util.java

  1. package com.utils;
  2. import cn.hutool.crypto.digest.DigestUtil;
  3. public class MD5Util {
  4.    
  5.         /**
  6.          * @param text明文
  7.          * @param key密钥
  8.          * @return 密文
  9.          */
  10.         // 带秘钥加密
  11.         public static String md5(String text) {
  12.                 // 加密后的字符串
  13.                 String md5str = DigestUtil.md5Hex(text);
  14.                 return md5str;
  15.         }
  16. }
复制代码
JingxiaoshangController.java

  1. package com.controller;
  2. import java.text.SimpleDateFormat;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Calendar;
  6. import java.util.Map;
  7. import java.util.HashMap;
  8. import java.util.Iterator;
  9. import java.util.Date;
  10. import java.util.List;
  11. import javax.servlet.http.HttpServletRequest;
  12. import com.utils.ValidatorUtils;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import org.springframework.format.annotation.DateTimeFormat;
  17. import org.springframework.web.bind.annotation.PathVariable;
  18. import org.springframework.web.bind.annotation.RequestBody;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RequestParam;
  21. import org.springframework.web.bind.annotation.RestController;
  22. import com.baomidou.mybatisplus.mapper.EntityWrapper;
  23. import com.baomidou.mybatisplus.mapper.Wrapper;
  24. import com.annotation.IgnoreAuth;
  25. import com.entity.JingxiaoshangEntity;
  26. import com.entity.view.JingxiaoshangView;
  27. import com.service.JingxiaoshangService;
  28. import com.service.TokenService;
  29. import com.utils.PageUtils;
  30. import com.utils.R;
  31. import com.utils.MD5Util;
  32. import com.utils.MPUtil;
  33. import com.utils.CommonUtil;
  34. import java.io.IOException;
  35. /**
  36. * 经销商
  37. * 后端接口
  38. * @author
  39. * @email
  40. * @date 2022-04-21 15:54:45
  41. */
  42. @RestController
  43. @RequestMapping("/jingxiaoshang")
  44. public class JingxiaoshangController {
  45.     @Autowired
  46.     private JingxiaoshangService jingxiaoshangService;
  47.    
  48.         @Autowired
  49.         private TokenService tokenService;
  50.        
  51.         /**
  52.          * 登录
  53.          */
  54.         @IgnoreAuth
  55.         @RequestMapping(value = "/login")
  56.         public R login(String username, String password, String captcha, HttpServletRequest request) {
  57.                 JingxiaoshangEntity user = jingxiaoshangService.selectOne(new EntityWrapper<JingxiaoshangEntity>().eq("jingxiaoshangzhanghao", username));
  58.                 if(user==null || !user.getMima().equals(password)) {
  59.                         return R.error("账号或密码不正确");
  60.                 }
  61.                 if("否".equals(user.getSfsh())) return R.error("账号已锁定,请联系管理员审核。");
  62.                 String token = tokenService.generateToken(user.getId(), username,"jingxiaoshang",  "经销商" );
  63.                 return R.ok().put("token", token);
  64.         }
  65.        
  66.         /**
  67.      * 注册
  68.      */
  69.         @IgnoreAuth
  70.     @RequestMapping("/register")
  71.     public R register(@RequestBody JingxiaoshangEntity jingxiaoshang){
  72.             //ValidatorUtils.validateEntity(jingxiaoshang);
  73.             JingxiaoshangEntity user = jingxiaoshangService.selectOne(new EntityWrapper<JingxiaoshangEntity>().eq("jingxiaoshangzhanghao", jingxiaoshang.getJingxiaoshangzhanghao()));
  74.                 if(user!=null) {
  75.                         return R.error("注册用户已存在");
  76.                 }
  77.                 Long uId = new Date().getTime();
  78.                 jingxiaoshang.setId(uId);
  79.         jingxiaoshangService.insert(jingxiaoshang);
  80.         return R.ok();
  81.     }
  82.        
  83.         /**
  84.          * 退出
  85.          */
  86.         @RequestMapping("/logout")
  87.         public R logout(HttpServletRequest request) {
  88.                 request.getSession().invalidate();
  89.                 return R.ok("退出成功");
  90.         }
  91.        
  92.         /**
  93.      * 获取用户的session用户信息
  94.      */
  95.     @RequestMapping("/session")
  96.     public R getCurrUser(HttpServletRequest request){
  97.             Long id = (Long)request.getSession().getAttribute("userId");
  98.         JingxiaoshangEntity user = jingxiaoshangService.selectById(id);
  99.         return R.ok().put("data", user);
  100.     }
  101.    
  102.     /**
  103.      * 密码重置
  104.      */
  105.     @IgnoreAuth
  106.         @RequestMapping(value = "/resetPass")
  107.     public R resetPass(String username, HttpServletRequest request){
  108.             JingxiaoshangEntity user = jingxiaoshangService.selectOne(new EntityWrapper<JingxiaoshangEntity>().eq("jingxiaoshangzhanghao", username));
  109.             if(user==null) {
  110.                     return R.error("账号不存在");
  111.             }
  112.         user.setMima("123456");
  113.         jingxiaoshangService.updateById(user);
  114.         return R.ok("密码已重置为:123456");
  115.     }
  116.     /**
  117.      * 后端列表
  118.      */
  119.     @RequestMapping("/page")
  120.     public R page(@RequestParam Map<String, Object> params,JingxiaoshangEntity jingxiaoshang,
  121.                 HttpServletRequest request){
  122.                 String tableName = request.getSession().getAttribute("tableName").toString();
  123.                 if(tableName.equals("fengongsi")) {
  124.                         jingxiaoshang.setFengongsizhanghao((String)request.getSession().getAttribute("username"));
  125.                 }
  126.         EntityWrapper<JingxiaoshangEntity> ew = new EntityWrapper<JingxiaoshangEntity>();
  127.             PageUtils page = jingxiaoshangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingxiaoshang), params), params));
  128.                 request.setAttribute("data", page);
  129.         return R.ok().put("data", page);
  130.     }
  131.    
  132.     /**
  133.      * 前端列表
  134.      */
  135.         @IgnoreAuth
  136.     @RequestMapping("/list")
  137.     public R list(@RequestParam Map<String, Object> params,JingxiaoshangEntity jingxiaoshang,
  138.                 HttpServletRequest request){
  139.         EntityWrapper<JingxiaoshangEntity> ew = new EntityWrapper<JingxiaoshangEntity>();
  140.             PageUtils page = jingxiaoshangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingxiaoshang), params), params));
  141.                 request.setAttribute("data", page);
  142.         return R.ok().put("data", page);
  143.     }
  144.         /**
  145.      * 列表
  146.      */
  147.     @RequestMapping("/lists")
  148.     public R list( JingxiaoshangEntity jingxiaoshang){
  149.                EntityWrapper<JingxiaoshangEntity> ew = new EntityWrapper<JingxiaoshangEntity>();
  150.               ew.allEq(MPUtil.allEQMapPre( jingxiaoshang, "jingxiaoshang"));
  151.         return R.ok().put("data", jingxiaoshangService.selectListView(ew));
  152.     }
  153.          /**
  154.      * 查询
  155.      */
  156.     @RequestMapping("/query")
  157.     public R query(JingxiaoshangEntity jingxiaoshang){
  158.         EntityWrapper< JingxiaoshangEntity> ew = new EntityWrapper< JingxiaoshangEntity>();
  159.                 ew.allEq(MPUtil.allEQMapPre( jingxiaoshang, "jingxiaoshang"));
  160.                 JingxiaoshangView jingxiaoshangView =  jingxiaoshangService.selectView(ew);
  161.                 return R.ok("查询经销商成功").put("data", jingxiaoshangView);
  162.     }
  163.        
  164.     /**
  165.      * 后端详情
  166.      */
  167.     @RequestMapping("/info/{id}")
  168.     public R info(@PathVariable("id") Long id){
  169.         JingxiaoshangEntity jingxiaoshang = jingxiaoshangService.selectById(id);
  170.         return R.ok().put("data", jingxiaoshang);
  171.     }
  172.     /**
  173.      * 前端详情
  174.      */
  175.         @IgnoreAuth
  176.     @RequestMapping("/detail/{id}")
  177.     public R detail(@PathVariable("id") Long id){
  178.         JingxiaoshangEntity jingxiaoshang = jingxiaoshangService.selectById(id);
  179.         return R.ok().put("data", jingxiaoshang);
  180.     }
  181.    
  182.     /**
  183.      * 后端保存
  184.      */
  185.     @RequestMapping("/save")
  186.     public R save(@RequestBody JingxiaoshangEntity jingxiaoshang, HttpServletRequest request){
  187.             jingxiaoshang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
  188.             //ValidatorUtils.validateEntity(jingxiaoshang);
  189.             JingxiaoshangEntity user = jingxiaoshangService.selectOne(new EntityWrapper<JingxiaoshangEntity>().eq("jingxiaoshangzhanghao", jingxiaoshang.getJingxiaoshangzhanghao()));
  190.                 if(user!=null) {
  191.                         return R.error("用户已存在");
  192.                 }
  193.                 jingxiaoshang.setId(new Date().getTime());
  194.         jingxiaoshangService.insert(jingxiaoshang);
  195.         return R.ok();
  196.     }
  197.    
  198.     /**
  199.      * 前端保存
  200.      */
  201.     @RequestMapping("/add")
  202.     public R add(@RequestBody JingxiaoshangEntity jingxiaoshang, HttpServletRequest request){
  203.             jingxiaoshang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
  204.             //ValidatorUtils.validateEntity(jingxiaoshang);
  205.             JingxiaoshangEntity user = jingxiaoshangService.selectOne(new EntityWrapper<JingxiaoshangEntity>().eq("jingxiaoshangzhanghao", jingxiaoshang.getJingxiaoshangzhanghao()));
  206.                 if(user!=null) {
  207.                         return R.error("用户已存在");
  208.                 }
  209.                 jingxiaoshang.setId(new Date().getTime());
  210.         jingxiaoshangService.insert(jingxiaoshang);
  211.         return R.ok();
  212.     }
  213.     /**
  214.      * 修改
  215.      */
  216.     @RequestMapping("/update")
  217.     @Transactional
  218.     public R update(@RequestBody JingxiaoshangEntity jingxiaoshang, HttpServletRequest request){
  219.         //ValidatorUtils.validateEntity(jingxiaoshang);
  220.         jingxiaoshangService.updateById(jingxiaoshang);//全部更新
  221.         return R.ok();
  222.     }
  223.    
  224.     /**
  225.      * 删除
  226.      */
  227.     @RequestMapping("/delete")
  228.     public R delete(@RequestBody Long[] ids){
  229.         jingxiaoshangService.deleteBatchIds(Arrays.asList(ids));
  230.         return R.ok();
  231.     }
  232.    
  233.     /**
  234.      * 提醒接口
  235.      */
  236.         @RequestMapping("/remind/{columnName}/{type}")
  237.         public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
  238.                                                  @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
  239.                 map.put("column", columnName);
  240.                 map.put("type", type);
  241.                
  242.                 if(type.equals("2")) {
  243.                         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  244.                         Calendar c = Calendar.getInstance();
  245.                         Date remindStartDate = null;
  246.                         Date remindEndDate = null;
  247.                         if(map.get("remindstart")!=null) {
  248.                                 Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
  249.                                 c.setTime(new Date());
  250.                                 c.add(Calendar.DAY_OF_MONTH,remindStart);
  251.                                 remindStartDate = c.getTime();
  252.                                 map.put("remindstart", sdf.format(remindStartDate));
  253.                         }
  254.                         if(map.get("remindend")!=null) {
  255.                                 Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
  256.                                 c.setTime(new Date());
  257.                                 c.add(Calendar.DAY_OF_MONTH,remindEnd);
  258.                                 remindEndDate = c.getTime();
  259.                                 map.put("remindend", sdf.format(remindEndDate));
  260.                         }
  261.                 }
  262.                
  263.                 Wrapper<JingxiaoshangEntity> wrapper = new EntityWrapper<JingxiaoshangEntity>();
  264.                 if(map.get("remindstart")!=null) {
  265.                         wrapper.ge(columnName, map.get("remindstart"));
  266.                 }
  267.                 if(map.get("remindend")!=null) {
  268.                         wrapper.le(columnName, map.get("remindend"));
  269.                 }
  270.                 String tableName = request.getSession().getAttribute("tableName").toString();
  271.                 if(tableName.equals("fengongsi")) {
  272.                         wrapper.eq("fengongsizhanghao", (String)request.getSession().getAttribute("username"));
  273.                 }
  274.                 int count = jingxiaoshangService.selectCount(wrapper);
  275.                 return R.ok().put("count", count);
  276.         }
  277.        
  278.        
  279. }
复制代码
head.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2.     pageEncoding="UTF-8"%>
  3.         <meta charset="utf-8">
  4.         <meta name="viewport" content="width=device-width, initial-scale=1.0">
  5.         <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.         <title>钢铁集团公司安全管理系统</title>
  7.         <!-- Fav  Icon Link -->
  8.         <link rel="shortcut icon" type="image/png" href="${pageContext.request.contextPath}/resources/images/fav.png">
  9.         <!-- Bootstrap core CSS -->
  10.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/bootstrap.min.css">
  11.         <!-- themify icons CSS -->
  12.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/themify-icons.css">
  13.         <!-- Animations CSS -->
  14.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/animate.css">
  15.         <!-- Main CSS -->
  16.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/styles.css">
  17.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/green.css" id="style_theme">
  18.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/responsive.css">
  19.         <!-- morris charts -->
  20.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/charts/css/morris.css">
  21.         <!-- jvectormap -->
  22.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/jquery-jvectormap.css">
  23.         <link rel="stylesheet" href="${pageContext.request.contextPath}/resources/datatable/dataTables.bootstrap4.min.css">
  24.         <script src="${pageContext.request.contextPath}/resources/js/modernizr.min.js"></script>
复制代码
声明

   本博客适用于广泛的学术和教育用途,包括但不限于个人学习、开发设计,产物设计。仅供学习参考,旨在为读者提供深入明白和学术研究的材料。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

卖不甜枣

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表