Commit 630d54941cf5dfe4665c994bf603be69a0a1724e
1 parent
c0340163
考生创建时新增班级
Showing
9 changed files
with
83 additions
and
11 deletions
src/main/java/com/bsth/controller/ddexam/DdexamController.java
| ... | ... | @@ -23,8 +23,8 @@ public class DdexamController { |
| 23 | 23 | |
| 24 | 24 | //创建账号 |
| 25 | 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 | 30 | @RequestMapping("initialization2") | ... | ... |
src/main/java/com/bsth/controller/sys/UserController.java
| ... | ... | @@ -308,4 +308,9 @@ public class UserController extends BaseController<SysUser, Integer> { |
| 308 | 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 | 46 | |
| 47 | 47 | @Column(name = "parent_id") |
| 48 | 48 | private String parentID; |
| 49 | + | |
| 50 | + @Column(name = "class_name") | |
| 51 | + private String className; | |
| 49 | 52 | |
| 50 | 53 | @ManyToMany(fetch = FetchType.EAGER) |
| 51 | 54 | private Set<Role> roles = new LinkedHashSet<>(); |
| ... | ... | @@ -147,9 +150,17 @@ public class SysUser implements Serializable { |
| 147 | 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 | 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 | 164 | this.createDate=new Date(); |
| 154 | 165 | this.enabled=true; |
| 155 | 166 | this.name=name; |
| ... | ... | @@ -157,5 +168,6 @@ public class SysUser implements Serializable { |
| 157 | 168 | this.userName=userName; |
| 158 | 169 | this.ksstatus="1"; //状态 表示今日账户已用 |
| 159 | 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<SysUser, Integer>{ |
| 52 | 52 | |
| 53 | 53 | @Query("SELECT u FROM SysUser u where u.parentID = ?1") |
| 54 | 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 | 8 | |
| 9 | 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 | 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 | 194 | //考生人初始化 单线程 测试1:执行中途再次执行是否同步 测试2: |
| 195 | 195 | @Override |
| 196 | 196 | @Transactional //事务 |
| 197 | - public synchronized Map initializationAll(String name,Long userName) { | |
| 197 | + public synchronized Map initializationAll(String name,Long userName,String className) { | |
| 198 | 198 | Long start = System.currentTimeMillis(); |
| 199 | 199 | Map m = new HashMap<>(); |
| 200 | 200 | try { //用户当天分配完直接改状态 无二次分配的可能 |
| ... | ... | @@ -209,7 +209,7 @@ public class DdexamServiceImpl implements DdexamService { |
| 209 | 209 | |
| 210 | 210 | new Thread() { |
| 211 | 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 | 213 | if(createUser(user)){ |
| 214 | 214 | log.info("考试初始化创建成功"); |
| 215 | 215 | kk(); |
| ... | ... | @@ -426,7 +426,7 @@ public class DdexamServiceImpl implements DdexamService { |
| 426 | 426 | for(int i = 0; i < textList.size(); i++) { |
| 427 | 427 | String text = textList.get(i); |
| 428 | 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 | 430 | userList.add(user); |
| 431 | 431 | } |
| 432 | 432 | List<SysUser> users = sysUserRepository.findBySusUserAll(); | ... | ... |
src/main/java/com/bsth/service/sys/SysUserService.java
src/main/java/com/bsth/service/sys/impl/SysUserServiceImpl.java
| ... | ... | @@ -193,4 +193,10 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUser, Integer> implem |
| 193 | 193 | } |
| 194 | 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 | 56 | <label class="col-md-12 sizell">请输入学号:</label> |
| 57 | 57 | <div class="col-md-9 scm"> |
| 58 | 58 | <input id="userName" type="text" class="form-control" name="userName" autocomplete="off" oninput="value=value.replace(/[^\d]/g,'')"/> |
| 59 | - | |
| 59 | + | |
| 60 | 60 | </div> |
| 61 | 61 | |
| 62 | 62 | <label class="col-md-12 sizell">请输入姓名:</label> |
| 63 | 63 | <div class="col-md-9 scm"> |
| 64 | 64 | |
| 65 | 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 | 74 | <h6>人数过大时,耗时较久,请耐心等待</h6> |
| 67 | 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 | 81 | <div class="col-md-12 nt" > |
| 70 | 82 | <button type="button" class="btn btn-primary textk" id="onckil">创建账号</button> |
| 71 | 83 | <button type="button" class="btn btn-primary textk" id="upload"><i class="fa fa-file-excel-o"></i> |
| ... | ... | @@ -112,8 +124,9 @@ |
| 112 | 124 | format : 'HH:mm:ss', |
| 113 | 125 | locale : 'zh-cn', |
| 114 | 126 | }); |
| 127 | + getClass(); | |
| 115 | 128 | }) |
| 116 | - | |
| 129 | + | |
| 117 | 130 | // 下一步点击事件 |
| 118 | 131 | $('#onckil').on('click', function() { |
| 119 | 132 | onckil();// 表单提交 |
| ... | ... | @@ -140,9 +153,16 @@ |
| 140 | 153 | |
| 141 | 154 | |
| 142 | 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 | 162 | var params ={ |
| 144 | 163 | userName : $("#userName").val(), |
| 145 | - name : $("#name").val() | |
| 164 | + name : $("#name").val(), | |
| 165 | + className :className | |
| 146 | 166 | } |
| 147 | 167 | var i = layer.load(2); |
| 148 | 168 | $.post('/ddexam/initialization',params,function(data) { |
| ... | ... | @@ -216,5 +236,29 @@ |
| 216 | 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 | 264 | </script> |
| 221 | 265 | \ No newline at end of file | ... | ... |