Commit 630d54941cf5dfe4665c994bf603be69a0a1724e

Authored by yiming
1 parent c0340163

考生创建时新增班级

src/main/java/com/bsth/controller/ddexam/DdexamController.java
@@ -23,8 +23,8 @@ public class DdexamController { @@ -23,8 +23,8 @@ public class DdexamController {
23 23
24 //创建账号 24 //创建账号
25 @RequestMapping("initialization") 25 @RequestMapping("initialization")
26 - public Map initializationAll(@RequestParam String name ,@RequestParam Long userName){  
27 - return ddexamService.initializationAll(name,userName); 26 + public Map initializationAll(@RequestParam String name ,@RequestParam Long userName,@RequestParam String className){
  27 + return ddexamService.initializationAll(name,userName,className);
28 } 28 }
29 //初始化 29 //初始化
30 @RequestMapping("initialization2") 30 @RequestMapping("initialization2")
src/main/java/com/bsth/controller/sys/UserController.java
@@ -308,4 +308,9 @@ public class UserController extends BaseController<SysUser, Integer> { @@ -308,4 +308,9 @@ public class UserController extends BaseController<SysUser, Integer> {
308 return sysUserService.userNameList(); 308 return sysUserService.userNameList();
309 } 309 }
310 310
  311 + @RequestMapping(value = "/classList")
  312 + public List<String> classList() {
  313 + return sysUserService.getAllClass();
  314 + }
  315 +
311 } 316 }
src/main/java/com/bsth/entity/sys/SysUser.java
@@ -46,6 +46,9 @@ public class SysUser implements Serializable { @@ -46,6 +46,9 @@ public class SysUser implements Serializable {
46 46
47 @Column(name = "parent_id") 47 @Column(name = "parent_id")
48 private String parentID; 48 private String parentID;
  49 +
  50 + @Column(name = "class_name")
  51 + private String className;
49 52
50 @ManyToMany(fetch = FetchType.EAGER) 53 @ManyToMany(fetch = FetchType.EAGER)
51 private Set<Role> roles = new LinkedHashSet<>(); 54 private Set<Role> roles = new LinkedHashSet<>();
@@ -147,9 +150,17 @@ public class SysUser implements Serializable { @@ -147,9 +150,17 @@ public class SysUser implements Serializable {
147 this.parentID = parentID; 150 this.parentID = parentID;
148 } 151 }
149 152
  153 + public String getClassName() {
  154 + return className;
  155 + }
  156 +
  157 + public void setClassName(String className) {
  158 + this.className = className;
  159 + }
  160 +
150 public SysUser(){ 161 public SysUser(){
151 } 162 }
152 - public SysUser(String name,String userName,SysUser loginUser){ 163 + public SysUser(String name,String userName,SysUser loginUser,String className){
153 this.createDate=new Date(); 164 this.createDate=new Date();
154 this.enabled=true; 165 this.enabled=true;
155 this.name=name; 166 this.name=name;
@@ -157,5 +168,6 @@ public class SysUser implements Serializable { @@ -157,5 +168,6 @@ public class SysUser implements Serializable {
157 this.userName=userName; 168 this.userName=userName;
158 this.ksstatus="1"; //状态 表示今日账户已用 169 this.ksstatus="1"; //状态 表示今日账户已用
159 this.parentID=String.valueOf(loginUser.getId()); 170 this.parentID=String.valueOf(loginUser.getId());
  171 + this.className=className;
160 } 172 }
161 } 173 }
src/main/java/com/bsth/repository/sys/SysUserRepository.java
@@ -52,4 +52,7 @@ public interface SysUserRepository extends BaseRepository&lt;SysUser, Integer&gt;{ @@ -52,4 +52,7 @@ public interface SysUserRepository extends BaseRepository&lt;SysUser, Integer&gt;{
52 52
53 @Query("SELECT u FROM SysUser u where u.parentID = ?1") 53 @Query("SELECT u FROM SysUser u where u.parentID = ?1")
54 List<SysUser> findByParentID(String parentID ); 54 List<SysUser> findByParentID(String parentID );
  55 +
  56 + @Query(value ="SELECT class_name FROM bsth_c_sys_user where class_name is not null and parent_id = ?1 GROUP BY class_name",nativeQuery=true)
  57 + List<String> findAllClassByParentID(String parentID );
55 } 58 }
src/main/java/com/bsth/service/ddexam/DdexamService.java
@@ -8,7 +8,7 @@ import java.util.Map; @@ -8,7 +8,7 @@ import java.util.Map;
8 8
9 public interface DdexamService { 9 public interface DdexamService {
10 10
11 - public Map initializationAll(String name,Long userName); 11 + public Map initializationAll(String name,Long userName,String className);
12 12
13 public Map initializationAll2(Long userName); 13 public Map initializationAll2(Long userName);
14 14
src/main/java/com/bsth/service/ddexam/impl/DdexamServiceImpl.java
@@ -194,7 +194,7 @@ public class DdexamServiceImpl implements DdexamService { @@ -194,7 +194,7 @@ public class DdexamServiceImpl implements DdexamService {
194 //考生人初始化 单线程 测试1:执行中途再次执行是否同步 测试2: 194 //考生人初始化 单线程 测试1:执行中途再次执行是否同步 测试2:
195 @Override 195 @Override
196 @Transactional //事务 196 @Transactional //事务
197 - public synchronized Map initializationAll(String name,Long userName) { 197 + public synchronized Map initializationAll(String name,Long userName,String className) {
198 Long start = System.currentTimeMillis(); 198 Long start = System.currentTimeMillis();
199 Map m = new HashMap<>(); 199 Map m = new HashMap<>();
200 try { //用户当天分配完直接改状态 无二次分配的可能 200 try { //用户当天分配完直接改状态 无二次分配的可能
@@ -209,7 +209,7 @@ public class DdexamServiceImpl implements DdexamService { @@ -209,7 +209,7 @@ public class DdexamServiceImpl implements DdexamService {
209 209
210 new Thread() { 210 new Thread() {
211 public synchronized void run() { 211 public synchronized void run() {
212 - SysUser user = new SysUser(name,String.valueOf(userName),loginUser); 212 + SysUser user = new SysUser(name,String.valueOf(userName),loginUser,className);
213 if(createUser(user)){ 213 if(createUser(user)){
214 log.info("考试初始化创建成功"); 214 log.info("考试初始化创建成功");
215 kk(); 215 kk();
@@ -426,7 +426,7 @@ public class DdexamServiceImpl implements DdexamService { @@ -426,7 +426,7 @@ public class DdexamServiceImpl implements DdexamService {
426 for(int i = 0; i < textList.size(); i++) { 426 for(int i = 0; i < textList.size(); i++) {
427 String text = textList.get(i); 427 String text = textList.get(i);
428 String[] split = text.split(","); 428 String[] split = text.split(",");
429 - SysUser user = new SysUser(split[1].trim(),split[0].trim(),SecurityUtils.getCurrentUser()); 429 + SysUser user = new SysUser(split[1].trim(),split[0].trim(),SecurityUtils.getCurrentUser(),split[2].trim());
430 userList.add(user); 430 userList.add(user);
431 } 431 }
432 List<SysUser> users = sysUserRepository.findBySusUserAll(); 432 List<SysUser> users = sysUserRepository.findBySusUserAll();
src/main/java/com/bsth/service/sys/SysUserService.java
@@ -22,4 +22,6 @@ public interface SysUserService extends BaseService&lt;SysUser, Integer&gt;{ @@ -22,4 +22,6 @@ public interface SysUserService extends BaseService&lt;SysUser, Integer&gt;{
22 Map<String, Object> resetPassword(@RequestParam Integer id); 22 Map<String, Object> resetPassword(@RequestParam Integer id);
23 23
24 List<Map<String,String>> userNameList(); 24 List<Map<String,String>> userNameList();
  25 +
  26 + List<String> getAllClass();
25 } 27 }
src/main/java/com/bsth/service/sys/impl/SysUserServiceImpl.java
@@ -193,4 +193,10 @@ public class SysUserServiceImpl extends BaseServiceImpl&lt;SysUser, Integer&gt; implem @@ -193,4 +193,10 @@ public class SysUserServiceImpl extends BaseServiceImpl&lt;SysUser, Integer&gt; implem
193 } 193 }
194 return users; 194 return users;
195 } 195 }
  196 +
  197 + public List<String> getAllClass(){
  198 + SysUser loginUser=SecurityUtils.getCurrentUser();
  199 + List<String> classList=sysUserRepository.findAllClassByParentID(String.valueOf(loginUser.getId()));
  200 + return classList;
  201 + }
196 } 202 }
src/main/resources/static/pages/ddexam/index.html
@@ -56,16 +56,28 @@ @@ -56,16 +56,28 @@
56 <label class="col-md-12 sizell">请输入学号:</label> 56 <label class="col-md-12 sizell">请输入学号:</label>
57 <div class="col-md-9 scm"> 57 <div class="col-md-9 scm">
58 <input id="userName" type="text" class="form-control" name="userName" autocomplete="off" oninput="value=value.replace(/[^\d]/g,'')"/> 58 <input id="userName" type="text" class="form-control" name="userName" autocomplete="off" oninput="value=value.replace(/[^\d]/g,'')"/>
59 - 59 +
60 </div> 60 </div>
61 61
62 <label class="col-md-12 sizell">请输入姓名:</label> 62 <label class="col-md-12 sizell">请输入姓名:</label>
63 <div class="col-md-9 scm"> 63 <div class="col-md-9 scm">
64 64
65 <input id="name" type="text" class="form-control" name="name" autocomplete="off" /> 65 <input id="name" type="text" class="form-control" name="name" autocomplete="off" />
  66 +
  67 + </div>
  68 + <label class="col-md-12 sizell">请输入班级:</label>
  69 + <div class="col-md-9 scm" >
  70 + <div id="className1">
  71 + <select class="form-control" name="className" id="className" ></select>
  72 + </div>
  73 + <input type="text" class="form-control" name="className2" id="className2" autocomplete="off" style="display: none"/>
66 <h6>人数过大时,耗时较久,请耐心等待</h6> 74 <h6>人数过大时,耗时较久,请耐心等待</h6>
67 </div> 75 </div>
68 - 76 + <div class="col-md-3" style="padding-right: 60px; padding-top: 5px">
  77 + <input type="radio" name="isNew" value="1" onclick="isNew()" checked="checked"/><label >已有</label>
  78 + <input type="radio" name="isNew" value="2" onclick="isNew()"/><label >新增</label>
  79 + </div>
  80 +
69 <div class="col-md-12 nt" > 81 <div class="col-md-12 nt" >
70 <button type="button" class="btn btn-primary textk" id="onckil">创建账号</button> 82 <button type="button" class="btn btn-primary textk" id="onckil">创建账号</button>
71 <button type="button" class="btn btn-primary textk" id="upload"><i class="fa fa-file-excel-o"></i> 83 <button type="button" class="btn btn-primary textk" id="upload"><i class="fa fa-file-excel-o"></i>
@@ -112,8 +124,9 @@ @@ -112,8 +124,9 @@
112 format : 'HH:mm:ss', 124 format : 'HH:mm:ss',
113 locale : 'zh-cn', 125 locale : 'zh-cn',
114 }); 126 });
  127 + getClass();
115 }) 128 })
116 - 129 +
117 // 下一步点击事件 130 // 下一步点击事件
118 $('#onckil').on('click', function() { 131 $('#onckil').on('click', function() {
119 onckil();// 表单提交 132 onckil();// 表单提交
@@ -140,9 +153,16 @@ @@ -140,9 +153,16 @@
140 153
141 154
142 function onckil(){ 155 function onckil(){
  156 + var className;
  157 + if($('input[name="isNew"]:checked').val()==2) {
  158 + className=$("#className2").val();
  159 + }else {
  160 + className=$("#className").val();
  161 + }
143 var params ={ 162 var params ={
144 userName : $("#userName").val(), 163 userName : $("#userName").val(),
145 - name : $("#name").val() 164 + name : $("#name").val(),
  165 + className :className
146 } 166 }
147 var i = layer.load(2); 167 var i = layer.load(2);
148 $.post('/ddexam/initialization',params,function(data) { 168 $.post('/ddexam/initialization',params,function(data) {
@@ -216,5 +236,29 @@ @@ -216,5 +236,29 @@
216 $.get('upload.html', function(m){$(pjaxContainer).append(m);}); 236 $.get('upload.html', function(m){$(pjaxContainer).append(m);});
217 }); 237 });
218 238
  239 + function isNew(){
  240 + if($('input[name="isNew"]:checked').val()==2){
  241 + $('#className1').hide();
  242 + $('#className2').show();
  243 + }else {
  244 + getClass();
  245 + $('#className1').show();
  246 + $('#className2').hide();
  247 + }
  248 + }
  249 + var firstLoad=true;
  250 + function getClass(){
  251 + $.get('/user/classList',function(result){
  252 + var data=[];
  253 + if(firstLoad){
  254 + data.push({id: "", text:"请选择"});
  255 + }
  256 + for(var code in result){
  257 + data.push({id: result[code], text: result[code]});
  258 + }
  259 + initPinYinSelect2('#className',data,'');
  260 + firstLoad=false;
  261 + })
  262 + }
219 263
220 </script> 264 </script>
221 \ No newline at end of file 265 \ No newline at end of file