会议添加设备多选,人员分配添加excel功能
diff --git a/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java b/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
index 51841ee..3ec48c4 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/controller/ConferenceController.java
@@ -153,7 +153,8 @@
                                      @RequestParam("starttime") String starttime,
                                      @RequestParam("endtime") String endtime,
                                      @RequestParam("attendtime") String attendtime,
-                                     @RequestParam("deviceid") Integer deviceid,
+                                   //  @RequestParam("deviceid") Integer deviceid,
+                                     @RequestParam("deviceids") List<Integer> deviceid,
                                      @RequestParam("remark") String remark,
                                      //    @RequestParam(value = "file", required = false) MultipartFile file,
                                      @AuthenticationPrincipal UserDetails operUser,
@@ -389,6 +390,14 @@
         return "conference/confpeoplebind";
     }
 
+    @GetMapping("/conference/loadimportbyExcel")
+    public String loadimportbyExcel(@RequestParam("confid") Integer confid,Model model) {
+        model.addAttribute("detailConfid", confid);
+   //     model.addAttribute("confName", confname);
+
+        return "conference/import";
+    }
+
     @PostMapping("/conference/doimport")
     @ResponseBody
     public JsonResult editConference(@RequestParam("confid") Integer confid,
diff --git a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
index 3ebcbc9..0b9da22 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/ConferenceService.java
@@ -45,10 +45,14 @@
 
     @Transactional(rollbackFor = Exception.class)
     TConference getConferenceById(Integer confid);
+/*
+    @Transactional(rollbackFor = Exception.class)
+    boolean saveNewConference(String confname,String confdate, String conftype, String starttime,
+                              String endtime, String attendtime, TOperator oper, Integer deviceid,String remark) throws Exception;*/
 
     @Transactional(rollbackFor = Exception.class)
     boolean saveNewConference(String confname,String confdate, String conftype, String starttime,
-                              String endtime, String attendtime, TOperator oper, Integer deviceid,String remark) throws Exception;
+                              String endtime, String attendtime, TOperator oper, List<Integer> deviceid,String remark) throws Exception;
 
     @Transactional(rollbackFor = Exception.class)
     boolean saveConferencePeopleByExcel(Integer confid,String fpath) throws Exception;
diff --git a/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java b/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
index 1931136..30dbeed 100644
--- a/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/conference/service/impl/ConferenceServiceImpl.java
@@ -254,12 +254,19 @@
     }*/
 
     @Override
-    public boolean saveNewConference(String confname,String confdate, String conftype, String starttime, String endtime,String attendtime, TOperator oper, Integer deviceid,String remark) throws Exception {
+    public boolean saveNewConference(String confname,String confdate, String conftype, String starttime, String endtime,String attendtime, TOperator oper, List<Integer> deviceid,String remark) throws Exception {
 
-        String errdevname=checkTimeErrorDevice(attendtime,endtime,confdate,deviceid);
+        for(Integer i : deviceid){
+            String errdevname=checkTimeErrorDevice(attendtime,endtime,confdate,i);
+            if(!StringUtil.isEmpty(errdevname)){
+                throw new WebCheckException("设备《"+ errdevname+"》存在时间冲突,请重新选择设备");
+            }
+        }
+
+   /*     String errdevname=checkTimeErrorDevice(attendtime,endtime,confdate,deviceid);
         if(!StringUtil.isEmpty(errdevname)){
             throw new WebCheckException("设备《"+ errdevname+"》存在时间冲突,请重新选择设备");
-        }
+        }*/
 
         TConference conf = new TConference();
         conf.setConftype(conftype);
@@ -277,17 +284,15 @@
         conf.setRemark(remark);
         conf = conferenceDao.save(conf);
 
-        TConferenceDevbind bind=new TConferenceDevbind();
-        bind.setConfid(conf.getConfid());
-        bind.setCreateOperid(oper.getOperid());
-        bind.setCreatetime(systime);
-        bind.setDeviceid(deviceid);
-        conferenceDevbindDao.save(bind);
-
-
-
+        for(Integer i : deviceid){
+            TConferenceDevbind bind=new TConferenceDevbind();
+            bind.setConfid(conf.getConfid());
+            bind.setCreateOperid(oper.getOperid());
+            bind.setCreatetime(systime);
+            bind.setDeviceid(i);
+            conferenceDevbindDao.save(bind);
+        }
         return true;
-
     }
 
     @Override
diff --git a/src/main/resources/templates/conference/confform.html b/src/main/resources/templates/conference/confform.html
index 3ba5114..77151ad 100644
--- a/src/main/resources/templates/conference/confform.html
+++ b/src/main/resources/templates/conference/confform.html
@@ -53,7 +53,7 @@
     <div class="layui-form-item">
         <label class="confinput-label layui-form-label"><span style="color: red">* </span>绑定设备</label>
         <div class="layui-input-block">
-             <select lay-verify="required" name="deviceid" class="layui-select" id="conference-form-select-binddevice" lay-search>
+             <select lay-verify="required" name="deviceid" class="layui-select" xm-select-height="36px" xm-select="deviceids">
                  <option th:each="lst:${confdevice}" th:value="${lst.deviceid}"
                          th:text="${lst.devname}"></option>
              </select>&emsp;
@@ -88,7 +88,7 @@
 </div>
 
 <script>
-    layui.use(['layer', 'admin', 'form', 'laydate', 'upload'], function () {
+    layui.use(['layer', 'admin', 'form', 'laydate', 'upload','formSelects'], function () {
         var layer = layui.layer;
         var admin = layui.admin;
         var form = layui.form;
@@ -97,8 +97,10 @@
 
         var confType = 'list';
 
+        var formSelects = layui.formSelects;
+        formSelects.btns('deviceids', []);
 
-        form.render("select");
+     //   form.render("select");
         laydate.render({
             elem: '#form-conference-starttime',
             type: 'time',
@@ -152,8 +154,12 @@
                 layer.msg("签到时间必须早于开始时间", {icon: 2, time: 1500});
                 return;
             }
-
-
+            var deviceids=formSelects.value('deviceids','val');
+            if(deviceids.length==0){
+                layer.msg("请选择设备", {icon: 2, time: 1500});
+                return;
+            }
+            console.log(deviceids);
             var formData = new FormData();
             formData.append("conftype", vdata.conftype);
             formData.append("confname", vdata.confname);
@@ -161,8 +167,10 @@
             formData.append("endtime", vdata.endtime);
             formData.append("attendtime", vdata.attendtime);
             formData.append("confdate",vdata.confdate);
-            formData.append("deviceid",vdata.deviceid);
+      //      formData.append("deviceid",vdata.deviceid);
+
             formData.append("remark",vdata.remark);
+            formData.append("deviceids",deviceids);
           /*  var flag=false;
             var files = $('#form-conference-records').prop('files');
             for (var i = 0; i < files.length; i++) {
@@ -230,6 +238,10 @@
         width: 24%;
     }
 
+    .xm-select-parent .xm-select-title div.xm-select-label>span{
+        height: 22px;
+    }
+
     .upoadfile-btn input {
         position: absolute;
         font-size: 100px;
@@ -239,4 +251,5 @@
         width: 113px;
         height: 34px;
     }
-</style>
\ No newline at end of file
+</style>
+
diff --git a/src/main/resources/templates/conference/conflist.html b/src/main/resources/templates/conference/conflist.html
index 1306d07..8c8276c 100644
--- a/src/main/resources/templates/conference/conflist.html
+++ b/src/main/resources/templates/conference/conflist.html
@@ -32,6 +32,7 @@
 
     {{# if(d.status=='unstart'&&d.conftype=='list'){ }}
     <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
+    <a class="layui-btn layui-btn layui-btn-xs" lay-event="excel">excel导入</a>
     <a class="layui-btn layui-btn layui-btn-xs" lay-event="people">分配人员</a>
     <a class="layui-btn layui-btn layui-btn-xs" lay-event="qrcode">申请开门码</a>
     {{# } else if(d.status=='unstart'&&d.conftype=='nolist'){ }}
@@ -92,7 +93,7 @@
                         }
                     },
                     /*  {field: 'remark', title: '备注',  align: 'center'},*/
-                    {align: 'center', title: '操作', width: 250, toolbar: '#conference-table-bar', fixed: 'right'}
+                    {align: 'center', title: '操作', width: 310, toolbar: '#conference-table-bar', fixed: 'right'}
                 ]
             ]
         });
@@ -191,8 +192,18 @@
                         table.reload('conferenceTable');
                     }
                 });
+            }else if ('excel' == obj.event) {
+                admin.popupCenter({
+                    title: "分配人员",
+         //           area: '900px',
+                    path: '[[@{/conference/loadimportbyExcel}]]?confid=' + data.confid,
+                    finish: function () {
+                        table.reload('conferenceTable');
+                    }
+                });
             }
 
+
         });
 
     });
diff --git a/src/main/resources/templates/conference/confpeoplebind.html b/src/main/resources/templates/conference/confpeoplebind.html
index e557fb8..81edd53 100644
--- a/src/main/resources/templates/conference/confpeoplebind.html
+++ b/src/main/resources/templates/conference/confpeoplebind.html
@@ -2,12 +2,16 @@
      style="padding: 30px 25px 10px 25px;">
     <input type="hidden" id="confpeoplebind-confid" th:value="${detailConfid}" />
     <div class="layui-form-item">
-        <div class="layui-input-inline" style="width: 450px;">
+        <div class="layui-input-inline" style="width: 630px;">
             <label class="layui-form-label">会议:</label>
             <div class="layui-input-block">
                 <label style="width:400px;text-align:left" class="layui-form-label" th:text="${confName}"></label>
             </div>
         </div>
+
+        <div class="layui-input-inline">
+            <button class="layui-btn" lay-filter="confpeoplebind-form-loadimport" lay-submit id="loadimport">Excel导入</button>
+        </div>
     </div>
 
     <div class="layui-form-item">
@@ -120,6 +124,18 @@
             treeSelect.revokeNode('search-confpeoplebind-form-deptcode-filter');
         });
 
+        $("#loadimport").click(function () {
+            var confid = $("#confpeoplebind-confid").val();
+            admin.popupCenter({
+                title: "分配人员",
+                //  area: '900px',
+                path: '[[@{/conference/loadimportbyExcel}]]?confid=' + confid,
+                finish: function () {
+                    table.reload('conferenceTable');
+                }
+            });
+        })
+
         form.on('submit(confpeoplebind-form-submit)', function (el) {
             var confid = $("#confpeoplebind-confid").val();
             var checkStatus = table.checkStatus('confpeoplebind-form-table');