2023-03-17 | baizonghao | ![]() |
2023-03-17 | baizonghao | ![]() |
2023-03-17 | baizonghao | ![]() |
ycl-common/src/main/java/com/ycl/controller/depart/DepartController.java
@@ -9,9 +9,11 @@ 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.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; @@ -20,8 +22,11 @@ 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; /** @@ -124,6 +129,21 @@ return CommonResult.success(page); } @ApiOperation("部门导出") @PostMapping("/export") public void exportDpt(HttpServletResponse response) { List<UmsDepartDto> umsDepartDtos = departService.departExp(); String sheetName = "部门导出"; EasyExcelUtils.export(response, sheetName, UmsDepartDto.class, umsDepartDtos); } @ApiOperation("部门导入") @PostMapping("/import") public CommonResult importDpt(MultipartFile file) throws IOException { EasyExcelUtils.importDepartFile(file); return CommonResult.success(true, "导入成功"); } @ApiOperation("查询我的部门") @GetMapping(value = "/belongDepart") public CommonResult<BasePageDTO> belongDepart(BasePageVO params) { ycl-common/src/main/java/com/ycl/dto/UmsDepartDto.java
New file @@ -0,0 +1,29 @@ package com.ycl.dto; import com.alibaba.excel.annotation.ExcelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor @Builder public class UmsDepartDto { @ExcelProperty(value = "部门ID", index = 0) private Long id; @ExcelProperty(value = "部门名称", index = 1) private String departTypeName; @ExcelProperty(value = "部门类型", index = 2) private Integer departType; @ExcelProperty(value = "上级部门", index = 3) private String parentDepartName; @ExcelProperty(value = "部门描述", index = 4) private String departDes; } ycl-common/src/main/java/com/ycl/service/depart/UmsDepartService.java
@@ -1,13 +1,12 @@ package com.ycl.service.depart; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.user.UmsAdmin; import com.ycl.vo.depart.DepartVO; import com.ycl.vo.depart.UmsDepartVO; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -64,6 +63,8 @@ */ IPage<UmsDepartVO> pageDepart(String departName, IPage<UmsDepartVO> page); List<UmsDepartDto> departExp(); /** * 修改状态 * ycl-common/src/main/java/com/ycl/service/depart/impl/UmsDepartServiceImpl.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; import com.ycl.entity.user.UmsAdmin; import com.ycl.enums.common.ResultCode; @@ -23,6 +24,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** @@ -139,6 +141,27 @@ } @Override public List<UmsDepartDto> departExp() { List<UmsDepart> umsDeparts = sccgDepartMapper.selectDepartList(); List<UmsDepartDto> res = umsDeparts .stream() .map(umsDepart -> { UmsDepartDto umsDepartDto = new UmsDepartDto(); umsDepartDto.setId(umsDepart.getId()); umsDepartDto.setDepartType(umsDepart.getDepartType()); UmsDepart umsDepartFather = sccgDepartMapper.selectOne(new LambdaQueryWrapper<UmsDepart>().eq(UmsDepart::getDepartName, umsDepart.getId())); if (Objects.isNull(umsDepartFather)){ umsDepartDto.setParentDepartName(""); }else { umsDepartDto.setParentDepartName(umsDepartFather.getDepartName()); } umsDepartDto.setDepartDes(umsDepart.getDepartDes()); return umsDepartDto; }).collect(Collectors.toList()); return res; } @Override public void updateStatus(DepartVO.StatusDepartVO params) { UmsDepart sccgDepart = this.loadDepartById(params.getId()); BeanUtils.copyProperties(params, sccgDepart); ycl-common/src/main/java/com/ycl/utils/EasyExcelUtils.java
@@ -1,9 +1,13 @@ package com.ycl.utils; import com.alibaba.excel.EasyExcel; import com.ycl.dto.UmsDepartDto; import com.ycl.utils.listener.DepartListener; import lombok.SneakyThrows; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Collection; @@ -25,4 +29,12 @@ .sheet(sheetName) .doWrite(collection); } @SneakyThrows public static void importDepartFile(MultipartFile file) throws IOException { EasyExcel.read(file.getInputStream()) .head(UmsDepartDto.class) .registerReadListener(new DepartListener()).sheet().doRead(); } } ycl-common/src/main/java/com/ycl/utils/listener/DepartListener.java
New file @@ -0,0 +1,58 @@ package com.ycl.utils.listener; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ycl.dto.UmsDepartDto; import com.ycl.entity.depart.UmsDepart; import com.ycl.mapper.depart.UmsDepartMapper; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Objects; @Component public class DepartListener implements ReadListener<UmsDepartDto> { @Resource private UmsDepartMapper sccgDepartMapper; @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(umsDepart.getDepartName()); // 设置部门描述 umsDepart.setDepartDes(umsDepartDto.getDepartDes()); // 设置部门类型 umsDepart.setDepartType(umsDepartDto.getDepartType()); // 设置父id 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) { } } ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -6,6 +6,7 @@ import com.ycl.api.CommonResult; import com.ycl.entity.cockpitManage.TeamConstruction; import com.ycl.entity.cockpitManage.TeamIndex; import com.ycl.service.apidata.IApiDataService; import com.ycl.service.cockpitManage.ITeamConstructionService; import com.ycl.service.equipment.IOrgGridService; import com.ycl.service.video.impl.IVideoPointService; @@ -45,6 +46,14 @@ private ITeamConstructionService teamConstructionService; private IOrgGridService orgGridService; private IApiDataService iApiDataService; @Autowired public void setIApiDataService(IApiDataService apiDataService){ this.iApiDataService = apiDataService; } @Autowired public void setTeamConstructionService(ITeamConstructionService teamConstructionService) { @@ -147,13 +156,17 @@ @ApiOperation(value = "top10") @GetMapping("/top10") public CommonResult<List<StatisticsEventsVO.Top10VO>> top10(@Validated CockpitVO params) { checkApiUtil.cockpit(params); List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>(); ls.add(new StatisticsEventsVO.Top10VO("xx中队", 100.0)); ls.add(new StatisticsEventsVO.Top10VO("xx中队", 90.0)); ls.add(new StatisticsEventsVO.Top10VO("xx中队", 80.0)); ls.add(new StatisticsEventsVO.Top10VO("xx中队", 70.0)); return CommonResult.success(ls); // checkApiUtil.cockpit(params); // List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>(); // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 100.0)); // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 90.0)); // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 80.0)); // ls.add(new StatisticsEventsVO.Top10VO("xx中队", 70.0)); // return CommonResult.success(ls); String beginTime = params.getBeginTime(); String endTime = params.getEndTime(); List<StatisticsEventsVO.Top10VO> res = iApiDataService.listTop10(beginTime, endTime); return CommonResult.success(res); } ycl-platform/src/main/java/com/ycl/mapper/apidata/ApiDataMapper.java
New file @@ -0,0 +1,9 @@ package com.ycl.mapper.apidata; import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO; import java.util.List; public interface ApiDataMapper { List<StatisticsEventsVO.Top10VO> listTop10(String beginTime, String endTime); } ycl-platform/src/main/java/com/ycl/service/apidata/IApiDataService.java
New file @@ -0,0 +1,10 @@ package com.ycl.service.apidata; import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO; import java.util.List; public interface IApiDataService { List<StatisticsEventsVO.Top10VO> listTop10(String beginTime, String endTime); } ycl-platform/src/main/java/com/ycl/service/apidata/impl/IApiDataServiceImpl.java
New file @@ -0,0 +1,22 @@ package com.ycl.service.apidata.impl; import com.ycl.mapper.apidata.ApiDataMapper; import com.ycl.service.apidata.IApiDataService; import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; @Service public class IApiDataServiceImpl implements IApiDataService { @Resource private ApiDataMapper apiDataMapper; @Override public List<StatisticsEventsVO.Top10VO> listTop10(String beginTime, String endTime) { return apiDataMapper.listTop10(beginTime, endTime); } } ycl-platform/src/main/resources/mapper/apidata/ApiDataMapper.xml
New file @@ -0,0 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.mapper.apidata.ApiDataMapper"> <select id="listTop10" resultType="com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO$Top10VO"> SELECT NAME , IFNULL(month_index_number,0) month_index_number FROM ums_team_construction <where> <if test="beginTime !='' and endTime !='' and beginTime!=null and endTime !=null"> and create_time between #{beginTime} and #{endTime} </if> </where> ORDER BY month_index_number DESC LIMIT 10 </select> </mapper>