From 40521d51f8c083212ceb1710ab0bea570821d063 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 04 十二月 2023 09:25:43 +0800
Subject: [PATCH] 平台端调度部门下拉框
---
ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 152 insertions(+), 4 deletions(-)
diff --git a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
index 54f2c56..e66f4a3 100644
--- a/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
+++ b/ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
@@ -1,24 +1,40 @@
package com.ycl.controller.depart;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.read.listener.ReadListener;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ycl.annotation.LogSave;
import com.ycl.api.BasePageDTO;
import com.ycl.api.BasePageVO;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
+import com.ycl.dto.UmsDepartDto;
import com.ycl.entity.depart.UmsDepart;
+import com.ycl.entity.dict.DataDictionary;
+import com.ycl.mapper.depart.UmsDepartMapper;
+import com.ycl.mapper.dict.DataDictionary2Mapper;
import com.ycl.service.depart.UmsDepartService;
import com.ycl.service.user.UmsDepartManageService;
+import com.ycl.utils.EasyExcelUtils;
import com.ycl.utils.auth.UserAuthUtil;
import com.ycl.vo.depart.DepartVO;
+import com.ycl.vo.depart.UmsDepartVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.util.List;
+import java.util.Objects;
/**
* <p>
@@ -42,6 +58,7 @@
@ApiOperation("娣诲姞閮ㄩ棬")
@PostMapping(value = "/create")
+ @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "娣诲姞閮ㄩ棬")
public CommonResult<Void> create(@Validated @RequestBody DepartVO.AddDepartVO addDepartVO) {
departService.create(addDepartVO);
return CommonResult.success(null);
@@ -49,6 +66,7 @@
@ApiOperation("缂栬緫閮ㄩ棬")
@PostMapping(value = "/update")
+ @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "缂栬緫閮ㄩ棬")
public CommonResult<Void> create(@Validated @RequestBody DepartVO.UpdateDepartVO params) {
departService.update(params);
return CommonResult.success(null);
@@ -56,13 +74,40 @@
@ApiOperation("鍒犻櫎")
@PostMapping(value = "/delete")
+ @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鍒犻櫎閮ㄩ棬")
public CommonResult<Void> delete(@Validated @RequestBody DepartVO.IdDepartVO params) {
departService.delete(params.getId());
return CommonResult.success(null);
}
+ /**
+ * @return com.ycl.api.CommonResult<java.lang.Void>
+ * @Description batch deletion departments
+ * @Param [ids]
+ **/
+ @ApiOperation("鎵瑰鐞�-鍒犻櫎")
+ @PostMapping(value = "/batch_deletion")
+ @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鎵归噺鍒犻櫎閮ㄩ棬")
+ public CommonResult delete(@RequestParam List<Long> ids) {
+ if (ids.isEmpty()) {
+ return CommonResult.failed("bad request parameter");
+ }
+ return CommonResult.success(departService.removeBatchByIds(ids));
+ }
+
+ @ApiOperation("鎵瑰鐞�-寮�鍚垨鑰呯鐢ㄩ儴闂�")
+ @PutMapping(value = "/batch_status")
+ @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鎵归噺寮�鍚垨鑰呯鐢ㄩ儴闂�")
+ public CommonResult updateBatch(@RequestBody List<UmsDepart> umsDepartList) {
+ if (umsDepartList.isEmpty()) {
+ return CommonResult.failed("bad request parameter");
+ }
+ return CommonResult.success(departService.updateBatchById(umsDepartList));
+ }
+
@ApiOperation("璇︽儏")
@PostMapping(value = "/detail")
+ @LogSave(operationType = "閮ㄩ棬绠$悊", contain = "鏌ョ湅閮ㄩ棬")
public CommonResult<UmsDepart> detail(@Validated @RequestBody DepartVO.IdDepartVO params) {
UmsDepart sccgDepart = departService.loadDepartById(params.getId());
return CommonResult.success(sccgDepart);
@@ -84,16 +129,119 @@
@ApiOperation("鏌ヨ鍏ㄩ儴閮ㄩ棬")
@GetMapping(value = "/page")
- public CommonResult<IPage<UmsDepart>> page(DepartVO.PageDepartVO params) {
- IPage<UmsDepart> page = departService.pageDepart(params);
+ public CommonResult<IPage<UmsDepartVO>> page(@RequestParam("currentPage") Integer currentPage, @RequestParam("pageSize") Integer pageSize,
+ @RequestParam(value = "departName", required = false) String departName) {
+ IPage<UmsDepartVO> page = new Page<>(currentPage, pageSize);
+ departService.pageDepart(departName, page);
return CommonResult.success(page);
+ }
+
+ @ApiOperation("閮ㄩ棬瀵煎嚭")
+ @PostMapping("/export")
+ public void exportDpt(HttpServletResponse response) {
+ List<UmsDepartDto> umsDepartDtos = departService.departExp();
+ String sheetName = "閮ㄩ棬瀵煎嚭";
+ EasyExcelUtils.export1(response, sheetName, UmsDepartDto.class, umsDepartDtos, "閮ㄩ棬瀵煎嚭");
+ }
+
+ @Resource
+ private UmsDepartMapper sccgDepartMapper;
+ @Resource
+ private DataDictionary2Mapper dataDictionary2Mapper;
+ @ApiOperation("閮ㄩ棬瀵煎叆")
+ @PostMapping("/import")
+ public CommonResult importDpt(MultipartFile file) throws IOException {
+ EasyExcel.read(file.getInputStream())
+ .head(UmsDepartDto.class)
+ .registerReadListener(new ReadListener<UmsDepartDto>() {
+ @Override
+ public void invoke(UmsDepartDto umsDepartDto, AnalysisContext analysisContext) {
+ // 涓嶈兘閲嶅鎻掑叆
+ String departTypeName = umsDepartDto.getDepartTypeName();
+ UmsDepart one = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, departTypeName));
+ if (Objects.nonNull(one)){
+ throw new RuntimeException("璇ラ儴闂ㄥ凡缁忓瓨鍦�");
+ }
+ UmsDepart umsDepart = new UmsDepart();
+ // 璁剧疆閮ㄩ棬鍚嶅瓧
+ umsDepart.setDepartName(umsDepartDto.getDepartTypeName());
+ // 璁剧疆閮ㄩ棬鎻忚堪
+ umsDepart.setDepartDes(umsDepartDto.getDepartDes());
+ // 璁剧疆閮ㄩ棬绫诲瀷
+ DataDictionary dataDictionary = dataDictionary2Mapper.selectOne(new LambdaQueryWrapper<DataDictionary>().eq(DataDictionary::getName, umsDepartDto.getDepartType()));
+ if (Objects.isNull(dataDictionary)){
+ throw new RuntimeException("閮ㄩ棬绫诲瀷涓嶅瓨鍦�");
+ }else {
+ umsDepart.setDepartType(new Long(dataDictionary.getId()).intValue());
+ }
+ // 璁剧疆鐖秈d
+ UmsDepart two = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, umsDepartDto.getParentDepartName()));
+ if (Objects.nonNull(two)){
+ umsDepart.setParentId(two.getParentId());
+ }
+ int insert = sccgDepartMapper.insert(umsDepart);
+ if (insert < 1){
+ throw new RuntimeException("鎻掑叆澶辫触");
+ }
+ }
+ @Override
+ public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+
+ }
+ }).sheet().doRead();
+ return CommonResult.success(true, "瀵煎叆鎴愬姛");
}
@ApiOperation("鏌ヨ鎴戠殑閮ㄩ棬")
@GetMapping(value = "/belongDepart")
public CommonResult<BasePageDTO> belongDepart(BasePageVO params) {
- BasePageDTO basePageDTO= umsAdminDepartService.belongDepart(fetchOperator(request).getOperatorId(), params.getCurrent(), params.getPageSize());
+ BasePageDTO basePageDTO = umsAdminDepartService.belongDepart(fetchOperator(request).getOperatorId(), params.getCurrent(), params.getPageSize());
return CommonResult.success(basePageDTO);
}
-}
+ @ApiOperation("鐢ㄦ埛淇敼瑙掕壊")
+ @PutMapping(value = "/user_update_Role")
+ public CommonResult userUpdateRole(@RequestParam Long id,
+ @RequestParam List<Long> roles) {
+ umsAdminDepartService.userUpdateRoles(id, roles);
+ return CommonResult.success("update success");
+ }
+
+ @ApiOperation("鐢ㄦ埛淇敼閮ㄩ棬")
+ @PutMapping(value = "/user_update_depart")
+ public CommonResult userUpdateDepart(@RequestParam Long userId,
+ @RequestParam Long departId) {
+ umsAdminDepartService.userUpdateDepart(userId, departId);
+ return CommonResult.success("update success");
+ }
+
+ @ApiOperation("鏌ヨ涓嶅湪閮ㄩ棬鐨勫墿浣欎汉鍛�")
+ @GetMapping("/query_surplus_user")
+ public CommonResult searchSurplusUser() {
+ return CommonResult.success(departService.selectSurplusUser());
+ }
+
+ @ApiOperation("鏌ヨ涓嶅湪閮ㄩ棬鐨勫墿浣欎汉鍛樺拰宸插湪閮ㄩ棬鐨勪汉")
+ @GetMapping("/query_surplus_exist_user")
+ public CommonResult searchSurplusUser(@RequestParam Long id) {
+ return CommonResult.success(departService.selectSurplusUserAndExistUser(id));
+ }
+
+ @ApiOperation("鏌ヨ椤剁骇閮ㄩ棬")
+ @GetMapping(value = "/query_father")
+ public CommonResult search() {
+ Integer fatherId = 0;
+ return CommonResult.success(departService
+ .list(new LambdaQueryWrapper<UmsDepart>()
+ .eq(UmsDepart::getParentId, fatherId)));
+ }
+
+ @ApiOperation("鏌ヨ閮ㄩ棬浜岀骇")
+ @GetMapping(value = "/query_father_children")
+ public CommonResult search(@RequestParam String fatherId) {
+ long fatherIdLong = Long.parseLong(fatherId);
+ return CommonResult.success(departService
+ .list(new LambdaQueryWrapper<UmsDepart>()
+ .eq(UmsDepart::getParentId, fatherIdLong)));
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0