SignatureController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package jnpf.base.controller;
  2. import io.swagger.v3.oas.annotations.Operation;
  3. import io.swagger.v3.oas.annotations.Parameter;
  4. import io.swagger.v3.oas.annotations.Parameters;
  5. import io.swagger.v3.oas.annotations.tags.Tag;
  6. import jnpf.base.ActionResult;
  7. import jnpf.base.entity.SignatureEntity;
  8. import jnpf.base.model.signature.*;
  9. import jnpf.base.service.SignatureService;
  10. import jnpf.base.vo.ListVO;
  11. import jnpf.base.vo.PageListVO;
  12. import jnpf.base.vo.PaginationVO;
  13. import jnpf.constant.MsgCode;
  14. import jnpf.base.model.signature.SignatureListVO;
  15. import jnpf.util.JsonUtil;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import jakarta.validation.Valid;
  19. import java.util.*;
  20. /**
  21. * 电子签章
  22. *
  23. * @author JNPF开发平台组
  24. * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
  25. */
  26. @Tag(name = "电子签章", description = "Signature")
  27. @RestController
  28. @RequestMapping("/api/system/Signature")
  29. public class SignatureController extends SuperController<SignatureService, SignatureEntity> {
  30. @Autowired
  31. private SignatureService signatureService;
  32. /**
  33. * 获取电子签章列表
  34. *
  35. * @param signaturePage 分页模型
  36. * @return
  37. */
  38. @Operation(summary = "获取电子签章列表")
  39. @GetMapping
  40. public ActionResult<PageListVO<SignatureListVO>> list(PaginationSignature signaturePage) {
  41. List<SignatureListVO> list = signatureService.getList(signaturePage);
  42. PaginationVO paginationVO = JsonUtil.getJsonToBean(signaturePage, PaginationVO.class);
  43. return ActionResult.page(list, paginationVO);
  44. }
  45. /**
  46. * 获取电子签章下拉框
  47. *
  48. * @return
  49. */
  50. @Operation(summary = "获取电子签章下拉框")
  51. @GetMapping("/Selector")
  52. public ActionResult<ListVO<SignatureSelectorListVO>> selector() {
  53. List<SignatureEntity> list = signatureService.getList();
  54. List<SignatureSelectorListVO> listVOS = JsonUtil.getJsonToList(list, SignatureSelectorListVO.class);
  55. ListVO<SignatureSelectorListVO> vo = new ListVO<>();
  56. vo.setList(listVOS);
  57. return ActionResult.success(vo);
  58. }
  59. /**
  60. * 通过主键id集合获取有权限的电子签章列表
  61. *
  62. * @return
  63. */
  64. @Operation(summary = "通过主键id集合获取有权限的电子签章列表")
  65. @PostMapping("/ListByIds")
  66. public ActionResult<ListVO<SignatureSelectorListVO>> listByIds(@RequestBody SignatureListByIdsModel model) {
  67. List<SignatureSelectorListVO> list = signatureService.getListByIds(model);
  68. ListVO<SignatureSelectorListVO> vo = new ListVO<>();
  69. vo.setList(list);
  70. return ActionResult.success(vo);
  71. }
  72. /**
  73. * 获取电子签章信息
  74. *
  75. * @param id 主键
  76. * @return
  77. */
  78. @Operation(summary = "获取电子签章信息")
  79. @GetMapping("/{id}")
  80. @Parameters({
  81. @Parameter(name = "id", description = "主键", required = true),
  82. })
  83. public ActionResult<SignatureInfoVO> info(@PathVariable("id") String id) {
  84. SignatureInfoVO vo = signatureService.getInfo(id);
  85. if (vo == null) {
  86. return ActionResult.fail(MsgCode.FA001.get());
  87. }
  88. return ActionResult.success(vo);
  89. }
  90. /**
  91. * 新建电子签章
  92. *
  93. * @param signatureCrForm model
  94. * @return
  95. */
  96. @Operation(summary = "新建电子签章")
  97. @PostMapping
  98. @Parameters({
  99. @Parameter(name = "signatureCrForm", description = "新建电子签章模型", required = true),
  100. })
  101. public ActionResult create(@RequestBody @Valid SignatureCrForm signatureCrForm) {
  102. SignatureEntity entity = JsonUtil.getJsonToBean(signatureCrForm, SignatureEntity.class);
  103. if (signatureService.isExistByFullName(entity.getFullName(), entity.getId())) {
  104. return ActionResult.fail(MsgCode.EXIST001.get());
  105. }
  106. if (signatureService.isExistByEnCode(entity.getEnCode(), entity.getId())) {
  107. return ActionResult.fail(MsgCode.EXIST002.get());
  108. }
  109. signatureService.create(entity, signatureCrForm.getUserIds());
  110. return ActionResult.success(MsgCode.SU001.get());
  111. }
  112. /**
  113. * 更新电子签章
  114. *
  115. * @param id 主键
  116. * @param signatureUpForm 日程模型
  117. * @return
  118. */
  119. @Operation(summary = "更新电子签章")
  120. @PutMapping("/{id}")
  121. @Parameters({
  122. @Parameter(name = "id", description = "主键", required = true),
  123. @Parameter(name = "signatureUpForm", description = "更新电子签章模型", required = true),
  124. })
  125. public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid SignatureUpForm signatureUpForm) {
  126. SignatureEntity entity = signatureService.getInfoById(id);
  127. if (entity == null) {
  128. return ActionResult.fail(MsgCode.FA002.get());
  129. }
  130. if (signatureService.isExistByFullName(signatureUpForm.getFullName(), id)) {
  131. return ActionResult.fail(MsgCode.EXIST001.get());
  132. }
  133. if (signatureService.isExistByEnCode(signatureUpForm.getEnCode(), id)) {
  134. return ActionResult.fail(MsgCode.EXIST002.get());
  135. }
  136. boolean update = signatureService.update(id, signatureUpForm);
  137. return ActionResult.success(MsgCode.SU004.get());
  138. }
  139. /**
  140. * 删除电子签章
  141. *
  142. * @param id 主键
  143. * @return
  144. */
  145. @Operation(summary = "删除电子签章")
  146. @DeleteMapping("/{id}")
  147. @Parameters({
  148. @Parameter(name = "id", description = "主键", required = true),
  149. })
  150. public ActionResult delete(@PathVariable("id") String id) {
  151. SignatureEntity entity = signatureService.getInfoById(id);
  152. if (entity == null) {
  153. return ActionResult.fail(MsgCode.FA003.get());
  154. }
  155. boolean delete = signatureService.delete(id);
  156. return ActionResult.success(MsgCode.SU003.get());
  157. }
  158. }