|
|
@@ -11,6 +11,10 @@ import cn.iocoder.yudao.module.bpm.controller.admin.stamp.stampseal.vo.OaStampSe
|
|
|
import cn.iocoder.yudao.module.bpm.controller.admin.stamp.stampseal.vo.OaStampSealSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.bpm.dal.dataobject.stamp.stampseal.OaStampSealDO;
|
|
|
import cn.iocoder.yudao.module.bpm.service.stamp.stampseal.OaStampSealService;
|
|
|
+import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
|
|
+import cn.iocoder.yudao.module.infra.api.file.dto.FileDTO;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
@@ -22,6 +26,9 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.Valid;
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
|
|
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
@@ -35,6 +42,12 @@ public class OaStampSealController {
|
|
|
@Resource
|
|
|
private OaStampSealService oaStampSealService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private AdminUserApi adminUserApi;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private FileApi fileApi;
|
|
|
+
|
|
|
@PostMapping("/create")
|
|
|
@Operation(summary = "创建用印印章信息")
|
|
|
// @PreAuthorize("@ss.hasPermission('bpm:oa-stamp-seal:create')")
|
|
|
@@ -59,13 +72,55 @@ public class OaStampSealController {
|
|
|
return success(true);
|
|
|
}
|
|
|
|
|
|
+ @PutMapping("/open")
|
|
|
+ @Operation(summary = "打开用印印章信息")
|
|
|
+ @Parameter(name = "id", description = "编号", required = true)
|
|
|
+ // @PreAuthorize("@ss.hasPermission('bpm:oa-stamp-seal:open')")
|
|
|
+ public CommonResult<Boolean> openOaStampSeal(@RequestParam("id") Long id) {
|
|
|
+ oaStampSealService.openOaStampSeal(id);
|
|
|
+ return success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PutMapping("/close")
|
|
|
+ @Operation(summary = "关闭用印印章信息")
|
|
|
+ @Parameter(name = "id", description = "编号", required = true)
|
|
|
+ // @PreAuthorize("@ss.hasPermission('bpm:oa-stamp-seal:close')")
|
|
|
+ public CommonResult<Boolean> closeOaStampSeal(@RequestParam("id") Long id) {
|
|
|
+ oaStampSealService.closeOaStampSeal(id);
|
|
|
+ return success(true);
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping("/get")
|
|
|
@Operation(summary = "获得用印印章信息")
|
|
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
|
// @PreAuthorize("@ss.hasPermission('bpm:oa-stamp-seal:query')")
|
|
|
public CommonResult<OaStampSealRespVO> getOaStampSeal(@RequestParam("id") Long id) {
|
|
|
OaStampSealDO oaStampSeal = oaStampSealService.getOaStampSeal(id);
|
|
|
- return success(BeanUtils.toBean(oaStampSeal, OaStampSealRespVO.class));
|
|
|
+ OaStampSealRespVO oaStampSealRespVO = BeanUtils.toBean(oaStampSeal, OaStampSealRespVO.class);
|
|
|
+ // 状态描述
|
|
|
+ String status = oaStampSealRespVO.getStatus();
|
|
|
+ switch (status) {
|
|
|
+ case "1":
|
|
|
+ oaStampSealRespVO.setStatusDesc("打开");
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ oaStampSealRespVO.setStatusDesc("关闭");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ oaStampSealRespVO.setStatusDesc("未知");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ // 创建者姓名
|
|
|
+ Long creator = oaStampSealRespVO.getCreator();
|
|
|
+ AdminUserRespDTO user = adminUserApi.getUser(creator);
|
|
|
+ if (user != null) {
|
|
|
+ oaStampSealRespVO.setCreateEmployeeName(user.getNickname());
|
|
|
+ }
|
|
|
+ // 附件列表
|
|
|
+ List<FileDTO> fileList = fileApi.getFileDTOListByBiz(oaStampSeal.getSealUuid());
|
|
|
+ oaStampSealRespVO.setFileList(fileList);
|
|
|
+
|
|
|
+ return success(oaStampSealRespVO);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/page")
|
|
|
@@ -73,7 +128,30 @@ public class OaStampSealController {
|
|
|
// @PreAuthorize("@ss.hasPermission('bpm:oa-stamp-seal:query')")
|
|
|
public CommonResult<PageResult<OaStampSealRespVO>> getOaStampSealPage(@Valid OaStampSealPageReqVO pageReqVO) {
|
|
|
PageResult<OaStampSealDO> pageResult = oaStampSealService.getOaStampSealPage(pageReqVO);
|
|
|
- return success(BeanUtils.toBean(pageResult, OaStampSealRespVO.class));
|
|
|
+ PageResult<OaStampSealRespVO> voPageResult = BeanUtils.toBean(pageResult, OaStampSealRespVO.class);
|
|
|
+
|
|
|
+ List<OaStampSealRespVO> voPageResultList = voPageResult.getList();
|
|
|
+ List<Long> creatorList = voPageResultList.stream().map(OaStampSealRespVO::getCreator).collect(Collectors.toList());
|
|
|
+ List<AdminUserRespDTO> adminUserList = adminUserApi.getUserList(creatorList);
|
|
|
+ Map<Long, AdminUserRespDTO> adminUserMap = adminUserList.stream().collect(Collectors.toMap(AdminUserRespDTO::getId, Function.identity()));
|
|
|
+
|
|
|
+ for (OaStampSealRespVO oaStampSealRespVO : voPageResultList) {
|
|
|
+ String status = oaStampSealRespVO.getStatus();
|
|
|
+ switch (status) {
|
|
|
+ case "1":
|
|
|
+ oaStampSealRespVO.setStatusDesc("打开");
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ oaStampSealRespVO.setStatusDesc("关闭");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ oaStampSealRespVO.setStatusDesc("未知");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ oaStampSealRespVO.setCreateEmployeeName(adminUserMap.get(oaStampSealRespVO.getCreator()).getNickname());
|
|
|
+ }
|
|
|
+ return success(voPageResult);
|
|
|
}
|
|
|
@GetMapping("/list")
|
|
|
@Operation(summary = "获得用印印章信息列表")
|
|
|
@@ -91,9 +169,30 @@ public class OaStampSealController {
|
|
|
HttpServletResponse response) throws IOException {
|
|
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
List<OaStampSealDO> list = oaStampSealService.getOaStampSealPage(pageReqVO).getList();
|
|
|
+ List<OaStampSealRespVO> stampSealRespVOList = BeanUtils.toBean(list, OaStampSealRespVO.class);
|
|
|
+
|
|
|
+ List<Long> creatorList = stampSealRespVOList.stream().map(OaStampSealRespVO::getCreator).collect(Collectors.toList());
|
|
|
+ List<AdminUserRespDTO> adminUserList = adminUserApi.getUserList(creatorList);
|
|
|
+ Map<Long, AdminUserRespDTO> adminUserMap = adminUserList.stream().collect(Collectors.toMap(AdminUserRespDTO::getId, Function.identity()));
|
|
|
+
|
|
|
+ for (OaStampSealRespVO oaStampSealRespVO : stampSealRespVOList) {
|
|
|
+ String status = oaStampSealRespVO.getStatus();
|
|
|
+ switch (status) {
|
|
|
+ case "1":
|
|
|
+ oaStampSealRespVO.setStatusDesc("打开");
|
|
|
+ break;
|
|
|
+ case "2":
|
|
|
+ oaStampSealRespVO.setStatusDesc("关闭");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ oaStampSealRespVO.setStatusDesc("未知");
|
|
|
+ }
|
|
|
+
|
|
|
+ oaStampSealRespVO.setCreateEmployeeName(adminUserMap.get(oaStampSealRespVO.getCreator()).getNickname());
|
|
|
+ }
|
|
|
// 导出 Excel
|
|
|
ExcelUtils.write(response, "用印印章信息.xls", "数据", OaStampSealRespVO.class,
|
|
|
- BeanUtils.toBean(list, OaStampSealRespVO.class));
|
|
|
+ stampSealRespVOList);
|
|
|
}
|
|
|
|
|
|
}
|