SysOrgController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.qmth.distributed.print.api;
  2. import com.qmth.boot.api.constant.ApiConstant;
  3. import com.qmth.distributed.print.business.bean.result.EditResult;
  4. import com.qmth.distributed.print.business.service.PrintCommonService;
  5. import com.qmth.teachcloud.common.annotation.OperationLogDetail;
  6. import com.qmth.teachcloud.common.contant.SystemConstant;
  7. import com.qmth.teachcloud.common.entity.SysOrg;
  8. import com.qmth.teachcloud.common.entity.SysUser;
  9. import com.qmth.teachcloud.common.enums.RoleTypeEnum;
  10. import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
  11. import com.qmth.teachcloud.common.service.SysOrgService;
  12. import com.qmth.teachcloud.common.util.Result;
  13. import com.qmth.teachcloud.common.util.ResultUtil;
  14. import com.qmth.teachcloud.common.util.ServletUtil;
  15. import io.swagger.annotations.*;
  16. import org.springframework.validation.BindingResult;
  17. import org.springframework.web.bind.annotation.*;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import javax.annotation.Resource;
  20. import javax.servlet.http.HttpServletResponse;
  21. import javax.validation.Valid;
  22. /**
  23. * <p>
  24. * 学校组织架构 前端控制器
  25. * </p>
  26. *
  27. * @author xf
  28. * @since 2021-03-23
  29. */
  30. @Api(tags = "组织架构Controller")
  31. @RestController
  32. @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_SYS + "/org")
  33. public class SysOrgController {
  34. @Resource
  35. private SysOrgService sysOrgService;
  36. @Resource
  37. private PrintCommonService printCommonService;
  38. /**
  39. * 查询机构树
  40. *
  41. * @return
  42. */
  43. @ApiOperation(value = "查询")
  44. @RequestMapping(value = "/list", method = RequestMethod.POST)
  45. public Result list(@RequestParam(value = "specialPrivilege", required = false) RoleTypeEnum specialPrivilege,
  46. @RequestParam(value = "withoutPrintingRoom", required = false) boolean withoutPrintingRoom,
  47. @ApiParam(value = "科目编码") @RequestParam(required = false) String courseCode) {
  48. return ResultUtil.ok(sysOrgService.listOrgTree(specialPrivilege, withoutPrintingRoom, courseCode));
  49. }
  50. /**
  51. * 新增/修改
  52. *
  53. * @param org
  54. * @return
  55. */
  56. @ApiOperation(value = "新增/修改")
  57. @RequestMapping(value = "/save", method = RequestMethod.POST)
  58. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.EDIT)
  59. public Result save(@Valid @RequestBody SysOrg org, BindingResult bindingResult) {
  60. if (bindingResult.hasErrors()) {
  61. return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
  62. }
  63. SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
  64. return ResultUtil.ok(sysOrgService.saveOrg(org, sysUser));
  65. }
  66. /**
  67. * 启用/禁用
  68. *
  69. * @param org
  70. * @return
  71. */
  72. @ApiOperation(value = "启用/禁用")
  73. @RequestMapping(value = "/enable", method = RequestMethod.POST)
  74. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.UPDATE)
  75. public Result enable(@RequestBody SysOrg org) {
  76. return ResultUtil.ok(printCommonService.enable(org));
  77. }
  78. /**
  79. * 删除
  80. *
  81. * @param org
  82. * @return
  83. */
  84. @ApiOperation(value = "删除")
  85. @RequestMapping(value = "/remove", method = RequestMethod.POST)
  86. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.DELETE)
  87. public Result remove(@RequestBody SysOrg org) {
  88. return ResultUtil.ok(printCommonService.sysOrgRemove(org.getId()));
  89. }
  90. /**
  91. * 根据机构类型查询机构
  92. *
  93. * @return 结果
  94. */
  95. @ApiOperation(value = "根据类型查询机构")
  96. @RequestMapping(value = "/find_by_type", method = RequestMethod.POST)
  97. public Result findByType(@ApiParam(value = "机构类型") @RequestParam(required = false) String orgType) {
  98. return ResultUtil.ok(sysOrgService.findDeepByOrgIdAndType(orgType));
  99. }
  100. @ApiOperation(value = "机构管理-批量导入")
  101. @RequestMapping(value = "/import", method = RequestMethod.POST)
  102. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  103. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.IMPORT)
  104. public Result sysOrgImportAsync(@ApiParam(value = "上传文件", required = true) @RequestParam MultipartFile file) throws Exception {
  105. sysOrgService.executeImportSysOrgLogic(file);
  106. return ResultUtil.ok();
  107. }
  108. @ApiOperation(value = "机构管理-导出")
  109. @RequestMapping(value = "/export", method = RequestMethod.POST)
  110. @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = EditResult.class)})
  111. @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.EXPORT)
  112. public void export(HttpServletResponse response) throws Exception {
  113. sysOrgService.exportOrgData(response, false);
  114. }
  115. }