Commit 7242423dc7576210eebd8709818a6b314c62c888

Authored by 孙向锦
1 parent f8d83f1f

添加固件管理

WebRoot/WEB-INF/jsp/software/firm/firm_edit.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  8 +%>
  9 +<!DOCTYPE html>
  10 +<html lang="en">
  11 + <head>
  12 + <base href="<%=basePath%>">
  13 + <!-- 下拉框 -->
  14 + <link rel="stylesheet" href="static/ace/css/chosen.css" />
  15 + <!-- jsp文件头和头部 -->
  16 + <%@ include file="../../system/index/top.jsp"%>
  17 + <!-- 日期框 -->
  18 + <link rel="stylesheet" href="static/ace/css/datepicker.css" />
  19 +</head>
  20 +<body class="no-skin">
  21 +<!-- /section:basics/navbar.layout -->
  22 +<div class="main-container" id="main-container">
  23 + <!-- /section:basics/sidebar -->
  24 + <div class="main-content">
  25 + <div class="main-content-inner">
  26 + <div class="page-content">
  27 + <div class="row">
  28 + <div class="col-xs-12">
  29 +
  30 + <form action="firm/${msg }.do" name="Form" id="Form" method="post" enctype="multipart/form-data">
  31 + <input type="hidden" name="FIRM_ID" id="FIRM_ID" value="${pd.FIRM_ID}"/>
  32 + <div id="zhongxin" style="padding-top: 13px;">
  33 + <table id="table_report" class="table table-striped table-bordered table-hover">
  34 + <tr>
  35 + <td style="width:75px;text-align: right;padding-top: 13px;">产品名称:</td>
  36 + <td>
  37 + <select class="chosen-select form-control" name="PRODUCT_NAME" id="PRODUCT_NAME" data-placeholder="产品名称">
  38 + <c:forEach var="item" items="${productList}">
  39 + <option value="${item.PRODUCT_NAME}" <c:if test="${pd.PRODUCT_NAME==item.PRODUCT_NAME}">selected="true"</c:if>>${item.PRODUCT_NAME}</option>
  40 + </c:forEach>
  41 + </select>
  42 + </td>
  43 + </tr>
  44 + <tr>
  45 + <td style="width:75px;text-align: right;padding-top: 13px;">固件版本:</td>
  46 + <td><input type="text" name="FIRM_VERSION" id="FIRM_VERSION" value="${pd.FIRM_VERSION}" maxlength="255" placeholder="这里输入固件版本" title="固件版本" style="width:98%;"/></td>
  47 + </tr>
  48 + <tr>
  49 + <td style="width:75px;text-align: right;padding-top: 13px;">固件版本号:</td>
  50 + <td><input type="number" name="FRIM_CODE" id="FRIM_CODE" value="${pd.FRIM_CODE}" maxlength="32" placeholder="这里输入固件版本号" title="固件版本号" style="width:98%;"/></td>
  51 + </tr>
  52 + <tr>
  53 + <td style="width:75px;text-align: right;padding-top: 13px;">固件路径:</td>
  54 + <td><input type="file" name="FIRM_PATH" style="width:98%;"/></td>
  55 + </tr>
  56 + <tr>
  57 + <td style="width:75px;text-align: right;padding-top: 13px;">固件描述:</td>
  58 + <td><input type="text" name="FIRM_DESC" id="FIRM_DESC" value="${pd.FIRM_DESC}" maxlength="255" placeholder="这里输入固件描述" title="固件描述" style="width:98%;"/></td>
  59 + </tr>
  60 + <tr>
  61 + <td style="text-align: center;" colspan="10">
  62 + <a class="btn btn-mini btn-primary" onclick="save();">保存</a>
  63 + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a>
  64 + </td>
  65 + </tr>
  66 + </table>
  67 + </div>
  68 + <div id="zhongxin2" class="center" style="display:none"><br/><br/><br/><br/><br/><img src="static/images/jiazai.gif" /><br/><h4 class="lighter block green">提交中...</h4></div>
  69 + </form>
  70 + </div>
  71 + <!-- /.col -->
  72 + </div>
  73 + <!-- /.row -->
  74 + </div>
  75 + <!-- /.page-content -->
  76 + </div>
  77 + </div>
  78 + <!-- /.main-content -->
  79 +</div>
  80 +<!-- /.main-container -->
  81 +
  82 +
  83 + <!-- 页面底部js¨ -->
  84 + <%@ include file="../../system/index/foot.jsp"%>
  85 + <!-- 下拉框 -->
  86 + <script src="static/ace/js/chosen.jquery.js"></script>
  87 + <!-- 日期框 -->
  88 + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
  89 + <!--提示框-->
  90 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  91 + <script type="text/javascript">
  92 + $(top.hangge());
  93 + //保存
  94 + function save(){
  95 + if($("#PRODUCT_NAME").val()==""){
  96 + $("#PRODUCT_NAME").tips({
  97 + side:3,
  98 + msg:'请输入产品名称',
  99 + bg:'#AE81FF',
  100 + time:2
  101 + });
  102 + $("#PRODUCT_NAME").focus();
  103 + return false;
  104 + }
  105 + if($("#FIRM_VERSION").val()==""){
  106 + $("#FIRM_VERSION").tips({
  107 + side:3,
  108 + msg:'请输入固件版本',
  109 + bg:'#AE81FF',
  110 + time:2
  111 + });
  112 + $("#FIRM_VERSION").focus();
  113 + return false;
  114 + }
  115 + if($("#FRIM_CODE").val()==""){
  116 + $("#FRIM_CODE").tips({
  117 + side:3,
  118 + msg:'请输入固件版本号',
  119 + bg:'#AE81FF',
  120 + time:2
  121 + });
  122 + $("#FRIM_CODE").focus();
  123 + return false;
  124 + }
  125 + if($("#FIRM_PATH").val()==""){
  126 + $("#FIRM_PATH").tips({
  127 + side:3,
  128 + msg:'请输入固件路径',
  129 + bg:'#AE81FF',
  130 + time:2
  131 + });
  132 + $("#FIRM_PATH").focus();
  133 + return false;
  134 + }
  135 + if($("#FIRM_DESC").val()==""){
  136 + $("#FIRM_DESC").tips({
  137 + side:3,
  138 + msg:'请输入固件描述',
  139 + bg:'#AE81FF',
  140 + time:2
  141 + });
  142 + $("#FIRM_DESC").focus();
  143 + return false;
  144 + }
  145 + $("#Form").submit();
  146 + $("#zhongxin").hide();
  147 + $("#zhongxin2").show();
  148 + }
  149 +
  150 + $(function() {
  151 + //日期框
  152 + $('.date-picker').datepicker({autoclose: true,todayHighlight: true});
  153 + });
  154 + </script>
  155 +</body>
  156 +</html>
0 157 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/software/firm/firm_list.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%
  5 + String path = request.getContextPath();
  6 + String basePath = request.getScheme() + "://"
  7 + + request.getServerName() + ":" + request.getServerPort()
  8 + + path + "/";
  9 +%>
  10 +<!DOCTYPE html>
  11 +<html lang="en">
  12 +<head>
  13 +<base href="<%=basePath%>">
  14 +<!-- 下拉框 -->
  15 +<link rel="stylesheet" href="static/ace/css/chosen.css" />
  16 +<!-- jsp文件头和头部 -->
  17 +<%@ include file="../../system/index/top.jsp"%>
  18 +<!-- 日期框 -->
  19 +<link rel="stylesheet" href="static/ace/css/datepicker.css" />
  20 +</head>
  21 +<body class="no-skin">
  22 +
  23 + <!-- /section:basics/navbar.layout -->
  24 + <div class="main-container" id="main-container">
  25 + <!-- /section:basics/sidebar -->
  26 + <div class="main-content">
  27 + <div class="main-content-inner">
  28 + <div class="page-content">
  29 + <div class="row">
  30 + <div class="col-xs-12">
  31 +
  32 + <!-- 检索 -->
  33 + <form action="firm/list.do" method="post" name="Form" id="Form">
  34 + <table style="margin-top:5px;">
  35 + <tr>
  36 + <td style="vertical-align:top;padding-left:2px;">
  37 + <select class="chosen-select form-control" name="PRODUCT_NAME" id="PRODUCT_NAME" data-placeholder="请选择" style="vertical-align:top;width: 120px;">
  38 + <option value="">全部</option>
  39 + <c:forEach var="item" items="${productList}">
  40 + <option value="${item.PRODUCT_NAME}" >${item.PRODUCT_NAME}</option>
  41 + </c:forEach>
  42 + </select>
  43 + </td>
  44 + <c:if test="${QX.cha == 1 }">
  45 + <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
  46 + </c:if>
  47 + </tr>
  48 + </table>
  49 + <!-- 检索 -->
  50 +
  51 + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;">
  52 + <thead>
  53 + <tr>
  54 + <th class="center" style="width:35px;">
  55 + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label>
  56 + </th>
  57 + <th class="center" style="width:50px;">序号</th>
  58 + <th class="center">产品名称</th>
  59 + <th class="center">固件版本</th>
  60 + <th class="center">固件版本号</th>
  61 + <th class="center">固件文件</th>
  62 + <th class="center">固件描述</th>
  63 + <th class="center">操作</th>
  64 + </tr>
  65 + </thead>
  66 +
  67 + <tbody>
  68 + <!-- 开始循环 -->
  69 + <c:choose>
  70 + <c:when test="${not empty varList}">
  71 + <c:if test="${QX.cha == 1 }">
  72 + <c:forEach items="${varList}" var="var" varStatus="vs">
  73 + <tr>
  74 + <td class='center'>
  75 + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.FIRM_ID}" class="ace" /><span class="lbl"></span></label>
  76 + </td>
  77 + <td class='center' style="width: 30px;">${vs.index+1}</td>
  78 + <td class='center'>${var.PRODUCT_NAME}</td>
  79 + <td class='center'>${var.FIRM_VERSION}</td>
  80 + <td class='center'>${var.FRIM_CODE}</td>
  81 + <td class='center'><a target= '_blank' href='<%=basePath %>uploadFiles/uploadFile/${var.FIRM_PATH}'>下载</a> </td>
  82 + <td class='center'>${var.FIRM_DESC}</td>
  83 + <td class="center">
  84 + <c:if test="${QX.edit != 1 && QX.del != 1 }">
  85 + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span>
  86 + </c:if>
  87 + <div class="hidden-sm hidden-xs btn-group">
  88 + <c:if test="${QX.edit == 1 }">
  89 + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.FIRM_ID}');">
  90 + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i>
  91 + </a>
  92 + </c:if>
  93 + <c:if test="${QX.del == 1 }">
  94 + <a class="btn btn-xs btn-danger" onclick="del('${var.FIRM_ID}','${var.FIRM_PATH}');">
  95 + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i>
  96 + </a>
  97 + </c:if>
  98 + </div>
  99 + <div class="hidden-md hidden-lg">
  100 + <div class="inline pos-rel">
  101 + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
  102 + <i class="ace-icon fa fa-cog icon-only bigger-110"></i>
  103 + </button>
  104 +
  105 + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
  106 + <c:if test="${QX.edit == 1 }">
  107 + <li>
  108 + <a style="cursor:pointer;" onclick="edit('${var.FIRM_ID}');" class="tooltip-success" data-rel="tooltip" title="修改">
  109 + <span class="green">
  110 + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
  111 + </span>
  112 + </a>
  113 + </li>
  114 + </c:if>
  115 + <c:if test="${QX.del == 1 }">
  116 + <li>
  117 + <a style="cursor:pointer;" onclick="del('${var.FIRM_ID}','${var.FIRM_PATH}');" class="tooltip-error" data-rel="tooltip" title="删除">
  118 + <span class="red">
  119 + <i class="ace-icon fa fa-trash-o bigger-120"></i>
  120 + </span>
  121 + </a>
  122 + </li>
  123 + </c:if>
  124 + </ul>
  125 + </div>
  126 + </div>
  127 + </td>
  128 + </tr>
  129 +
  130 + </c:forEach>
  131 + </c:if>
  132 + <c:if test="${QX.cha == 0 }">
  133 + <tr>
  134 + <td colspan="100" class="center">您无权查看</td>
  135 + </tr>
  136 + </c:if>
  137 + </c:when>
  138 + <c:otherwise>
  139 + <tr class="main_info">
  140 + <td colspan="100" class="center" >没有相关数据</td>
  141 + </tr>
  142 + </c:otherwise>
  143 + </c:choose>
  144 + </tbody>
  145 + </table>
  146 + <div class="page-header position-relative">
  147 + <table style="width:100%;">
  148 + <tr>
  149 + <td style="vertical-align:top;">
  150 + <c:if test="${QX.add == 1 }">
  151 + <a class="btn btn-mini btn-success" onclick="add();">新增</a>
  152 + </c:if>
  153 + <c:if test="${QX.del == 1 }">
  154 + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a>
  155 + </c:if>
  156 + </td>
  157 + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td>
  158 + </tr>
  159 + </table>
  160 + </div>
  161 + </form>
  162 +
  163 + </div>
  164 + <!-- /.col -->
  165 + </div>
  166 + <!-- /.row -->
  167 + </div>
  168 + <!-- /.page-content -->
  169 + </div>
  170 + </div>
  171 + <!-- /.main-content -->
  172 +
  173 + <!-- 返回顶部 -->
  174 + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
  175 + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
  176 + </a>
  177 +
  178 + </div>
  179 + <!-- /.main-container -->
  180 +
  181 + <!-- basic scripts -->
  182 + <!-- 页面底部js¨ -->
  183 + <%@ include file="../../system/index/foot.jsp"%>
  184 + <!-- 删除时确认窗口 -->
  185 + <script src="static/ace/js/bootbox.js"></script>
  186 + <!-- ace scripts -->
  187 + <script src="static/ace/js/ace/ace.js"></script>
  188 + <!-- 下拉框 -->
  189 + <script src="static/ace/js/chosen.jquery.js"></script>
  190 + <!-- 日期框 -->
  191 + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
  192 + <!--提示框-->
  193 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  194 + <script type="text/javascript">
  195 + $(top.hangge());//关闭加载状态
  196 + //检索
  197 + function tosearch(){
  198 + top.jzts();
  199 + $("#Form").submit();
  200 + }
  201 + $(function() {
  202 +
  203 + //日期框
  204 + $('.date-picker').datepicker({
  205 + autoclose: true,
  206 + todayHighlight: true
  207 + });
  208 +
  209 + //下拉框
  210 + if(!ace.vars['touch']) {
  211 + $('.chosen-select').chosen({allow_single_deselect:true});
  212 + $(window)
  213 + .off('resize.chosen')
  214 + .on('resize.chosen', function() {
  215 + $('.chosen-select').each(function() {
  216 + var $this = $(this);
  217 + $this.next().css({'width': $this.parent().width()});
  218 + });
  219 + }).trigger('resize.chosen');
  220 + $(document).on('settings.ace.chosen', function(e, event_name, event_val) {
  221 + if(event_name != 'sidebar_collapsed') return;
  222 + $('.chosen-select').each(function() {
  223 + var $this = $(this);
  224 + $this.next().css({'width': $this.parent().width()});
  225 + });
  226 + });
  227 + $('#chosen-multiple-style .btn').on('click', function(e){
  228 + var target = $(this).find('input[type=radio]');
  229 + var which = parseInt(target.val());
  230 + if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
  231 + else $('#form-field-select-4').removeClass('tag-input-style');
  232 + });
  233 + }
  234 +
  235 +
  236 + //复选框全选控制
  237 + var active_class = 'active';
  238 + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
  239 + var th_checked = this.checked;//checkbox inside "TH" table header
  240 + $(this).closest('table').find('tbody > tr').each(function(){
  241 + var row = this;
  242 + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
  243 + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
  244 + });
  245 + });
  246 + });
  247 +
  248 + //新增
  249 + function add(){
  250 + top.jzts();
  251 + var diag = new top.Dialog();
  252 + diag.Drag=true;
  253 + diag.Title ="新增";
  254 + diag.URL = '<%=basePath%>firm/goAdd.do';
  255 + diag.Width = 450;
  256 + diag.Height = 355;
  257 + diag.Modal = true; //有无遮罩窗口
  258 + diag. ShowMaxButton = true; //最大化按钮
  259 + diag.ShowMinButton = true; //最小化按钮
  260 + diag.CancelEvent = function(){ //关闭事件
  261 + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  262 + if('${page.currentPage}' == '0'){
  263 + tosearch();
  264 + }else{
  265 + tosearch();
  266 + }
  267 + }
  268 + diag.close();
  269 + };
  270 + diag.show();
  271 + }
  272 +
  273 + //删除
  274 + function del(Id,path){
  275 + bootbox.confirm("确定要删除吗?", function(result) {
  276 + if(result) {
  277 + top.jzts();
  278 + var url = "<%=basePath%>firm/delete.do?FIRM_ID="+Id+"&firm_path=" + path + "&tm="+new Date().getTime();
  279 + $.get(url,function(data){
  280 + tosearch();
  281 + });
  282 + }
  283 + });
  284 + }
  285 +
  286 + //修改
  287 + function edit(Id){
  288 + top.jzts();
  289 + var diag = new top.Dialog();
  290 + diag.Drag=true;
  291 + diag.Title ="编辑";
  292 + diag.URL = '<%=basePath%>firm/goEdit.do?FIRM_ID='+Id;
  293 + diag.Width = 450;
  294 + diag.Height = 355;
  295 + diag.Modal = true; //有无遮罩窗口
  296 + diag. ShowMaxButton = true; //最大化按钮
  297 + diag.ShowMinButton = true; //最小化按钮
  298 + diag.CancelEvent = function(){ //关闭事件
  299 + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  300 + tosearch();
  301 + }
  302 + diag.close();
  303 + };
  304 + diag.show();
  305 + }
  306 +
  307 + //批量操作
  308 + function makeAll(msg){
  309 + bootbox.confirm(msg, function(result) {
  310 + if(result) {
  311 + var str = '';
  312 + for(var i=0;i < document.getElementsByName('ids').length;i++){
  313 + if(document.getElementsByName('ids')[i].checked){
  314 + if(str=='') str += document.getElementsByName('ids')[i].value;
  315 + else str += ',' + document.getElementsByName('ids')[i].value;
  316 + }
  317 + }
  318 + if(str==''){
  319 + bootbox.dialog({
  320 + message: "<span class='bigger-110'>您没有选择任何内容!</span>",
  321 + buttons:
  322 + { "button":{ "label":"确定", "className":"btn-sm btn-success"}}
  323 + });
  324 + $("#zcheckbox").tips({
  325 + side:1,
  326 + msg:'点这里全选',
  327 + bg:'#AE81FF',
  328 + time:8
  329 + });
  330 + return;
  331 + }else{
  332 + if(msg == '确定要删除选中的数据吗?'){
  333 + top.jzts();
  334 + $.ajax({
  335 + type: "POST",
  336 + url: '<%=basePath%>firm/deleteAll.do?tm='+new Date().getTime(),
  337 + data: {DATA_IDS:str},
  338 + dataType:'json',
  339 + //beforeSend: validateData,
  340 + cache: false,
  341 + success: function(data){
  342 + $.each(data.list, function(i, list){
  343 + tosearch();
  344 + });
  345 + }
  346 + });
  347 + }
  348 + }
  349 + }
  350 + });
  351 + };
  352 +
  353 + //导出excel
  354 + function toExcel(){
  355 + window.location.href='<%=basePath%>firm/excel.do';
  356 + }
  357 + </script>
  358 +
  359 +
  360 +</body>
  361 +</html>
0 362 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/software/firmware/firmware_edit.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  5 +<%
  6 + String path = request.getContextPath();
  7 + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  8 +%>
  9 +<!DOCTYPE html>
  10 +<html lang="en">
  11 + <head>
  12 + <base href="<%=basePath%>">
  13 + <!-- 下拉框 -->
  14 + <link rel="stylesheet" href="static/ace/css/chosen.css" />
  15 + <!-- jsp文件头和头部 -->
  16 + <%@ include file="../../system/index/top.jsp"%>
  17 + <!-- 日期框 -->
  18 + <link rel="stylesheet" href="static/ace/css/datepicker.css" />
  19 +</head>
  20 +<body class="no-skin">
  21 +<!-- /section:basics/navbar.layout -->
  22 +<div class="main-container" id="main-container">
  23 + <!-- /section:basics/sidebar -->
  24 + <div class="main-content">
  25 + <div class="main-content-inner">
  26 + <div class="page-content">
  27 + <div class="row">
  28 + <div class="col-xs-12">
  29 +
  30 + <form action="firmware/${msg }.do" name="Form" id="Form" method="post" enctype="multipart/form-data">
  31 + <input type="hidden" name="FIRMWARE_ID" id="FIRMWARE_ID" value="${pd.FIRMWARE_ID}"/>
  32 + <div id="zhongxin" style="padding-top: 13px;">
  33 + <table id="table_report" class="table table-striped table-bordered table-hover">
  34 + <tr>
  35 + <td style="width:75px;text-align: right;padding-top: 13px;">产品名称:</td>
  36 + <td><input type="text" name="PRODUCT_NAME" id="PRODUCT_NAME" value="${pd.PRODUCT_NAME}" maxlength="255" placeholder="这里输入产品名称" title="产品名称" style="width:98%;"/></td>
  37 + </tr>
  38 + <tr>
  39 + <td style="width:75px;text-align: right;padding-top: 13px;">货品编号:</td>
  40 + <td><input type="text" name="PRODUCT_NO" id="PRODUCT_NO" value="${pd.PRODUCT_NO}" maxlength="255" placeholder="这里输入货品编号" title="货品编号" style="width:98%;"/></td>
  41 + </tr>
  42 + <tr>
  43 + <td style="width:75px;text-align: right;padding-top: 13px;">应用行业:</td>
  44 + <td>
  45 + <select class="chosen-select form-control" name="INDUSTRY" id="INDUSTRY" data-placeholder="请选择" style="vertical-align:top;width:98%;">
  46 + <option value="教育" <c:if test="${pd.INDUSTRY eq '教育'}">selected="true"</c:if>>教育</option>
  47 + <option value="企业" <c:if test="${pd.INDUSTRY eq '企业'}">selected="true"</c:if>>企业</option>
  48 + <option value="政府" <c:if test="${pd.INDUSTRY eq '政府'}">selected="true"</c:if>>政府</option>
  49 + <option value="其他" <c:if test="${pd.INDUSTRY eq '其他'}">selected="true"</c:if>>其他</option>
  50 + </select>
  51 + </td>
  52 + </tr>
  53 + <tr>
  54 + <td style="width:75px;text-align: right;padding-top: 13px;">产品状态:</td>
  55 + <td>
  56 + <select class="chosen-select form-control" name="PRODUCT_STATE" id="PRODUCT_STATE" data-placeholder="请选择" style="vertical-align:top;width:98%;">
  57 + <option value="产品销售" <c:if test="${pd.PRODUCT_STATE eq '产品销售'}">selected="true"</c:if>>产品销售</option>
  58 + <option value="产品发布" <c:if test="${pd.PRODUCT_STATE eq '产品发布'}">selected="true"</c:if>>产品发布</option>
  59 + <option value="产品研制" <c:if test="${pd.PRODUCT_STATE eq '产品研制'}">selected="true"</c:if>>产品研制</option>
  60 + <option value="其他" <c:if test="${pd.PRODUCT_STATE eq '其他'}">selected="true"</c:if>>其他</option>
  61 + </select>
  62 + </td>
  63 + </tr>
  64 + <tr>
  65 + <td style="width:75px;text-align: right;padding-top: 13px;">产品规格:</td>
  66 + <td><input type="text" name="PRODUCT_SPEC" id="PRODUCT_SPEC" value="${pd.PRODUCT_SPEC}" maxlength="255" placeholder="这里输入产品规格" title="产品规格" style="width:98%;"/></td>
  67 + </tr>
  68 + <tr>
  69 + <td style="width:75px;text-align: right;padding-top: 13px;">产品功能:</td>
  70 + <td><input type="text" name="PRODUCT_FUNC" id="PRODUCT_FUNC" value="${pd.PRODUCT_FUNC}" maxlength="1000" placeholder="这里输入产品功能" title="产品功能" style="width:98%;"/></td>
  71 + </tr>
  72 + <tr>
  73 + <td style="width:75px;text-align: right;padding-top: 13px;">产品性能:</td>
  74 + <td><input type="text" name="PRODUCT_PERF" id="PRODUCT_PERF" value="${pd.PRODUCT_PERF}" maxlength="255" placeholder="这里输入产品性能" title="产品性能" style="width:98%;"/></td>
  75 + </tr>
  76 + <tr>
  77 + <td style="width:75px;text-align: right;padding-top: 13px;">适配硬件:</td>
  78 + <td><input type="text" name="ADAPTABLE_HARDWARE" id="ADAPTABLE_HARDWARE" value="${pd.ADAPTABLE_HARDWARE}" maxlength="500" placeholder="这里输入适配硬件" title="适配硬件" style="width:98%;"/></td>
  79 + </tr>
  80 + <tr>
  81 + <td style="width:75px;text-align: right;padding-top: 13px;">适配软件:</td>
  82 + <td><input type="text" name="ADAPTABLE_SOFTWARE" id="ADAPTABLE_SOFTWARE" value="${pd.ADAPTABLE_SOFTWARE}" maxlength="255" placeholder="这里输入适配软件" title="适配软件" style="width:98%;"/></td>
  83 + </tr>
  84 + <tr>
  85 + <td style="width:75px;text-align: right;padding-top: 13px;">产品认证:</td>
  86 + <td><input type="text" name="PRODUCT_CERT" id="PRODUCT_CERT" value="${pd.PRODUCT_CERT}" maxlength="255" placeholder="这里输入产品认证" title="产品认证" style="width:98%;"/></td>
  87 + </tr>
  88 + <tr>
  89 + <td style="width:75px;text-align: right;padding-top: 13px;">注意事项:</td>
  90 + <td><input type="text" name="REMARK" id="REMARK" value="${pd.REMARK}" maxlength="255" placeholder="这里输入注意事项" title="注意事项" style="width:98%;"/>
  91 + </td>
  92 + </tr>
  93 + <tr>
  94 + <td style="width:75px;text-align: right;padding-top: 13px;">照片1:</td>
  95 + <td>
  96 + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[0]}"/>${pd.PRODUCT_IMAGE[0]}
  97 + <input type="hidden" name="PRODUCT_IMAGE0" id="PRODUCT_IMAGE0" value="${pd.PRODUCT_IMAGE[0]}"/>
  98 + </td>
  99 + </tr>
  100 + <tr>
  101 + <td style="width:75px;text-align: right;padding-top: 13px;">照片2:</td>
  102 + <td>
  103 + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[1]}"/>${pd.PRODUCT_IMAGE[1]}
  104 + <input type="hidden" name="PRODUCT_IMAGE1" id="PRODUCT_IMAGE1" value="${pd.PRODUCT_IMAGE[1]}"/>
  105 + </td>
  106 + </tr>
  107 + <tr>
  108 + <td style="width:75px;text-align: right;padding-top: 13px;">照片3:</td>
  109 + <td>
  110 + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[2]}"/>${pd.PRODUCT_IMAGE[2]}
  111 + <input type="hidden" name="PRODUCT_IMAGE2" id="PRODUCT_IMAGE2" value="${pd.PRODUCT_IMAGE[2]}"/>
  112 + </td>
  113 + </tr>
  114 + <tr>
  115 + <td style="width:75px;text-align: right;padding-top: 13px;">照片4:</td>
  116 + <td>
  117 + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[3]}"/>${pd.PRODUCT_IMAGE[3]}
  118 + <input type="hidden" name="PRODUCT_IMAGE3" id="PRODUCT_IMAGE3" value="${pd.PRODUCT_IMAGE[3]}"/>
  119 + </td>
  120 +
  121 + </tr>
  122 + <tr>
  123 + <td style="width:75px;text-align: right;padding-top: 13px;">照片5:</td>
  124 + <td>
  125 + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[4]}"/>${pd.PRODUCT_IMAGE[4]}
  126 + <input type="hidden" name="PRODUCT_IMAGE4" id="PRODUCT_IMAGE4" value="${pd.PRODUCT_IMAGE[4]}"/>
  127 + </td>
  128 + </tr>
  129 + <tr>
  130 + <td style="width:75px;text-align: right;padding-top: 13px;">照片6:</td>
  131 + <td>
  132 + <input type="file" name="PRODUCT_IMAGE" id="PRODUCT_IMAGE" value="${pd.PRODUCT_IMAGE[5]}"/>${pd.PRODUCT_IMAGE[5]}
  133 + <input type="hidden" name="PRODUCT_IMAGE5" id="PRODUCT_IMAGE5" value="${pd.PRODUCT_IMAGE[5]}"/>
  134 + </td>
  135 + </tr>
  136 + <tr>
  137 + <td style="text-align: center;" colspan="10">
  138 + <a class="btn btn-mini btn-primary" onclick="save();">保存</a>
  139 + <a class="btn btn-mini btn-danger" onclick="top.Dialog.close();">取消</a>
  140 + </td>
  141 + </tr>
  142 + </table>
  143 + </div>
  144 + <div id="zhongxin2" class="center" style="display:none"><br/><br/><br/><br/><br/><img src="static/images/jiazai.gif" /><br/><h4 class="lighter block green">提交中...</h4></div>
  145 + </form>
  146 + </div>
  147 + <!-- /.col -->
  148 + </div>
  149 + <!-- /.row -->
  150 + </div>
  151 + <!-- /.page-content -->
  152 + </div>
  153 + </div>
  154 + <!-- /.main-content -->
  155 +</div>
  156 +<!-- /.main-container -->
  157 +
  158 +
  159 + <!-- 页面底部js¨ -->
  160 + <%@ include file="../../system/index/foot.jsp"%>
  161 + <!-- 下拉框 -->
  162 + <script src="static/ace/js/chosen.jquery.js"></script>
  163 + <!-- 日期框 -->
  164 + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
  165 + <!--提示框-->
  166 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  167 + <script type="text/javascript">
  168 + $(top.hangge());
  169 + //保存
  170 + function save(){
  171 + if($("#PRODUCT_NAME").val()==""){
  172 + $("#PRODUCT_NAME").tips({
  173 + side:3,
  174 + msg:'请输入产品名称',
  175 + bg:'#AE81FF',
  176 + time:2
  177 + });
  178 + $("#PRODUCT_NAME").focus();
  179 + return false;
  180 + }
  181 + if($("#PRODUCT_NO").val()==""){
  182 + $("#PRODUCT_NO").tips({
  183 + side:3,
  184 + msg:'请输入货品编号',
  185 + bg:'#AE81FF',
  186 + time:2
  187 + });
  188 + $("#PRODUCT_NO").focus();
  189 + return false;
  190 + }
  191 + if($("#INDUSTRY").val()==""){
  192 + $("#INDUSTRY").tips({
  193 + side:3,
  194 + msg:'请输入应用行业',
  195 + bg:'#AE81FF',
  196 + time:2
  197 + });
  198 + $("#INDUSTRY").focus();
  199 + return false;
  200 + }
  201 + if($("#PRODUCT_STATE").val()==""){
  202 + $("#PRODUCT_STATE").tips({
  203 + side:3,
  204 + msg:'请输入产品状态',
  205 + bg:'#AE81FF',
  206 + time:2
  207 + });
  208 + $("#PRODUCT_STATE").focus();
  209 + return false;
  210 + }
  211 + if($("#PRODUCT_SPEC").val()==""){
  212 + $("#PRODUCT_SPEC").tips({
  213 + side:3,
  214 + msg:'请输入产品规格',
  215 + bg:'#AE81FF',
  216 + time:2
  217 + });
  218 + $("#PRODUCT_SPEC").focus();
  219 + return false;
  220 + }
  221 + if($("#PRODUCT_FUNC").val()==""){
  222 + $("#PRODUCT_FUNC").tips({
  223 + side:3,
  224 + msg:'请输入产品功能',
  225 + bg:'#AE81FF',
  226 + time:2
  227 + });
  228 + $("#PRODUCT_FUNC").focus();
  229 + return false;
  230 + }
  231 + if($("#PRODUCT_PERF").val()==""){
  232 + $("#PRODUCT_PERF").tips({
  233 + side:3,
  234 + msg:'请输入产品性能',
  235 + bg:'#AE81FF',
  236 + time:2
  237 + });
  238 + $("#PRODUCT_PERF").focus();
  239 + return false;
  240 + }
  241 + if($("#ADAPTABLE_HARDWARE").val()==""){
  242 + $("#ADAPTABLE_HARDWARE").tips({
  243 + side:3,
  244 + msg:'请输入适配硬件',
  245 + bg:'#AE81FF',
  246 + time:2
  247 + });
  248 + $("#ADAPTABLE_HARDWARE").focus();
  249 + return false;
  250 + }
  251 + if($("#ADAPTABLE_SOFTWARE").val()==""){
  252 + $("#ADAPTABLE_SOFTWARE").tips({
  253 + side:3,
  254 + msg:'请输入适配软件',
  255 + bg:'#AE81FF',
  256 + time:2
  257 + });
  258 + $("#ADAPTABLE_SOFTWARE").focus();
  259 + return false;
  260 + }
  261 + if($("#PRODUCT_CERT").val()==""){
  262 + $("#PRODUCT_CERT").tips({
  263 + side:3,
  264 + msg:'请输入产品认证',
  265 + bg:'#AE81FF',
  266 + time:2
  267 + });
  268 + $("#PRODUCT_CERT").focus();
  269 + return false;
  270 + }
  271 + if($("#REMARK").val()==""){
  272 + $("#REMARK").tips({
  273 + side:3,
  274 + msg:'请输入注意事项',
  275 + bg:'#AE81FF',
  276 + time:2
  277 + });
  278 + $("#REMARK").focus();
  279 + return false;
  280 + }
  281 +
  282 + $("#Form").submit();
  283 + $("#zhongxin").hide();
  284 + $("#zhongxin2").show();
  285 + }
  286 +
  287 + $(function() {
  288 + //日期框
  289 + $('.date-picker').datepicker({autoclose: true,todayHighlight: true});
  290 + });
  291 + </script>
  292 +</body>
  293 +</html>
0 294 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/software/firmware/firmware_list.jsp 0 → 100644
  1 +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2 +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  3 +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
  4 +<%
  5 + String path = request.getContextPath();
  6 + String basePath = request.getScheme() + "://"
  7 + + request.getServerName() + ":" + request.getServerPort()
  8 + + path + "/";
  9 +%>
  10 +<!DOCTYPE html>
  11 +<html lang="en">
  12 +<head>
  13 +<base href="<%=basePath%>">
  14 +<!-- 下拉框 -->
  15 +<link rel="stylesheet" href="static/ace/css/chosen.css" />
  16 +<!-- jsp文件头和头部 -->
  17 +<%@ include file="../../system/index/top.jsp"%>
  18 +<!-- 日期框 -->
  19 +<link rel="stylesheet" href="static/ace/css/datepicker.css" />
  20 +</head>
  21 +<body class="no-skin">
  22 +
  23 + <!-- /section:basics/navbar.layout -->
  24 + <div class="main-container" id="main-container">
  25 + <!-- /section:basics/sidebar -->
  26 + <div class="main-content">
  27 + <div class="main-content-inner">
  28 + <div class="page-content">
  29 + <div class="row">
  30 + <div class="col-xs-12">
  31 +
  32 + <!-- 检索 -->
  33 + <form action="firmware/list.do" method="post" name="Form" id="Form">
  34 + <table style="margin-top:5px;">
  35 + <tr>
  36 +
  37 + <td style="vertical-align:top;padding-left:2px;">
  38 + <select class="chosen-select form-control" name="INDUSTRY" id="INDUSTRY" data-placeholder="请选择" style="vertical-align:top;">
  39 + <option value="">应用行业</option>
  40 + <option value="教育">教育</option>
  41 + <option value="企业">企业</option>
  42 + <option value="政府">政府</option>
  43 + <option value="其他">其他</option>
  44 + </select>
  45 + </td>
  46 + <td style="vertical-align:top;padding-left:2px;">
  47 + <select class="chosen-select form-control" name="PRODUCT_STATE" id="PRODUCT_STATE" data-placeholder="请选择" style="vertical-align:top;width:98%;">
  48 + <option value="" >产品状态</option>
  49 + <option value="产品销售" <c:if test="${pd.PRODUCT_STATE eq '产品销售'}">selected="true"</c:if>>销售</option>
  50 + <option value="产品发布" <c:if test="${pd.PRODUCT_STATE eq '产品发布'}">selected="true"</c:if>>发布</option>
  51 + <option value="产品研制" <c:if test="${pd.PRODUCT_STATE eq '产品研制'}">selected="true"</c:if>>研制</option>
  52 + <option value="其他" <c:if test="${pd.PRODUCT_STATE eq '其他'}">selected="true"</c:if>>其他</option>
  53 + </select>
  54 + </td>
  55 + <td>
  56 + <div class="nav-search">
  57 + <span class="input-icon">
  58 + <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/>
  59 + <i class="ace-icon fa fa-search nav-search-icon"></i>
  60 + </span>
  61 + </div>
  62 + </td>
  63 + <c:if test="${QX.cha == 1 }">
  64 + <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
  65 + </c:if>
  66 + <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if>
  67 + </tr>
  68 + </table>
  69 + <!-- 检索 -->
  70 +
  71 + <table id="simple-table" class="table table-striped table-bordered table-hover" style="margin-top:5px;">
  72 + <thead>
  73 + <tr>
  74 + <th class="center" style="width:35px;">
  75 + <label class="pos-rel"><input type="checkbox" class="ace" id="zcheckbox" /><span class="lbl"></span></label>
  76 + </th>
  77 + <th class="center" style="width:50px;">序号</th>
  78 + <th class="center">产品名称</th>
  79 + <th class="center">货品编号</th>
  80 + <th class="center">应用行业</th>
  81 + <th class="center">产品状态</th>
  82 + <th class="center">操作</th>
  83 + </tr>
  84 + </thead>
  85 +
  86 + <tbody>
  87 + <!-- 开始循环 -->
  88 + <c:choose>
  89 + <c:when test="${not empty varList}">
  90 + <c:if test="${QX.cha == 1 }">
  91 + <c:forEach items="${varList}" var="var" varStatus="vs">
  92 + <tr>
  93 + <td class='center'>
  94 + <label class="pos-rel"><input type='checkbox' name='ids' value="${var.FIRMWARE_ID}" class="ace" /><span class="lbl"></span></label>
  95 + </td>
  96 + <td class='center' style="width: 30px;">${vs.index+1}</td>
  97 + <td class='center'><a href="javascrip:;">${var.PRODUCT_NAME}</a></td>
  98 + <td class='center'>${var.PRODUCT_NO}</td>
  99 + <td class='center'>${var.INDUSTRY}</td>
  100 + <td class='center'>${var.PRODUCT_STATE}</td>
  101 + <td class="center">
  102 + <c:if test="${QX.edit != 1 && QX.del != 1 }">
  103 + <span class="label label-large label-grey arrowed-in-right arrowed-in"><i class="ace-icon fa fa-lock" title="无权限"></i></span>
  104 + </c:if>
  105 + <div class="hidden-sm hidden-xs btn-group">
  106 + <c:if test="${QX.edit == 1 }">
  107 + <a class="btn btn-xs btn-success" title="编辑" onclick="edit('${var.FIRMWARE_ID}');">
  108 + <i class="ace-icon fa fa-pencil-square-o bigger-120" title="编辑"></i>
  109 + </a>
  110 + </c:if>
  111 + <c:if test="${QX.del == 1 }">
  112 + <a class="btn btn-xs btn-danger" onclick="del('${var.FIRMWARE_ID}');">
  113 + <i class="ace-icon fa fa-trash-o bigger-120" title="删除"></i>
  114 + </a>
  115 + </c:if>
  116 + </div>
  117 + <div class="hidden-md hidden-lg">
  118 + <div class="inline pos-rel">
  119 + <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown" data-position="auto">
  120 + <i class="ace-icon fa fa-cog icon-only bigger-110"></i>
  121 + </button>
  122 +
  123 + <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
  124 + <c:if test="${QX.edit == 1 }">
  125 + <li>
  126 + <a style="cursor:pointer;" onclick="edit('${var.FIRMWARE_ID}');" class="tooltip-success" data-rel="tooltip" title="修改">
  127 + <span class="green">
  128 + <i class="ace-icon fa fa-pencil-square-o bigger-120"></i>
  129 + </span>
  130 + </a>
  131 + </li>
  132 + </c:if>
  133 + <c:if test="${QX.del == 1 }">
  134 + <li>
  135 + <a style="cursor:pointer;" onclick="del('${var.FIRMWARE_ID}');" class="tooltip-error" data-rel="tooltip" title="删除">
  136 + <span class="red">
  137 + <i class="ace-icon fa fa-trash-o bigger-120"></i>
  138 + </span>
  139 + </a>
  140 + </li>
  141 + </c:if>
  142 + </ul>
  143 + </div>
  144 + </div>
  145 + </td>
  146 + </tr>
  147 +
  148 + </c:forEach>
  149 + </c:if>
  150 + <c:if test="${QX.cha == 0 }">
  151 + <tr>
  152 + <td colspan="100" class="center">您无权查看</td>
  153 + </tr>
  154 + </c:if>
  155 + </c:when>
  156 + <c:otherwise>
  157 + <tr class="main_info">
  158 + <td colspan="100" class="center" >没有相关数据</td>
  159 + </tr>
  160 + </c:otherwise>
  161 + </c:choose>
  162 + </tbody>
  163 + </table>
  164 + <div class="page-header position-relative">
  165 + <table style="width:100%;">
  166 + <tr>
  167 + <td style="vertical-align:top;">
  168 + <c:if test="${QX.add == 1 }">
  169 + <a class="btn btn-mini btn-success" onclick="add();">新增</a>
  170 + </c:if>
  171 + <c:if test="${QX.del == 1 }">
  172 + <a class="btn btn-mini btn-danger" onclick="makeAll('确定要删除选中的数据吗?');" title="批量删除" ><i class='ace-icon fa fa-trash-o bigger-120'></i></a>
  173 + </c:if>
  174 + </td>
  175 + <td style="vertical-align:top;"><div class="pagination" style="float: right;padding-top: 0px;margin-top: 0px;">${page.pageStr}</div></td>
  176 + </tr>
  177 + </table>
  178 + </div>
  179 + </form>
  180 +
  181 + </div>
  182 + <!-- /.col -->
  183 + </div>
  184 + <!-- /.row -->
  185 + </div>
  186 + <!-- /.page-content -->
  187 + </div>
  188 + </div>
  189 + <!-- /.main-content -->
  190 +
  191 + <!-- 返回顶部 -->
  192 + <a href="#" id="btn-scroll-up" class="btn-scroll-up btn btn-sm btn-inverse">
  193 + <i class="ace-icon fa fa-angle-double-up icon-only bigger-110"></i>
  194 + </a>
  195 +
  196 + </div>
  197 + <!-- /.main-container -->
  198 +
  199 + <!-- basic scripts -->
  200 + <!-- 页面底部js¨ -->
  201 + <%@ include file="../../system/index/foot.jsp"%>
  202 + <!-- 删除时确认窗口 -->
  203 + <script src="static/ace/js/bootbox.js"></script>
  204 + <!-- ace scripts -->
  205 + <script src="static/ace/js/ace/ace.js"></script>
  206 + <!-- 下拉框 -->
  207 + <script src="static/ace/js/chosen.jquery.js"></script>
  208 + <!-- 日期框 -->
  209 + <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script>
  210 + <!--提示框-->
  211 + <script type="text/javascript" src="static/js/jquery.tips.js"></script>
  212 + <script type="text/javascript">
  213 + $(top.hangge());//关闭加载状态
  214 + //检索
  215 + function tosearch(){
  216 + top.jzts();
  217 + $("#Form").submit();
  218 + }
  219 + $(function() {
  220 +
  221 + //日期框
  222 + $('.date-picker').datepicker({
  223 + autoclose: true,
  224 + todayHighlight: true
  225 + });
  226 +
  227 + //下拉框
  228 + if(!ace.vars['touch']) {
  229 + $('.chosen-select').chosen({allow_single_deselect:true});
  230 + $(window)
  231 + .off('resize.chosen')
  232 + .on('resize.chosen', function() {
  233 + $('.chosen-select').each(function() {
  234 + var $this = $(this);
  235 + $this.next().css({'width': $this.parent().width()});
  236 + });
  237 + }).trigger('resize.chosen');
  238 + $(document).on('settings.ace.chosen', function(e, event_name, event_val) {
  239 + if(event_name != 'sidebar_collapsed') return;
  240 + $('.chosen-select').each(function() {
  241 + var $this = $(this);
  242 + $this.next().css({'width': $this.parent().width()});
  243 + });
  244 + });
  245 + $('#chosen-multiple-style .btn').on('click', function(e){
  246 + var target = $(this).find('input[type=radio]');
  247 + var which = parseInt(target.val());
  248 + if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
  249 + else $('#form-field-select-4').removeClass('tag-input-style');
  250 + });
  251 + }
  252 +
  253 +
  254 + //复选框全选控制
  255 + var active_class = 'active';
  256 + $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function(){
  257 + var th_checked = this.checked;//checkbox inside "TH" table header
  258 + $(this).closest('table').find('tbody > tr').each(function(){
  259 + var row = this;
  260 + if(th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true);
  261 + else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false);
  262 + });
  263 + });
  264 + });
  265 +
  266 + //新增
  267 + function add(){
  268 + top.jzts();
  269 + var diag = new top.Dialog();
  270 + diag.Drag=true;
  271 + diag.Title ="新增";
  272 + diag.URL = '<%=basePath%>firmware/goAdd.do';
  273 + diag.Width = 600;
  274 + diag.Height = 600;
  275 + diag.Modal = true; //有无遮罩窗口
  276 + diag. ShowMaxButton = true; //最大化按钮
  277 + diag.ShowMinButton = true; //最小化按钮
  278 + diag.CancelEvent = function(){ //关闭事件
  279 + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  280 + if('${page.currentPage}' == '0'){
  281 + tosearch();
  282 + }else{
  283 + tosearch();
  284 + }
  285 + }
  286 + diag.close();
  287 + };
  288 + diag.show();
  289 + }
  290 +
  291 + //删除
  292 + function del(Id){
  293 + bootbox.confirm("确定要删除吗?", function(result) {
  294 + if(result) {
  295 + top.jzts();
  296 + var url = "<%=basePath%>firmware/delete.do?FIRMWARE_ID="+Id+"&tm="+new Date().getTime();
  297 + $.get(url,function(data){
  298 + tosearch();
  299 + });
  300 + }
  301 + });
  302 + }
  303 +
  304 + //修改
  305 + function edit(Id){
  306 + top.jzts();
  307 + var diag = new top.Dialog();
  308 + diag.Drag=true;
  309 + diag.Title ="编辑";
  310 + diag.URL = '<%=basePath%>firmware/goEdit.do?FIRMWARE_ID='+Id;
  311 + diag.Width = 600;
  312 + diag.Height = 600;
  313 + diag.Modal = true; //有无遮罩窗口
  314 + diag. ShowMaxButton = true; //最大化按钮
  315 + diag.ShowMinButton = true; //最小化按钮
  316 + diag.CancelEvent = function(){ //关闭事件
  317 + if(diag.innerFrame.contentWindow.document.getElementById('zhongxin').style.display == 'none'){
  318 + tosearch();
  319 + }
  320 + diag.close();
  321 + };
  322 + diag.show();
  323 + <%-- var href = ("<%=basePath%>firmware/goEdit.do?FIRMWARE_ID="+Id);
  324 + window.location.href = href ; --%>
  325 + }
  326 +
  327 + //批量操作
  328 + function makeAll(msg){
  329 + bootbox.confirm(msg, function(result) {
  330 + if(result) {
  331 + var str = '';
  332 + for(var i=0;i < document.getElementsByName('ids').length;i++){
  333 + if(document.getElementsByName('ids')[i].checked){
  334 + if(str=='') str += document.getElementsByName('ids')[i].value;
  335 + else str += ',' + document.getElementsByName('ids')[i].value;
  336 + }
  337 + }
  338 + if(str==''){
  339 + bootbox.dialog({
  340 + message: "<span class='bigger-110'>您没有选择任何内容!</span>",
  341 + buttons:
  342 + { "button":{ "label":"确定", "className":"btn-sm btn-success"}}
  343 + });
  344 + $("#zcheckbox").tips({
  345 + side:1,
  346 + msg:'点这里全选',
  347 + bg:'#AE81FF',
  348 + time:8
  349 + });
  350 + return;
  351 + }else{
  352 + if(msg == '确定要删除选中的数据吗?'){
  353 + top.jzts();
  354 + $.ajax({
  355 + type: "POST",
  356 + url: '<%=basePath%>firmware/deleteAll.do?tm='+new Date().getTime(),
  357 + data: {DATA_IDS:str},
  358 + dataType:'json',
  359 + //beforeSend: validateData,
  360 + cache: false,
  361 + success: function(data){
  362 + $.each(data.list, function(i, list){
  363 + tosearch();
  364 + });
  365 + }
  366 + });
  367 + }
  368 + }
  369 + }
  370 + });
  371 + };
  372 +
  373 + //导出excel
  374 + function toExcel(){
  375 + window.location.href='<%=basePath%>firmware/excel.do';
  376 + }
  377 + </script>
  378 +
  379 +
  380 +</body>
  381 +</html>
0 382 \ No newline at end of file
... ...
WebRoot/WEB-INF/jsp/software/software/software_list.jsp
... ... @@ -33,27 +33,6 @@
33 33 <form action="software/list.do" method="post" name="Form" id="Form">
34 34 <table style="margin-top:5px;">
35 35 <tr>
36   - <td>
37   - <div class="nav-search">
38   - <span class="input-icon">
39   - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/>
40   - <i class="ace-icon fa fa-search nav-search-icon"></i>
41   - </span>
42   - </div>
43   - </td>
44   - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td>
45   - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td>
46   - <td style="vertical-align:top;padding-left:2px;">
47   - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;">
48   - <option value=""></option>
49   - <option value="">全部</option>
50   - <option value="">1</option>
51   - <option value="">2</option>
52   - </select>
53   - </td>
54   - <c:if test="${QX.cha == 1 }">
55   - <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
56   - </c:if>
57 36 <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if>
58 37 </tr>
59 38 </table>
... ...
WebRoot/WEB-INF/jsp/software/softwareversion/softwareversion_list.jsp
... ... @@ -34,27 +34,6 @@
34 34 <form action="softwareversion/list.do" method="post" name="Form" id="Form">
35 35 <table style="margin-top:5px;">
36 36 <tr>
37   - <td>
38   - <div class="nav-search">
39   - <span class="input-icon">
40   - <input type="text" placeholder="这里输入关键词" class="nav-search-input" id="nav-search-input" autocomplete="off" name="keywords" value="${pd.keywords }" placeholder="这里输入关键词"/>
41   - <i class="ace-icon fa fa-search nav-search-icon"></i>
42   - </span>
43   - </div>
44   - </td>
45   - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastStart" id="lastStart" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="开始日期" title="开始日期"/></td>
46   - <td style="padding-left:2px;"><input class="span10 date-picker" name="lastEnd" name="lastEnd" value="" type="text" data-date-format="yyyy-mm-dd" readonly="readonly" style="width:88px;" placeholder="结束日期" title="结束日期"/></td>
47   - <td style="vertical-align:top;padding-left:2px;">
48   - <select class="chosen-select form-control" name="name" id="id" data-placeholder="请选择" style="vertical-align:top;width: 120px;">
49   - <option value=""></option>
50   - <option value="">全部</option>
51   - <option value="">1</option>
52   - <option value="">2</option>
53   - </select>
54   - </td>
55   - <c:if test="${QX.cha == 1 }">
56   - <td style="vertical-align:top;padding-left:2px"><a class="btn btn-light btn-xs" onclick="tosearch();" title="检索"><i id="nav-search-icon" class="ace-icon fa fa-search bigger-110 nav-search-icon blue"></i></a></td>
57   - </c:if>
58 37 <c:if test="${QX.toExcel == 1 }"><td style="vertical-align:top;padding-left:2px;"><a class="btn btn-light btn-xs" onclick="toExcel();" title="导出到EXCEL"><i id="nav-search-icon" class="ace-icon fa fa-download bigger-110 nav-search-icon blue"></i></a></td></c:if>
59 38 </tr>
60 39 </table>
... ...
WebRoot/static/js/control-604.js
... ... @@ -368,10 +368,16 @@ function creatHtml(data){
368 368 }
369 369 }
370 370 }
  371 +
  372 +var answerLen = 0 ;
371 373 /*快速建题中,每输入五个答案就加一个空格*/
372   -$("#answer").on("input propertychange",function(){
373   - if($("#answer").val().length%5==0)
374   - $("#answer").val($("#answer").val()+" ");
  374 +$("#answer").on("input propertychange",function(event){
  375 + if($("#answer").val().length > answerLen){
  376 + if(($("#answer").val().length + 1 )% 6 == 0){
  377 + $("#answer").val($("#answer").val()+" ");
  378 + }
  379 + }
  380 + answerLen = $("#answer").val().length;
375 381 })
376 382  
377 383 /*数字转汉字数字*/
... ...
resources/mybatis1/software/FirmMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="FirmMapper">
  4 +
  5 + <!--表名 -->
  6 + <sql id="tableName">
  7 + SV_FIRM
  8 + </sql>
  9 +
  10 + <!-- 字段 -->
  11 + <sql id="Field">
  12 + PRODUCT_NAME,
  13 + FIRM_VERSION,
  14 + FRIM_CODE,
  15 + FIRM_PATH,
  16 + FIRM_DESC,
  17 + FIRM_ID
  18 + </sql>
  19 +
  20 + <!-- 字段值 -->
  21 + <sql id="FieldValue">
  22 + #{PRODUCT_NAME},
  23 + #{FIRM_VERSION},
  24 + #{FRIM_CODE},
  25 + #{FIRM_PATH},
  26 + #{FIRM_DESC},
  27 + #{FIRM_ID}
  28 + </sql>
  29 +
  30 + <!-- 新增-->
  31 + <insert id="save" parameterType="pd">
  32 + insert into
  33 + <include refid="tableName"></include>
  34 + (
  35 + <include refid="Field"></include>
  36 + ) values (
  37 + <include refid="FieldValue"></include>
  38 + )
  39 + </insert>
  40 +
  41 + <!-- 删除-->
  42 + <delete id="delete" parameterType="pd">
  43 + delete from
  44 + <include refid="tableName"></include>
  45 + where
  46 + FIRM_ID = #{FIRM_ID}
  47 + </delete>
  48 +
  49 + <!-- 修改 -->
  50 + <update id="edit" parameterType="pd">
  51 + update
  52 + <include refid="tableName"></include>
  53 + set
  54 + PRODUCT_NAME = #{PRODUCT_NAME},
  55 + FIRM_VERSION = #{FIRM_VERSION},
  56 + FRIM_CODE = #{FRIM_CODE},
  57 + FIRM_PATH = #{FIRM_PATH},
  58 + FIRM_DESC = #{FIRM_DESC},
  59 + FIRM_ID = FIRM_ID
  60 + where
  61 + FIRM_ID = #{FIRM_ID}
  62 + </update>
  63 +
  64 + <!-- 通过ID获取数据 -->
  65 + <select id="findById" parameterType="pd" resultType="pd">
  66 + select
  67 + <include refid="Field"></include>
  68 + from
  69 + <include refid="tableName"></include>
  70 + where
  71 + FIRM_ID = #{FIRM_ID}
  72 + </select>
  73 +
  74 + <!-- 列表 -->
  75 + <select id="datalistPage" parameterType="page" resultType="pd">
  76 + select
  77 + <include refid="Field"></include>
  78 + from
  79 + <include refid="tableName"></include>
  80 + where 1=1
  81 + <if test="pd.PRODUCT_NAME != null and pd.PRODUCT_NAME != ''"><!-- 关键词检索 -->
  82 + and
  83 + (
  84 + PRODUCT_NAME = #{pd.PRODUCT_NAME}
  85 + )
  86 + </if>
  87 + </select>
  88 +
  89 + <!-- 列表(全部) -->
  90 + <select id="listAll" parameterType="pd" resultType="pd">
  91 + select
  92 + <include refid="Field"></include>
  93 + from
  94 + <include refid="tableName"></include>
  95 + </select>
  96 +
  97 + <!-- 批量删除 -->
  98 + <delete id="deleteAll" parameterType="String">
  99 + delete from
  100 + <include refid="tableName"></include>
  101 + where
  102 + FIRM_ID in
  103 + <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
  104 + #{item}
  105 + </foreach>
  106 + </delete>
  107 +
  108 + <!-- fh313596790qq(青苔) -->
  109 +</mapper>
0 110 \ No newline at end of file
... ...
resources/mybatis1/software/FirmwareMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="FirmwareMapper">
  4 +
  5 + <!--表名 -->
  6 + <sql id="tableName">
  7 + SV_FIRMWARE
  8 + </sql>
  9 +
  10 + <!-- 字段 -->
  11 + <sql id="Field">
  12 + PRODUCT_NAME,
  13 + PRODUCT_NO,
  14 + INDUSTRY,
  15 + PRODUCT_STATE,
  16 + PRODUCT_SPEC,
  17 + PRODUCT_FUNC,
  18 + PRODUCT_PERF,
  19 + ADAPTABLE_HARDWARE,
  20 + ADAPTABLE_SOFTWARE,
  21 + PRODUCT_CERT,
  22 + REMARK,
  23 + PRODUCT_IMAGE,
  24 + CREATE_DATE,
  25 + FIRMWARE_ID
  26 + </sql>
  27 +
  28 + <!-- 字段值 -->
  29 + <sql id="FieldValue">
  30 + #{PRODUCT_NAME},
  31 + #{PRODUCT_NO},
  32 + #{INDUSTRY},
  33 + #{PRODUCT_STATE},
  34 + #{PRODUCT_SPEC},
  35 + #{PRODUCT_FUNC},
  36 + #{PRODUCT_PERF},
  37 + #{ADAPTABLE_HARDWARE},
  38 + #{ADAPTABLE_SOFTWARE},
  39 + #{PRODUCT_CERT},
  40 + #{REMARK},
  41 + #{PRODUCT_IMAGE},
  42 + #{CREATE_DATE},
  43 + #{FIRMWARE_ID}
  44 + </sql>
  45 +
  46 + <!-- 新增-->
  47 + <insert id="save" parameterType="pd">
  48 + insert into
  49 + <include refid="tableName"></include>
  50 + (
  51 + <include refid="Field"></include>
  52 + ) values (
  53 + <include refid="FieldValue"></include>
  54 + )
  55 + </insert>
  56 +
  57 + <!-- 删除-->
  58 + <delete id="delete" parameterType="pd">
  59 + delete from
  60 + <include refid="tableName"></include>
  61 + where
  62 + FIRMWARE_ID = #{FIRMWARE_ID}
  63 + </delete>
  64 +
  65 + <!-- 修改 -->
  66 + <update id="edit" parameterType="pd">
  67 + update
  68 + <include refid="tableName"></include>
  69 + set
  70 + PRODUCT_NAME = #{PRODUCT_NAME},
  71 + PRODUCT_NO = #{PRODUCT_NO},
  72 + INDUSTRY = #{INDUSTRY},
  73 + PRODUCT_STATE = #{PRODUCT_STATE},
  74 + PRODUCT_SPEC = #{PRODUCT_SPEC},
  75 + PRODUCT_FUNC = #{PRODUCT_FUNC},
  76 + PRODUCT_PERF = #{PRODUCT_PERF},
  77 + ADAPTABLE_HARDWARE = #{ADAPTABLE_HARDWARE},
  78 + ADAPTABLE_SOFTWARE = #{ADAPTABLE_SOFTWARE},
  79 + PRODUCT_CERT = #{PRODUCT_CERT},
  80 + REMARK = #{REMARK},
  81 + PRODUCT_IMAGE = #{PRODUCT_IMAGE},
  82 + FIRMWARE_ID = FIRMWARE_ID
  83 + where
  84 + FIRMWARE_ID = #{FIRMWARE_ID}
  85 + </update>
  86 +
  87 + <!-- 通过ID获取数据 -->
  88 + <select id="findById" parameterType="pd" resultType="pd">
  89 + select
  90 + <include refid="Field"></include>
  91 + from
  92 + <include refid="tableName"></include>
  93 + where
  94 + FIRMWARE_ID = #{FIRMWARE_ID}
  95 + </select>
  96 +
  97 + <!-- 列表 -->
  98 + <select id="datalistPage" parameterType="page" resultType="pd">
  99 + select
  100 + <include refid="Field"></include>
  101 + from
  102 + <include refid="tableName"></include>
  103 + where 1=1
  104 + <if test="pd.KEYWORDS!= null and pd.KEYWORDS != ''"><!-- 关键词检索 -->
  105 + and
  106 + (
  107 + PRODUCT_NAME LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  108 + or
  109 + PRODUCT_NO LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  110 + or
  111 + PRODUCT_SPEC LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  112 + or
  113 + PRODUCT_FUNC LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  114 + or
  115 + PRODUCT_PERF LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  116 + or
  117 + ADAPTABLE_HARDWARE LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  118 + or
  119 + ADAPTABLE_SOFTWARE LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  120 + or
  121 + PRODUCT_CERT LIKE CONCAT(CONCAT('%', #{pd.KEYWORDS}),'%')
  122 + )
  123 + </if>
  124 + <if test="pd.INDUSTRY != null and pd.INDUSTRY != ''">
  125 + and INDUSTRY = #{pd.INDUSTRY}
  126 + </if>
  127 + <if test="pd.PRODUCT_STATE != null and pd.PRODUCT_STATE != ''">
  128 + and PRODUCT_STATE = #{pd.PRODUCT_STATE}
  129 + </if>
  130 +
  131 + </select>
  132 +
  133 + <!-- 列表(全部) -->
  134 + <select id="listAll" parameterType="pd" resultType="pd">
  135 + select
  136 + <include refid="Field"></include>
  137 + from
  138 + <include refid="tableName"></include>
  139 + </select>
  140 +
  141 + <!-- 批量删除 -->
  142 + <delete id="deleteAll" parameterType="String">
  143 + delete from
  144 + <include refid="tableName"></include>
  145 + where
  146 + FIRMWARE_ID in
  147 + <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
  148 + #{item}
  149 + </foreach>
  150 + </delete>
  151 +
  152 + <!-- fh313596790qq(青苔) -->
  153 +</mapper>
0 154 \ No newline at end of file
... ...
src/com/fh/controller/software/firm/FirmController.java 0 → 100644
  1 +package com.fh.controller.software.firm;
  2 +
  3 +import java.io.File;
  4 +import java.io.PrintWriter;
  5 +import java.text.DateFormat;
  6 +import java.text.SimpleDateFormat;
  7 +import java.util.ArrayList;
  8 +import java.util.Date;
  9 +import java.util.HashMap;
  10 +import java.util.List;
  11 +import java.util.Map;
  12 +
  13 +import javax.annotation.Resource;
  14 +import javax.servlet.http.HttpServletRequest;
  15 +
  16 +import org.springframework.beans.propertyeditors.CustomDateEditor;
  17 +import org.springframework.stereotype.Controller;
  18 +import org.springframework.web.bind.WebDataBinder;
  19 +import org.springframework.web.bind.annotation.InitBinder;
  20 +import org.springframework.web.bind.annotation.RequestMapping;
  21 +import org.springframework.web.bind.annotation.RequestParam;
  22 +import org.springframework.web.bind.annotation.ResponseBody;
  23 +import org.springframework.web.multipart.MultipartFile;
  24 +import org.springframework.web.servlet.ModelAndView;
  25 +
  26 +import com.fh.controller.base.BaseController;
  27 +import com.fh.controller.sunvote.Myelfun;
  28 +import com.fh.entity.Page;
  29 +import com.fh.service.software.firm.FirmManager;
  30 +import com.fh.service.software.firmware.FirmwareManager;
  31 +import com.fh.util.AppUtil;
  32 +import com.fh.util.Jurisdiction;
  33 +import com.fh.util.ObjectExcelView;
  34 +import com.fh.util.PageData;
  35 +
  36 +/**
  37 + * 说明:固件管理
  38 + * 创建人:FH Q313596790
  39 + * 创建时间:2018-07-09
  40 + */
  41 +@Controller
  42 +@RequestMapping(value="/firm")
  43 +public class FirmController extends BaseController {
  44 +
  45 + String menuUrl = "firm/list.do"; //菜单地址(权限用)
  46 + @Resource(name="firmService")
  47 + private FirmManager firmService;
  48 +
  49 + @Resource(name="firmwareService")
  50 + private FirmwareManager firmwareService;
  51 +
  52 + /**保存
  53 + * @param
  54 + * @throws Exception
  55 + */
  56 + @RequestMapping(value="/save")
  57 + public ModelAndView save(@RequestParam(value="FIRM_PATH",required=false) MultipartFile file, HttpServletRequest request) throws Exception{
  58 + logBefore(logger, Jurisdiction.getUsername()+"新增Firm");
  59 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
  60 + ModelAndView mv = this.getModelAndView();
  61 + PageData pd = new PageData(request);
  62 + pd.put("FIRM_ID", this.get32UUID()); //主键
  63 + String path = request.getSession().getServletContext()
  64 + .getRealPath("/uploadFiles/uploadFile/");
  65 + if (file != null) {
  66 + String name = pd.getString("FIRM_ID") + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
  67 + File pathFile = new File(path);
  68 + pathFile.mkdirs();
  69 + File saveFile = new File(path + File.separator + name);
  70 + if (saveFile.exists()) {
  71 + saveFile.delete();
  72 + }
  73 + saveFile.createNewFile();
  74 + file.transferTo(saveFile);
  75 + pd.put("FIRM_PATH", name);
  76 + }
  77 + firmService.save(pd);
  78 + mv.addObject("msg","success");
  79 + mv.setViewName("save_result");
  80 + return mv;
  81 + }
  82 +
  83 + /**删除
  84 + * @param out
  85 + * @throws Exception
  86 + */
  87 + @RequestMapping(value="/delete")
  88 + public void delete(PrintWriter out,HttpServletRequest request) throws Exception{
  89 + logBefore(logger, Jurisdiction.getUsername()+"删除Firm");
  90 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
  91 + PageData pd = new PageData();
  92 + pd = this.getPageData();
  93 + firmService.delete(pd);
  94 + String path = request.getSession().getServletContext()
  95 + .getRealPath("/uploadFiles/uploadFile/");
  96 + File file = new File(path + File.separator + pd.getString("FIRM_PATH"));
  97 + file.deleteOnExit();
  98 + out.write("success");
  99 + out.close();
  100 + }
  101 +
  102 + /**修改
  103 + * @param
  104 + * @throws Exception
  105 + */
  106 + @RequestMapping(value="/edit")
  107 + public ModelAndView edit() throws Exception{
  108 + logBefore(logger, Jurisdiction.getUsername()+"修改Firm");
  109 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
  110 + ModelAndView mv = this.getModelAndView();
  111 + PageData pd = new PageData();
  112 + pd = this.getPageData();
  113 + firmService.edit(pd);
  114 + mv.addObject("msg","success");
  115 + mv.setViewName("save_result");
  116 + return mv;
  117 + }
  118 +
  119 + /**列表
  120 + * @param page
  121 + * @throws Exception
  122 + */
  123 + @RequestMapping(value="/list")
  124 + public ModelAndView list(Page page) throws Exception{
  125 + logBefore(logger, Jurisdiction.getUsername()+"列表Firm");
  126 + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  127 + ModelAndView mv = this.getModelAndView();
  128 + PageData pd = new PageData();
  129 + pd = this.getPageData();
  130 + String keywords = pd.getString("keywords"); //关键词检索条件
  131 + if(null != keywords && !"".equals(keywords)){
  132 + pd.put("keywords", keywords.trim());
  133 + }
  134 + page.setPd(pd);
  135 + List<PageData> varList = firmService.list(page); //列出Firm列表
  136 + mv.setViewName("software/firm/firm_list");
  137 + List<PageData> productList = firmwareService.listAll(pd);
  138 + mv.addObject("productList",productList);
  139 + mv.addObject("varList", varList);
  140 + mv.addObject("pd", pd);
  141 + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  142 + return mv;
  143 + }
  144 +
  145 + /**去新增页面
  146 + * @param
  147 + * @throws Exception
  148 + */
  149 + @RequestMapping(value="/goAdd")
  150 + public ModelAndView goAdd()throws Exception{
  151 + ModelAndView mv = this.getModelAndView();
  152 + PageData pd = new PageData();
  153 + pd = this.getPageData();
  154 + mv.setViewName("software/firm/firm_edit");
  155 + mv.addObject("msg", "save");
  156 + List<PageData> productList = firmwareService.listAll(pd);
  157 + mv.addObject("productList",productList);
  158 + mv.addObject("pd", pd);
  159 + return mv;
  160 + }
  161 +
  162 + /**去修改页面
  163 + * @param
  164 + * @throws Exception
  165 + */
  166 + @RequestMapping(value="/goEdit")
  167 + public ModelAndView goEdit()throws Exception{
  168 + ModelAndView mv = this.getModelAndView();
  169 + PageData pd = new PageData();
  170 + pd = this.getPageData();
  171 + pd = firmService.findById(pd); //根据ID读取
  172 + mv.setViewName("software/firm/firm_edit");
  173 + List<PageData> productList = firmwareService.listAll(pd);
  174 + mv.addObject("productList",productList);
  175 + mv.addObject("msg", "edit");
  176 + mv.addObject("pd", pd);
  177 + return mv;
  178 + }
  179 +
  180 + /**批量删除
  181 + * @param
  182 + * @throws Exception
  183 + */
  184 + @RequestMapping(value="/deleteAll")
  185 + @ResponseBody
  186 + public Object deleteAll() throws Exception{
  187 + logBefore(logger, Jurisdiction.getUsername()+"批量删除Firm");
  188 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
  189 + PageData pd = new PageData();
  190 + Map<String,Object> map = new HashMap<String,Object>();
  191 + pd = this.getPageData();
  192 + List<PageData> pdList = new ArrayList<PageData>();
  193 + String DATA_IDS = pd.getString("DATA_IDS");
  194 + if(null != DATA_IDS && !"".equals(DATA_IDS)){
  195 + String ArrayDATA_IDS[] = DATA_IDS.split(",");
  196 + firmService.deleteAll(ArrayDATA_IDS);
  197 + pd.put("msg", "ok");
  198 + }else{
  199 + pd.put("msg", "no");
  200 + }
  201 + pdList.add(pd);
  202 + map.put("list", pdList);
  203 + return AppUtil.returnObject(pd, map);
  204 + }
  205 +
  206 + /**导出到excel
  207 + * @param
  208 + * @throws Exception
  209 + */
  210 + @RequestMapping(value="/excel")
  211 + public ModelAndView exportExcel() throws Exception{
  212 + logBefore(logger, Jurisdiction.getUsername()+"导出Firm到excel");
  213 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  214 + ModelAndView mv = new ModelAndView();
  215 + PageData pd = new PageData();
  216 + pd = this.getPageData();
  217 + Map<String,Object> dataMap = new HashMap<String,Object>();
  218 + List<String> titles = new ArrayList<String>();
  219 + titles.add("产品名称"); //1
  220 + titles.add("固件版本"); //2
  221 + titles.add("固件版本号"); //3
  222 + titles.add("固件路径"); //4
  223 + titles.add("固件描述"); //5
  224 + dataMap.put("titles", titles);
  225 + List<PageData> varOList = firmService.listAll(pd);
  226 + List<PageData> varList = new ArrayList<PageData>();
  227 + for(int i=0;i<varOList.size();i++){
  228 + PageData vpd = new PageData();
  229 + vpd.put("var1", varOList.get(i).getString("PRODUCT_NAME")); //1
  230 + vpd.put("var2", varOList.get(i).getString("FIRM_VERSION")); //2
  231 + vpd.put("var3", varOList.get(i).get("FRIM_CODE").toString()); //3
  232 + vpd.put("var4", varOList.get(i).getString("FIRM_PATH")); //4
  233 + vpd.put("var5", varOList.get(i).getString("FIRM_DESC")); //5
  234 + varList.add(vpd);
  235 + }
  236 + dataMap.put("varList", varList);
  237 + ObjectExcelView erv = new ObjectExcelView();
  238 + mv = new ModelAndView(erv,dataMap);
  239 + return mv;
  240 + }
  241 +
  242 + @InitBinder
  243 + public void initBinder(WebDataBinder binder){
  244 + DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  245 + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true));
  246 + }
  247 +}
... ...
src/com/fh/controller/software/firmware/FirmwareController.java 0 → 100644
  1 +package com.fh.controller.software.firmware;
  2 +
  3 +import java.io.File;
  4 +import java.io.PrintWriter;
  5 +import java.text.DateFormat;
  6 +import java.text.SimpleDateFormat;
  7 +import java.util.ArrayList;
  8 +import java.util.Date;
  9 +import java.util.HashMap;
  10 +import java.util.List;
  11 +import java.util.Map;
  12 +
  13 +import javax.annotation.Resource;
  14 +import javax.servlet.http.HttpServletRequest;
  15 +
  16 +import org.springframework.beans.propertyeditors.CustomDateEditor;
  17 +import org.springframework.stereotype.Controller;
  18 +import org.springframework.web.bind.WebDataBinder;
  19 +import org.springframework.web.bind.annotation.InitBinder;
  20 +import org.springframework.web.bind.annotation.RequestMapping;
  21 +import org.springframework.web.bind.annotation.RequestParam;
  22 +import org.springframework.web.bind.annotation.ResponseBody;
  23 +import org.springframework.web.multipart.MultipartFile;
  24 +import org.springframework.web.servlet.ModelAndView;
  25 +
  26 +import com.fh.controller.base.BaseController;
  27 +import com.fh.entity.Page;
  28 +import com.fh.util.AppUtil;
  29 +import com.fh.util.ObjectExcelView;
  30 +import com.fh.util.PageData;
  31 +import com.fh.util.Jurisdiction;
  32 +import com.fh.util.Tools;
  33 +import com.fh.service.software.firmware.FirmwareManager;
  34 +
  35 +/**
  36 + * 说明:固件管理
  37 + * 创建人:FH Q313596790
  38 + * 创建时间:2018-07-09
  39 + */
  40 +@Controller
  41 +@RequestMapping(value="/firmware")
  42 +public class FirmwareController extends BaseController {
  43 +
  44 + String menuUrl = "firmware/list.do"; //菜单地址(权限用)
  45 + @Resource(name="firmwareService")
  46 + private FirmwareManager firmwareService;
  47 +
  48 + /**保存
  49 + * @param
  50 + * @throws Exception
  51 + */
  52 + @RequestMapping(value="/save")
  53 + public ModelAndView save(@RequestParam(value="PRODUCT_IMAGE",required=false) MultipartFile[] files, HttpServletRequest request) throws Exception{
  54 + logBefore(logger, Jurisdiction.getUsername()+"新增Firmware");
  55 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限
  56 + ModelAndView mv = this.getModelAndView();
  57 + PageData pd = new PageData(request);
  58 + pd.put("FIRMWARE_ID", this.get32UUID()); //主键
  59 + pd.put("CREATE_DATE", Tools.date2Str(new Date()));
  60 + String path = request.getSession().getServletContext()
  61 + .getRealPath("/uploadFiles/uploadFile/");
  62 + int index = 0 ;
  63 + String FIRM_PATH = "" ;
  64 + if (files != null) {
  65 + for (MultipartFile file : files) {
  66 + if (file != null) {
  67 + String name = pd.getString("FIRMWARE_ID")+ "_" + index + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
  68 + File pathFile = new File(path);
  69 + pathFile.mkdirs();
  70 + File saveFile = new File(path + File.separator + name);
  71 + if (saveFile.exists()) {
  72 + saveFile.delete();
  73 + }
  74 + saveFile.createNewFile();
  75 + file.transferTo(saveFile);
  76 + FIRM_PATH += name + ";";
  77 + }
  78 + index++;
  79 + }
  80 + }
  81 +
  82 + pd.put("PRODUCT_IMAGE", FIRM_PATH);
  83 + firmwareService.save(pd);
  84 + mv.addObject("msg","success");
  85 + mv.setViewName("save_result");
  86 + return mv;
  87 + }
  88 +
  89 + /**删除
  90 + * @param out
  91 + * @throws Exception
  92 + */
  93 + @RequestMapping(value="/delete")
  94 + public void delete(PrintWriter out,HttpServletRequest request) throws Exception{
  95 + logBefore(logger, Jurisdiction.getUsername()+"删除Firmware");
  96 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限
  97 + PageData pd = new PageData();
  98 + pd = this.getPageData();
  99 + firmwareService.delete(pd);
  100 + String path = request.getSession().getServletContext()
  101 + .getRealPath("/uploadFiles/uploadFile/");
  102 + String fileList = pd.getString("PRODUCT_IMAGE");
  103 + String[] fileName = fileList.split(";");
  104 + for(String fName:fileName){
  105 + File file = new File(path + File.separator + fName);
  106 + file.deleteOnExit();
  107 + }
  108 + out.write("success");
  109 + out.close();
  110 + }
  111 +
  112 + /**修改
  113 + * @param
  114 + * @throws Exception
  115 + */
  116 + @RequestMapping(value="/edit")
  117 + public ModelAndView edit(@RequestParam(value="PRODUCT_IMAGE",required=false) MultipartFile[] files, HttpServletRequest request) throws Exception{
  118 + logBefore(logger, Jurisdiction.getUsername()+"修改Firmware");
  119 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
  120 + ModelAndView mv = this.getModelAndView();
  121 + PageData pd = new PageData();
  122 + pd = this.getPageData();
  123 +
  124 + String path = request.getSession().getServletContext()
  125 + .getRealPath("/uploadFiles/uploadFile/");
  126 + int index = 0 ;
  127 + String FIRM_PATH = "" ;
  128 + if (files != null) {
  129 + for (MultipartFile file : files) {
  130 + System.out.println("filename:" + file.getSize());
  131 + if (file != null && file.getSize() != 0) {
  132 + String name = pd.getString("FIRMWARE_ID")
  133 + + "_"
  134 + + index
  135 + + file.getOriginalFilename()
  136 + .substring(
  137 + file.getOriginalFilename()
  138 + .lastIndexOf("."));
  139 + File pathFile = new File(path);
  140 + pathFile.mkdirs();
  141 + File saveFile = new File(path + File.separator + name);
  142 + if (saveFile.exists()) {
  143 + saveFile.delete();
  144 + }
  145 + saveFile.createNewFile();
  146 + file.transferTo(saveFile);
  147 + FIRM_PATH += name + ";";
  148 + }else{
  149 + String imagePath = pd.getString("PRODUCT_IMAGE" + index);
  150 + if(imagePath != null){
  151 + FIRM_PATH += imagePath + ";";
  152 + }else{
  153 + FIRM_PATH += ";";
  154 + }
  155 + }
  156 + index++;
  157 + }
  158 + }
  159 + pd.put("PRODUCT_IMAGE", FIRM_PATH);
  160 + firmwareService.edit(pd);
  161 + mv.addObject("msg","success");
  162 + mv.setViewName("save_result");
  163 + return mv;
  164 + }
  165 +
  166 + /**列表
  167 + * @param page
  168 + * @throws Exception
  169 + */
  170 + @RequestMapping(value="/list")
  171 + public ModelAndView list(Page page) throws Exception{
  172 + logBefore(logger, Jurisdiction.getUsername()+"列表Firmware");
  173 + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码)
  174 + ModelAndView mv = this.getModelAndView();
  175 + PageData pd = new PageData();
  176 + pd = this.getPageData();
  177 + String keywords = pd.getString("KEYWORDS"); //关键词检索条件
  178 + if(null != keywords && !"".equals(keywords)){
  179 + pd.put("KEYWORDS", keywords.trim());
  180 + }
  181 + page.setPd(pd);
  182 + List<PageData> varList = firmwareService.list(page); //列出Firmware列表
  183 + mv.setViewName("software/firmware/firmware_list");
  184 + mv.addObject("varList", varList);
  185 + mv.addObject("pd", pd);
  186 + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限
  187 + return mv;
  188 + }
  189 +
  190 + /**去新增页面
  191 + * @param
  192 + * @throws Exception
  193 + */
  194 + @RequestMapping(value="/goAdd")
  195 + public ModelAndView goAdd()throws Exception{
  196 + ModelAndView mv = this.getModelAndView();
  197 + PageData pd = new PageData();
  198 + pd = this.getPageData();
  199 + mv.setViewName("software/firmware/firmware_edit");
  200 + mv.addObject("msg", "save");
  201 + mv.addObject("pd", pd);
  202 + return mv;
  203 + }
  204 +
  205 + /**去修改页面
  206 + * @param
  207 + * @throws Exception
  208 + */
  209 + @RequestMapping(value="/goEdit")
  210 + public ModelAndView goEdit()throws Exception{
  211 + ModelAndView mv = this.getModelAndView();
  212 + PageData pd = new PageData();
  213 + pd = this.getPageData();
  214 + pd = firmwareService.findById(pd); //根据ID读取
  215 + String PRODUCT_IMAGE = pd.getString("PRODUCT_IMAGE");
  216 + String[] PRODUCT_IMAGEs = PRODUCT_IMAGE.split(";");
  217 + pd.put("PRODUCT_IMAGE", PRODUCT_IMAGEs);
  218 + mv.setViewName("software/firmware/firmware_edit");
  219 + mv.addObject("msg", "edit");
  220 + mv.addObject("pd", pd);
  221 + return mv;
  222 + }
  223 +
  224 + /**批量删除
  225 + * @param
  226 + * @throws Exception
  227 + */
  228 + @RequestMapping(value="/deleteAll")
  229 + @ResponseBody
  230 + public Object deleteAll() throws Exception{
  231 + logBefore(logger, Jurisdiction.getUsername()+"批量删除Firmware");
  232 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限
  233 + PageData pd = new PageData();
  234 + Map<String,Object> map = new HashMap<String,Object>();
  235 + pd = this.getPageData();
  236 + List<PageData> pdList = new ArrayList<PageData>();
  237 + String DATA_IDS = pd.getString("DATA_IDS");
  238 + if(null != DATA_IDS && !"".equals(DATA_IDS)){
  239 + String ArrayDATA_IDS[] = DATA_IDS.split(",");
  240 + firmwareService.deleteAll(ArrayDATA_IDS);
  241 + pd.put("msg", "ok");
  242 + }else{
  243 + pd.put("msg", "no");
  244 + }
  245 + pdList.add(pd);
  246 + map.put("list", pdList);
  247 + return AppUtil.returnObject(pd, map);
  248 + }
  249 +
  250 + /**导出到excel
  251 + * @param
  252 + * @throws Exception
  253 + */
  254 + @RequestMapping(value="/excel")
  255 + public ModelAndView exportExcel() throws Exception{
  256 + logBefore(logger, Jurisdiction.getUsername()+"导出Firmware到excel");
  257 + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;}
  258 + ModelAndView mv = new ModelAndView();
  259 + PageData pd = new PageData();
  260 + pd = this.getPageData();
  261 + Map<String,Object> dataMap = new HashMap<String,Object>();
  262 + List<String> titles = new ArrayList<String>();
  263 + titles.add("产品名称"); //1
  264 + titles.add("货品编号"); //2
  265 + titles.add("应用行业"); //3
  266 + titles.add("产品状态"); //4
  267 + titles.add("产品规格"); //5
  268 + titles.add("产品功能"); //6
  269 + titles.add("产品性能"); //7
  270 + titles.add("适配硬件"); //8
  271 + titles.add("适配软件"); //9
  272 + titles.add("产品认证"); //10
  273 + titles.add("注意事项"); //11
  274 + titles.add("产品照片"); //12
  275 + dataMap.put("titles", titles);
  276 + List<PageData> varOList = firmwareService.listAll(pd);
  277 + List<PageData> varList = new ArrayList<PageData>();
  278 + for(int i=0;i<varOList.size();i++){
  279 + PageData vpd = new PageData();
  280 + vpd.put("var1", varOList.get(i).getString("PRODUCT_NAME")); //1
  281 + vpd.put("var2", varOList.get(i).getString("PRODUCT_NO")); //2
  282 + vpd.put("var3", varOList.get(i).getString("INDUSTRY")); //3
  283 + vpd.put("var4", varOList.get(i).getString("PRODUCT_STATE")); //4
  284 + vpd.put("var5", varOList.get(i).getString("PRODUCT_SPEC")); //5
  285 + vpd.put("var6", varOList.get(i).getString("PRODUCT_FUNC")); //6
  286 + vpd.put("var7", varOList.get(i).getString("PRODUCT_PERF")); //7
  287 + vpd.put("var8", varOList.get(i).getString("ADAPTABLE_HARDWARE")); //8
  288 + vpd.put("var9", varOList.get(i).getString("ADAPTABLE_SOFTWARE")); //9
  289 + vpd.put("var10", varOList.get(i).getString("PRODUCT_CERT")); //10
  290 + vpd.put("var11", varOList.get(i).getString("REMARK")); //11
  291 + vpd.put("var12", varOList.get(i).getString("PRODUCT_IMAGE")); //12
  292 + varList.add(vpd);
  293 + }
  294 + dataMap.put("varList", varList);
  295 + ObjectExcelView erv = new ObjectExcelView();
  296 + mv = new ModelAndView(erv,dataMap);
  297 + return mv;
  298 + }
  299 +
  300 + @InitBinder
  301 + public void initBinder(WebDataBinder binder){
  302 + DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
  303 + binder.registerCustomEditor(Date.class, new CustomDateEditor(format,true));
  304 + }
  305 +}
... ...
src/com/fh/service/software/firm/FirmManager.java 0 → 100644
  1 +package com.fh.service.software.firm;
  2 +
  3 +import java.util.List;
  4 +import com.fh.entity.Page;
  5 +import com.fh.util.PageData;
  6 +
  7 +/**
  8 + * 说明: 固件管理接口
  9 + * 创建人:FH Q313596790
  10 + * 创建时间:2018-07-09
  11 + * @version
  12 + */
  13 +public interface FirmManager{
  14 +
  15 + /**新增
  16 + * @param pd
  17 + * @throws Exception
  18 + */
  19 + public void save(PageData pd)throws Exception;
  20 +
  21 + /**删除
  22 + * @param pd
  23 + * @throws Exception
  24 + */
  25 + public void delete(PageData pd)throws Exception;
  26 +
  27 + /**修改
  28 + * @param pd
  29 + * @throws Exception
  30 + */
  31 + public void edit(PageData pd)throws Exception;
  32 +
  33 + /**列表
  34 + * @param page
  35 + * @throws Exception
  36 + */
  37 + public List<PageData> list(Page page)throws Exception;
  38 +
  39 + /**列表(全部)
  40 + * @param pd
  41 + * @throws Exception
  42 + */
  43 + public List<PageData> listAll(PageData pd)throws Exception;
  44 +
  45 + /**通过id获取数据
  46 + * @param pd
  47 + * @throws Exception
  48 + */
  49 + public PageData findById(PageData pd)throws Exception;
  50 +
  51 + /**批量删除
  52 + * @param ArrayDATA_IDS
  53 + * @throws Exception
  54 + */
  55 + public void deleteAll(String[] ArrayDATA_IDS)throws Exception;
  56 +
  57 +}
  58 +
... ...
src/com/fh/service/software/firm/impl/FirmService.java 0 → 100644
  1 +package com.fh.service.software.firm.impl;
  2 +
  3 +import java.util.List;
  4 +import javax.annotation.Resource;
  5 +import org.springframework.stereotype.Service;
  6 +import com.fh.dao.DaoSupport;
  7 +import com.fh.entity.Page;
  8 +import com.fh.util.PageData;
  9 +import com.fh.service.software.firm.FirmManager;
  10 +
  11 +/**
  12 + * 说明: 固件管理
  13 + * 创建人:FH Q313596790
  14 + * 创建时间:2018-07-09
  15 + * @version
  16 + */
  17 +@Service("firmService")
  18 +public class FirmService implements FirmManager{
  19 +
  20 + @Resource(name = "daoSupport")
  21 + private DaoSupport dao;
  22 +
  23 + /**新增
  24 + * @param pd
  25 + * @throws Exception
  26 + */
  27 + public void save(PageData pd)throws Exception{
  28 + dao.save("FirmMapper.save", pd);
  29 + }
  30 +
  31 + /**删除
  32 + * @param pd
  33 + * @throws Exception
  34 + */
  35 + public void delete(PageData pd)throws Exception{
  36 + dao.delete("FirmMapper.delete", pd);
  37 + }
  38 +
  39 + /**修改
  40 + * @param pd
  41 + * @throws Exception
  42 + */
  43 + public void edit(PageData pd)throws Exception{
  44 + dao.update("FirmMapper.edit", pd);
  45 + }
  46 +
  47 + /**列表
  48 + * @param page
  49 + * @throws Exception
  50 + */
  51 + @SuppressWarnings("unchecked")
  52 + public List<PageData> list(Page page)throws Exception{
  53 + return (List<PageData>)dao.findForList("FirmMapper.datalistPage", page);
  54 + }
  55 +
  56 + /**列表(全部)
  57 + * @param pd
  58 + * @throws Exception
  59 + */
  60 + @SuppressWarnings("unchecked")
  61 + public List<PageData> listAll(PageData pd)throws Exception{
  62 + return (List<PageData>)dao.findForList("FirmMapper.listAll", pd);
  63 + }
  64 +
  65 + /**通过id获取数据
  66 + * @param pd
  67 + * @throws Exception
  68 + */
  69 + public PageData findById(PageData pd)throws Exception{
  70 + return (PageData)dao.findForObject("FirmMapper.findById", pd);
  71 + }
  72 +
  73 + /**批量删除
  74 + * @param ArrayDATA_IDS
  75 + * @throws Exception
  76 + */
  77 + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{
  78 + dao.delete("FirmMapper.deleteAll", ArrayDATA_IDS);
  79 + }
  80 +
  81 +}
  82 +
... ...
src/com/fh/service/software/firmware/FirmwareManager.java 0 → 100644
  1 +package com.fh.service.software.firmware;
  2 +
  3 +import java.util.List;
  4 +import com.fh.entity.Page;
  5 +import com.fh.util.PageData;
  6 +
  7 +/**
  8 + * 说明: 固件管理接口
  9 + * 创建人:FH Q313596790
  10 + * 创建时间:2018-07-09
  11 + * @version
  12 + */
  13 +public interface FirmwareManager{
  14 +
  15 + /**新增
  16 + * @param pd
  17 + * @throws Exception
  18 + */
  19 + public void save(PageData pd)throws Exception;
  20 +
  21 + /**删除
  22 + * @param pd
  23 + * @throws Exception
  24 + */
  25 + public void delete(PageData pd)throws Exception;
  26 +
  27 + /**修改
  28 + * @param pd
  29 + * @throws Exception
  30 + */
  31 + public void edit(PageData pd)throws Exception;
  32 +
  33 + /**列表
  34 + * @param page
  35 + * @throws Exception
  36 + */
  37 + public List<PageData> list(Page page)throws Exception;
  38 +
  39 + /**列表(全部)
  40 + * @param pd
  41 + * @throws Exception
  42 + */
  43 + public List<PageData> listAll(PageData pd)throws Exception;
  44 +
  45 + /**通过id获取数据
  46 + * @param pd
  47 + * @throws Exception
  48 + */
  49 + public PageData findById(PageData pd)throws Exception;
  50 +
  51 + /**批量删除
  52 + * @param ArrayDATA_IDS
  53 + * @throws Exception
  54 + */
  55 + public void deleteAll(String[] ArrayDATA_IDS)throws Exception;
  56 +
  57 +}
  58 +
... ...
src/com/fh/service/software/firmware/impl/FirmwareService.java 0 → 100644
  1 +package com.fh.service.software.firmware.impl;
  2 +
  3 +import java.util.List;
  4 +import javax.annotation.Resource;
  5 +import org.springframework.stereotype.Service;
  6 +import com.fh.dao.DaoSupport;
  7 +import com.fh.entity.Page;
  8 +import com.fh.util.PageData;
  9 +import com.fh.service.software.firmware.FirmwareManager;
  10 +
  11 +/**
  12 + * 说明: 固件管理
  13 + * 创建人:FH Q313596790
  14 + * 创建时间:2018-07-09
  15 + * @version
  16 + */
  17 +@Service("firmwareService")
  18 +public class FirmwareService implements FirmwareManager{
  19 +
  20 + @Resource(name = "daoSupport")
  21 + private DaoSupport dao;
  22 +
  23 + /**新增
  24 + * @param pd
  25 + * @throws Exception
  26 + */
  27 + public void save(PageData pd)throws Exception{
  28 + dao.save("FirmwareMapper.save", pd);
  29 + }
  30 +
  31 + /**删除
  32 + * @param pd
  33 + * @throws Exception
  34 + */
  35 + public void delete(PageData pd)throws Exception{
  36 + dao.delete("FirmwareMapper.delete", pd);
  37 + }
  38 +
  39 + /**修改
  40 + * @param pd
  41 + * @throws Exception
  42 + */
  43 + public void edit(PageData pd)throws Exception{
  44 + dao.update("FirmwareMapper.edit", pd);
  45 + }
  46 +
  47 + /**列表
  48 + * @param page
  49 + * @throws Exception
  50 + */
  51 + @SuppressWarnings("unchecked")
  52 + public List<PageData> list(Page page)throws Exception{
  53 + return (List<PageData>)dao.findForList("FirmwareMapper.datalistPage", page);
  54 + }
  55 +
  56 + /**列表(全部)
  57 + * @param pd
  58 + * @throws Exception
  59 + */
  60 + @SuppressWarnings("unchecked")
  61 + public List<PageData> listAll(PageData pd)throws Exception{
  62 + return (List<PageData>)dao.findForList("FirmwareMapper.listAll", pd);
  63 + }
  64 +
  65 + /**通过id获取数据
  66 + * @param pd
  67 + * @throws Exception
  68 + */
  69 + public PageData findById(PageData pd)throws Exception{
  70 + return (PageData)dao.findForObject("FirmwareMapper.findById", pd);
  71 + }
  72 +
  73 + /**批量删除
  74 + * @param ArrayDATA_IDS
  75 + * @throws Exception
  76 + */
  77 + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{
  78 + dao.delete("FirmwareMapper.deleteAll", ArrayDATA_IDS);
  79 + }
  80 +
  81 +}
  82 +
... ...