package com.ots.project.exam.controller;
|
|
import com.ots.common.enums.UserTypeEnum;
|
import com.ots.common.utils.security.ShiroUtils;
|
import com.ots.framework.web.controller.BaseController;
|
import com.ots.framework.web.domain.AjaxResult;
|
import com.ots.framework.web.page.TableDataInfo;
|
import com.ots.project.exam.domain.SysUserExtend;
|
import com.ots.project.exam.domain.SysUserPaper;
|
import com.ots.project.exam.domain.TExamPaper;
|
import com.ots.project.exam.domain.TReportTemplate;
|
import com.ots.project.exam.service.ISysUserExtendService;
|
import com.ots.project.exam.service.ISysUserPaperService;
|
import com.ots.project.exam.service.ITExamPaperService;
|
import com.ots.project.exam.service.ITReportTemplateService;
|
import com.ots.project.system.user.domain.User;
|
import com.ots.project.system.user.service.IUserService;
|
import com.ots.project.tool.exam.JsonUtil;
|
import com.ots.project.tool.gen.service.IExamUtilService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.stream.Collectors;
|
|
/**
|
* 用户产品Controller
|
*
|
* @author ots
|
* @date 2020-03-19
|
*/
|
@Controller
|
@RequestMapping("/exam/paper")
|
public class SysUserPaperController extends BaseController {
|
private String prefix = "exam/userpaper";
|
|
@Autowired
|
private IUserService userService;
|
|
@Autowired
|
private ISysUserPaperService userPaperService;
|
|
@Autowired
|
private ITExamPaperService tExamPaperService;
|
|
@Autowired
|
private ISysUserExtendService sysUserExtendService;
|
|
@Autowired
|
private IExamUtilService examUtilService;
|
|
@Autowired
|
private ITReportTemplateService reportTemplateService;
|
|
@Autowired
|
private ITReportTemplateService itReportTemplateService;
|
|
@GetMapping("/dis")
|
public String dispaper() {
|
return prefix + "/userPaper";
|
}
|
|
@PostMapping("/list")
|
@ResponseBody
|
public TableDataInfo list(User user) {
|
User sysUser = ShiroUtils.getSysUser();
|
//查找所有的除了管理员的用户
|
user.setStatus("0");
|
List<User> users = new ArrayList<User>();
|
|
// 系统用户返回所有用户
|
if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) {
|
startPage();
|
user.setUserTypes(Arrays.asList(UserTypeEnum.DIS_USER.getUserType(), UserTypeEnum.ENT_USER.getUserType()));
|
users = userService.selectUserList(user);
|
}
|
|
//如果是分销商用户,返回分销商下所属企业用户
|
if (Objects.equals(UserTypeEnum.DIS_USER.getUserType(), sysUser.getUserType())) {
|
user.setUserTypes(Arrays.asList(UserTypeEnum.DIS_USER.getUserType(), UserTypeEnum.ENT_USER.getUserType()));
|
SysUserExtend sysUserExtend = new SysUserExtend();
|
sysUserExtend.setParentUserId(sysUser.getUserId());
|
List<SysUserExtend> sysUserExtends = sysUserExtendService.selectSysUserExtendList(sysUserExtend);
|
List<Long> userList = sysUserExtends.stream().map(p -> p.getUserId()).collect(Collectors.toList());
|
user.setUserList(userList);
|
startPage();
|
user.setDeptId(null);
|
user.setDept(null);
|
users = userService.selectUserList2(user);
|
}
|
return getDataTable(users);
|
}
|
|
@PostMapping("/listCodes")
|
@ResponseBody
|
public TableDataInfo listCodes(User user) {
|
startPage();
|
User sysUser = ShiroUtils.getSysUser();
|
if (Objects.isNull(user.getUserId()) && !Objects.equals(UserTypeEnum.SYS_USER.getUserType(), sysUser.getUserType())) {
|
user.setUserId(sysUser.getUserId());
|
}
|
SysUserPaper sysUserPaper = new SysUserPaper();
|
sysUserPaper.setUserId(user.getUserId());
|
List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper);
|
//取真实名称
|
sysUserPapers.stream().forEach(p -> {
|
p.setProdName(examUtilService.getLangOrLocalLangString("", p.getProdName()));
|
List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(p.getReportTemplateId());
|
StringBuilder stringBuilder = new StringBuilder();
|
tReportTemplateList.stream().forEach(item -> stringBuilder.append(item.getReportType() + "-" + item.getTemplateType() + "-" + item.getLangType() + ","));
|
if (stringBuilder.length() > 0) {
|
p.setReportTemplateText(stringBuilder.substring(0, stringBuilder.length() - 1));
|
}
|
}
|
);
|
// //报告模板编码 t_report_template
|
// mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()));
|
return getDataTable(sysUserPapers);
|
}
|
|
/**
|
* 修改保存人口学变量定义
|
*/
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(SysUserPaper sysUserPaper) {
|
List<SysUserPaper> list = JsonUtil.toJsonListObject(sysUserPaper.getProdCodes(), SysUserPaper.class);
|
userPaperService.deleteSysUserPaperById(sysUserPaper.getUserId());
|
list.stream().forEach(item -> {
|
item.setUserId(sysUserPaper.getUserId());
|
userPaperService.insertSysUserPaper(item);
|
});
|
return toAjax(1);
|
}
|
|
/**
|
* 修改用户
|
*/
|
@GetMapping("/edit/{userId}")
|
public String edit(@PathVariable("userId") Long userId, ModelMap mmap) {
|
List<TExamPaper> list = tExamPaperService.getUserPapers();
|
//取真实名称
|
list.stream().forEach(p ->
|
p.setName(examUtilService.getLangOrLocalLangString("", p.getName()))
|
);
|
mmap.put("userId", userId);
|
mmap.put("userProds", list);
|
mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()));
|
return prefix + "/edit";
|
}
|
}
|