ard-work/src/main/java/com/ruoyi/alarmpoints/tube/controller/ArdTubesController.java
@@ -5,9 +5,14 @@ import javax.servlet.http.HttpServletResponse; import com.ruoyi.alarmpoints.tube.domain.ArdTubes; import com.ruoyi.alarmpoints.tube.domain.ArdTubesParam; import com.ruoyi.alarmpoints.tube.service.IArdTubesService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.utils.result.Results; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; @@ -42,77 +47,124 @@ @Resource private IArdTubesService ardTubesService; @Autowired private ISysUserService sysUserService; @Autowired private ISysDeptService sysDeptService; // /** // * 查询管线管理列表 // */ // @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:list')") // @GetMapping("/list") // @ApiOperation("查询管线管理列表") // public TableDataInfo list(ArdTubes ardTubes) // { // startPage(); // List<ArdTubes> list = ardTubesService.selectArdTubesList(ardTubes); // return getDataTable(list); // } // // /** // * 导出管线管理列表 // */ // @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:export')") // @Log(title = "管线管理", businessType = BusinessType.EXPORT) // @PostMapping("/export") // @ApiOperation("导出管线管理列表") // public void export(HttpServletResponse response, ArdTubes ardTubes) // { // List<ArdTubes> list = ardTubesService.selectArdTubesList(ardTubes); // ExcelUtil<ArdTubes> util = new ExcelUtil<ArdTubes>(ArdTubes.class); // util.exportExcel(response, list, "管线管理数据"); // } // // /** // * 获取管线管理详细信息 // */ // @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:query')") // @GetMapping(value = "/{id}") // @ApiOperation("通过ID获取管线管理详细信息") // public AjaxResult getInfo(@PathVariable("id") String id) // { // return success(ardTubesService.selectArdTubesById(id)); // } // // /** // * 新增管线管理 // */ // @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:add')") // @Log(title = "管线管理", businessType = BusinessType.INSERT) // @PostMapping // @ApiOperation("新增管线管理") // public AjaxResult add(@RequestBody ArdTubes ardTubes) // { // return toAjax(ardTubesService.insertArdTubes(ardTubes)); // } // // /** // * 修改管线管理 // */ // @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:edit')") // @Log(title = "管线管理", businessType = BusinessType.UPDATE) // @PutMapping // @ApiOperation("修改管线管理") // public AjaxResult edit(@RequestBody ArdTubes ardTubes) // { // return toAjax(ardTubesService.updateArdTubes(ardTubes)); // } // // /** // * 删除管线管理 // */ // @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:remove')") // @Log(title = "管线管理", businessType = BusinessType.DELETE) // @DeleteMapping("/{ids}") // @ApiOperation("删除管线管理") // public AjaxResult remove(@PathVariable String[] ids) // { // return toAjax(ardTubesService.deleteArdTubesByIds(ids)); // } /** * 查询管线管理列表 * 查询单条管线数据 */ @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:list')") @GetMapping("/list") @ApiOperation("查询管线管理列表") public TableDataInfo list(ArdTubes ardTubes) { startPage(); List<ArdTubes> list = ardTubesService.selectArdTubesList(ardTubes); return getDataTable(list); @GetMapping("/one/{id}") @ApiOperation("查询单条管线数据") public Results one(@PathVariable String id) { return ardTubesService.tubeById(id); } /** * 导出管线管理列表 * 查询权限下全部管线数据 */ @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:export')") @Log(title = "管线管理", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation("导出管线管理列表") public void export(HttpServletResponse response, ArdTubes ardTubes) { List<ArdTubes> list = ardTubesService.selectArdTubesList(ardTubes); ExcelUtil<ArdTubes> util = new ExcelUtil<ArdTubes>(ArdTubes.class); util.exportExcel(response, list, "管线管理数据"); @GetMapping("/tobeList") @ApiOperation("查询权限下全部管线数据") public Results tobeList() { String usersId = SecurityUtils.getUserId(); //根据userId查询部门Id SysUser sysUser = sysUserService.selectUserById(usersId); //根据当前deptId或者当前及所属下级的所有deptId List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId()); //根据deptList获取所有管线数据 return ardTubesService.tobeList(deptList); } /** * 获取管线管理详细信息 * 查询并筛选权限下所有管线数据 */ @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:query')") @GetMapping(value = "/{id}") @ApiOperation("通过ID获取管线管理详细信息") public AjaxResult getInfo(@PathVariable("id") String id) { return success(ardTubesService.selectArdTubesById(id)); @GetMapping("/conditionList") @ApiOperation("查询并筛选权限下所有管线数据") public Results conditionList(ArdTubesParam ardTubesParam) { String usersId = SecurityUtils.getUserId(); //根据userId查询部门Id SysUser sysUser = sysUserService.selectUserById(usersId); //根据当前deptId或者当前及所属下级的所有deptId List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId()); ardTubesParam.setDeptList(deptList); return ardTubesService.conditionList(ardTubesParam); } /** * 新增管线管理 */ @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:add')") @Log(title = "管线管理", businessType = BusinessType.INSERT) @PostMapping @ApiOperation("新增管线管理") public AjaxResult add(@RequestBody ArdTubes ardTubes) { return toAjax(ardTubesService.insertArdTubes(ardTubes)); } /** * 修改管线管理 */ @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:edit')") @Log(title = "管线管理", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation("修改管线管理") public AjaxResult edit(@RequestBody ArdTubes ardTubes) { return toAjax(ardTubesService.updateArdTubes(ardTubes)); } /** * 删除管线管理 */ @PreAuthorize("@ss.hasPermi('alarmpoints:tubes:remove')") @Log(title = "管线管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @ApiOperation("删除管线管理") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(ardTubesService.deleteArdTubesByIds(ids)); } } ard-work/src/main/java/com/ruoyi/alarmpoints/tube/domain/ArdTubes.java
@@ -1,5 +1,6 @@ package com.ruoyi.alarmpoints.tube.domain; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; @@ -7,6 +8,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import java.util.List; /** * 管线管理对象 ard_tubes @@ -50,4 +53,7 @@ @ApiModelProperty(hidden = true) private String userId; @TableField(exist = false) private List<ArdTubesDetails> ardTubesDetails; } ard-work/src/main/java/com/ruoyi/alarmpoints/tube/domain/ArdTubesParam.java
New file @@ -0,0 +1,35 @@ package com.ruoyi.alarmpoints.tube.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * 管线管理对象 ard_tubes * * @author 刘苏义 * @date 2023-03-13 */ @Data public class ArdTubesParam { /** 名称 */ private String name; /** 类型 */ private String type; /** 管径 */ private String pipeDiameter; /** 颜色 */ private String color; @TableField(exist = false) private List<Long> deptList; } ard-work/src/main/java/com/ruoyi/alarmpoints/tube/mapper/ArdTubesDetailsMapper.java
@@ -2,6 +2,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails; import org.apache.ibatis.annotations.Param; @@ -11,7 +12,7 @@ * @author 刘苏义 * @date 2023-03-13 */ public interface ArdTubesDetailsMapper public interface ArdTubesDetailsMapper extends BaseMapper<ArdTubesDetails> { /** * 查询管线详细 ard-work/src/main/java/com/ruoyi/alarmpoints/tube/mapper/ArdTubesMapper.java
@@ -1,6 +1,8 @@ package com.ruoyi.alarmpoints.tube.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.alarmpoints.tube.domain.ArdTubes; /** @@ -9,7 +11,7 @@ * @author 刘苏义 * @date 2023-03-13 */ public interface ArdTubesMapper public interface ArdTubesMapper extends BaseMapper<ArdTubes> { /** * 查询管线管理 ard-work/src/main/java/com/ruoyi/alarmpoints/tube/service/IArdTubesService.java
@@ -2,6 +2,8 @@ import java.util.List; import com.ruoyi.alarmpoints.tube.domain.ArdTubes; import com.ruoyi.alarmpoints.tube.domain.ArdTubesParam; import com.ruoyi.utils.result.Results; /** * 管线管理Service接口 @@ -58,4 +60,10 @@ * @return 结果 */ public int deleteArdTubesById(String id); Results tubeById(String id); Results tobeList(List<Long> deptList); Results conditionList(ArdTubesParam ardTubesParam); } ard-work/src/main/java/com/ruoyi/alarmpoints/tube/service/impl/ArdTubesServiceImpl.java
@@ -2,15 +2,19 @@ import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.alarmpoints.tube.domain.ArdTubes; import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails; import com.ruoyi.alarmpoints.tube.domain.ArdTubesParam; import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper; import com.ruoyi.alarmpoints.tube.mapper.ArdTubesMapper; import com.ruoyi.alarmpoints.tube.service.IArdTubesService; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.utils.result.Results; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -129,4 +133,56 @@ } return ardTubesMapper.deleteArdTubesById(id); } @Override public Results tubeById(String id) { ArdTubes ardTubes = ardTubesMapper.selectById(id); if(ardTubes!=null){ QueryWrapper<ArdTubesDetails> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tube_id",id); List<ArdTubesDetails> list = ardTubesDetailsMapper.selectList(queryWrapper); ardTubes.setArdTubesDetails(list); } return Results.succeed(ardTubes); } @Override public Results tobeList(List<Long> deptList) { QueryWrapper<ArdTubes> queryWrapper = new QueryWrapper<>(); queryWrapper.in("dept_id",deptList); List<ArdTubes> list = ardTubesMapper.selectList(queryWrapper); if(list.size()>0){ for (int i = 0; i < list.size(); i++) { ArdTubes ardTubes = list.get(i); QueryWrapper<ArdTubesDetails> detailsQueryWrapper = new QueryWrapper<>(); queryWrapper.eq("tube_id",ardTubes.getId()); List<ArdTubesDetails> details = ardTubesDetailsMapper.selectList(detailsQueryWrapper); ardTubes.setArdTubesDetails(details); } } return Results.succeed(list); } @Override public Results conditionList(ArdTubesParam ardTubesParam) { QueryWrapper<ArdTubes> queryWrapper = new QueryWrapper<>(); queryWrapper.in("dept_id",ardTubesParam.getDeptList()) .eq(!StringUtils.isBlank(ardTubesParam.getName()),"name",ardTubesParam.getName()) .eq(!StringUtils.isBlank(ardTubesParam.getType()),"type",ardTubesParam.getType()) .eq(!StringUtils.isBlank(ardTubesParam.getPipeDiameter()),"pipe_diameter",ardTubesParam.getPipeDiameter()) .eq(!StringUtils.isBlank(ardTubesParam.getColor()),"color",ardTubesParam.getColor()); List<ArdTubes> list = ardTubesMapper.selectList(queryWrapper); if(list.size()>0){ for (int i = 0; i < list.size(); i++) { ArdTubes ardTubes = list.get(i); QueryWrapper<ArdTubesDetails> detailsQueryWrapper = new QueryWrapper<>(); queryWrapper.eq("tube_id",ardTubes.getId()); List<ArdTubesDetails> details = ardTubesDetailsMapper.selectList(detailsQueryWrapper); ardTubes.setArdTubesDetails(details); } } return Results.succeed(list); } }