| | |
| | | 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 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(); |
| | |
| | | } |
| | | return getDataTable(users); |
| | | } |
| | | @PostMapping("/reportTemplateText/{arr}") |
| | | @ResponseBody |
| | | public String reportTemplateText(@PathVariable String arr) { |
| | | String[] split = arr.split(","); |
| | | List<String> templateIds = Arrays.asList(split); |
| | | List<TReportTemplate> reportTemplates = reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()); |
| | | StringBuilder reportTemplateText = new StringBuilder(); |
| | | for (int i = 0; i < reportTemplates.size(); i++) { |
| | | TReportTemplate tReportTemplate = reportTemplates.get(i); |
| | | if (templateIds.contains(String.valueOf(tReportTemplate.getId()))) { |
| | | reportTemplateText.append(tReportTemplate.getReportType()).append(","); |
| | | } |
| | | } |
| | | return reportTemplateText.substring(0,reportTemplateText.length()-1); |
| | | } |
| | | |
| | | @PostMapping("/listCodes") |
| | | @ResponseBody |
| | | public TableDataInfo listCodes(User user) { |
| | |
| | | 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()); |
| | |
| | | } |
| | | } |
| | | ); |
| | | |
| | | |
| | | // //报告模板编码 t_report_template |
| | | // mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); |
| | | return getDataTable(sysUserPapers); |
| | | } |
| | | |
| | | /** |
| | | * 修改保存人口学变量定义 |
| | | */ |
| | | @PostMapping("/edit") |
| | | @ResponseBody |
| | | public AjaxResult editSave(SysUserPaper sysUserPaper) { |
| | |
| | | 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); |
| | | List<TReportTemplate> reportTemplates = reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()); |
| | | List<TReportTemplate> collect = reportTemplates.stream().filter(v -> { |
| | | String reportType = v.getReportType(); |
| | | String[] split = reportType.split("-"); |
| | | List<String> strings = Arrays.asList(split); |
| | | TExamPaper tExamPaper = list.get(0); |
| | | String name = tExamPaper.getName(); |
| | | if (Objects.equals("睿邻", name)) { |
| | | name = "RuiLin"; |
| | | } |
| | | if (strings.contains(name)) { |
| | | return true; |
| | | } |
| | | return false; |
| | | }).collect(Collectors.toList()); |
| | | mmap.put("templateList", collect); |
| | | mmap.put("templateListAll", reportTemplates); |
| | | mmap.put("templateList", reportTemplateService.getReportTemplates(ShiroUtils.getSysUser())); |
| | | return prefix + "/edit"; |
| | | } |
| | | |
| | | @RequestMapping("/filterTemplate/{prodName}") |
| | | @ResponseBody |
| | | public List<TReportTemplate> filterTemplate(@PathVariable("prodName") String prodName) { |
| | | if (Objects.equals("睿邻", prodName)) { |
| | | prodName = "RuiLin"; |
| | | } |
| | | List<String> prods = Arrays.asList(prodName); |
| | | List<TReportTemplate> reportTemplates = reportTemplateService.getReportTemplates(ShiroUtils.getSysUser()); |
| | | List<TReportTemplate> collect = reportTemplates.stream().filter(v -> { |
| | | String reportType = v.getReportType(); |
| | | String[] split = reportType.split("-"); |
| | | List<String> strings = Arrays.asList(split); |
| | | if (strings.contains(prods.get(0))) { |
| | | return true; |
| | | } |
| | | return false; |
| | | }).collect(Collectors.toList()); |
| | | return collect; |
| | | } |
| | | } |