新功能:资料目录管理

This commit is contained in:
zhangqinlin
2021-09-01 09:18:54 +08:00
parent a4255d14a8
commit 30c9d09090
7 changed files with 310 additions and 141 deletions
@@ -14,9 +14,11 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.DTO.PayCaseCommitteeSubitemDTO;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.PayCaseCommitteeSubitem;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.VO.payCaseCommitteeSubitemVO;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.findByName;
import com.jero.dataMangement.payCaseCommitteeSubitem.mapper.PayCaseCommitteeSubitemMapper;
import com.jero.dataMangement.payCaseCommitteeSubitem.service.IPayCaseCommitteeSubitemService;
import io.swagger.annotations.ApiImplicitParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -70,22 +72,37 @@ public class PayCaseCommitteeSubitemController extends JeroController<PayCaseCom
return Result.OK(pageList);
}
// /**
// * 列表查询
// * @param pageNo
// * @param pageSize
// * @return
// */
// @AutoLog(value = "分标委成员表-列表查询")
// @ApiOperation(value="分标委成员表-列表查询", notes="分标委成员表-列表查询")
// @GetMapping(value = "/list")
// public Result<?> queryPageList(@RequestParam(name="id",required =false) String id) {
// LambdaQueryWrapper<PayCaseCommitteeSubitem> lambdaQueryWrapper = new LambdaQueryWrapper();
// lambdaQueryWrapper.eq(PayCaseCommitteeSubitem::getCommitteeId,id);
// List<PayCaseCommitteeSubitem> list = payCaseCommitteeSubitemService.list(lambdaQueryWrapper);
// return Result.OK(list);
// }
/**
* 列表查询
* @return
*/
@AutoLog(value = "分标委成员表-列表查询")
@ApiOperation(value="分标委成员表-列表查询", notes="分标委成员表-列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(@RequestParam(name="id",required =true) String id) {
QueryWrapper<PayCaseCommitteeSubitem> queryWrapper = Wrappers.query();
queryWrapper.eq("pm.committee_id",id);
List<payCaseCommitteeSubitemVO> list = payCaseCommitteeSubitemMapper.list2(queryWrapper);
return Result.OK(list);
}
/**
* 校验
* @return
*/
@AutoLog(value = "分标委成员表-新增时校验重复")
@ApiOperation(value="分标委成员表-新增时校验重复", notes="分标委成员表-新增时校验重复")
@ApiImplicitParam(name = "id", value = "联系人主键", dataType = "String", required = true)
@GetMapping(value = "/voiled")
public Result<?> voiled(@RequestParam(name="id") String id) {
LambdaQueryWrapper<PayCaseCommitteeSubitem> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(PayCaseCommitteeSubitem::getContactsId, id);
List<PayCaseCommitteeSubitem> list = payCaseCommitteeSubitemService.list(lambdaQueryWrapper);
if (list.size() > 0) {
return Result.error("联系人重复,请重新选择");
} else {
return Result.OK();
}
}
@@ -2,13 +2,18 @@ package com.jero.dataMangement.payCaseCommitteeSubitem.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.PayCaseCommitteeSubitem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.VO.payCaseCommitteeSubitemVO;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.findByName;
import org.springframework.data.repository.query.Param;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: pay_case_committee_subitem
@@ -18,6 +23,8 @@ import org.springframework.data.repository.query.Param;
*/
public interface PayCaseCommitteeSubitemMapper extends BaseMapper<PayCaseCommitteeSubitem> {
Page<findByName> list (IPage<PayCaseCommitteeSubitem> page, @Param(Constants.WRAPPER) Wrapper<PayCaseCommitteeSubitem> ew);
Page<findByName> list (IPage<PayCaseCommitteeSubitem> page, @Param(Constants.WRAPPER) Wrapper<PayCaseCommitteeSubitem> wrapper);
List<payCaseCommitteeSubitemVO> list2 (@Param(Constants.WRAPPER) Wrapper<PayCaseCommitteeSubitem> wrapper);
}
@@ -19,4 +19,14 @@
left JOIN pay_contacts_management pt on (pm.contacts_id = pt.id)
${ew.customSqlSegment}
</select>
<select id="list2" resultType="com.jero.dataMangement.payCaseCommitteeSubitem.entity.VO.payCaseCommitteeSubitemVO">
SELECT pm.id as id,pt.name as contactsName,pm.company_name as companyName,pt.post as post,pt.phone as PhoneNamber
from
pay_case_committee pe
left JOIN pay_case_committee_subitem pm on (pe.id = pm.committee_id)
left JOIN pay_contacts_management pt on (pm.contacts_id = pt.id)
${ew.customSqlSegment}
</select>
</mapper>
@@ -1,12 +1,15 @@
package com.jero.dataMangement.payCaseCommitteeSubitem.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.dataMangement.payCaseCommitteeSubitem.entity.PayCaseCommitteeSubitem;
import java.util.List;
/**
* @Description: pay_case_committee_subitem
* @Author: jeecg-boot
@@ -16,5 +19,4 @@ import com.jero.dataMangement.payCaseCommitteeSubitem.entity.PayCaseCommitteeSub
public interface IPayCaseCommitteeSubitemService extends IService<PayCaseCommitteeSubitem> {
}
@@ -1,19 +1,30 @@
package com.jero.dataMangement.payDataDirectory.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.dataMangement.payDataDirectory.entity.DTO.PayDataDirectoryDTO;
import com.jero.dataMangement.payDataDirectory.entity.PayDataDirectory;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.dataMangement.payDataDirectory.entity.DirectoryToTree;
import com.jero.dataMangement.payDataDirectory.mapper.PayDataDirectoryMapper;
import com.jero.dataMangement.payDataDirectory.service.IPayDataDirectoryService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
@@ -31,125 +42,225 @@ import io.swagger.annotations.ApiOperation;
@RequestMapping("/payDataDirectory/payDataDirectory")
@Slf4j
public class PayDataDirectoryController extends JeroController<PayDataDirectory, IPayDataDirectoryService> {
@Autowired
private IPayDataDirectoryService payDataDirectoryService;
/**
* 分页列表查询
*
* @param payDataDirectory
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "资料目录管理-分页列表查询")
@ApiOperation(value="资料目录管理-分页列表查询", notes="资料目录管理-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayDataDirectory payDataDirectory,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayDataDirectory> queryWrapper = QueryGenerator.initQueryWrapper(payDataDirectory, req.getParameterMap());
Page<PayDataDirectory> page = new Page<PayDataDirectory>(pageNo, pageSize);
IPage<PayDataDirectory> pageList = payDataDirectoryService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param payDataDirectory
* @return
*/
@AutoLog(value = "资料目录管理-添加")
@ApiOperation(value="资料目录管理-添加", notes="资料目录管理-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayDataDirectory payDataDirectory) {
payDataDirectoryService.save(payDataDirectory);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param payDataDirectory
* @return
*/
@AutoLog(value = "资料目录管理-编辑")
@ApiOperation(value="资料目录管理-编辑", notes="资料目录管理-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@RequestBody PayDataDirectory payDataDirectory) {
payDataDirectoryService.updateById(payDataDirectory);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "资料目录管理-通过id删除")
@ApiOperation(value="资料目录管理-通过id删除", notes="资料目录管理-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
payDataDirectoryService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "资料目录管理-批量删除")
@ApiOperation(value="资料目录管理-批量删除", notes="资料目录管理-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.payDataDirectoryService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "资料目录管理-通过id查询")
@ApiOperation(value="资料目录管理-通过id查询", notes="资料目录管理-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
PayDataDirectory payDataDirectory = payDataDirectoryService.getById(id);
if(payDataDirectory==null) {
return Result.error("未找到对应数据");
@Autowired
private IPayDataDirectoryService payDataDirectoryService;
@Resource
private PayDataDirectoryMapper payDataDirectoryMapper;
ArrayList<String> list = new ArrayList<>();
ArrayList<PayDataDirectory> list2 = new ArrayList<>();
/**
* 资料目录树
*
* @return
*/
@AutoLog(value = "资料目录管理-")
@ApiOperation(value = "资料目录管理-树", notes = "资料目录管理-树")
@GetMapping(value = "/tree")
public Result<?> tree() {
QueryWrapper<PayDataDirectory> queryWrapper = new QueryWrapper();
List<PayDataDirectory> list = payDataDirectoryService.list(queryWrapper);
List<DirectoryToTree> collect = list.stream()
.filter(payDataDirectory -> "0".equals(payDataDirectory.getParentId()))
.map(payDataDirectory -> {
DirectoryToTree directoryToTree = transtoTree(payDataDirectory, list);
return directoryToTree;
}).sorted(Comparator.comparing(DirectoryToTree::getSort))
.collect(Collectors.toList());
return Result.OK(collect);
}
/**
* 转换为树
* @param payDataDirectory 单个节点用于查找其子节点
* @param list 所以节点集合
* @return
*/
private DirectoryToTree transtoTree(PayDataDirectory payDataDirectory, List<PayDataDirectory> list) {
DirectoryToTree directoryToTree = new DirectoryToTree();
BeanUtils.copyProperties(payDataDirectory, directoryToTree);
List<PayDataDirectory> collect = list.stream()
.filter(payDataDirectory1 -> payDataDirectory.getId().equals(payDataDirectory1.getParentId()))
.map(
payDataDirectory2 -> transtoTree(payDataDirectory2, list)
).sorted(Comparator.comparing(PayDataDirectory::getSort))
.collect(Collectors.toList());
directoryToTree.setChildren(collect);
return directoryToTree;
}
/**
* 添加
*
* @param payDataDirectoryDTO
* @return
*/
@AutoLog(value = "资料目录管理-新增")
@ApiOperation(value = "资料目录管理-新增", notes = "资料目录管理-新增")
@PostMapping(value = "/add")
public Result<?> add(@Valid @RequestBody PayDataDirectoryDTO payDataDirectoryDTO) {
LambdaQueryWrapper<PayDataDirectory> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(PayDataDirectory::getParentId, payDataDirectoryDTO.getParentId());
List<PayDataDirectory> payDataDirectories = payDataDirectoryMapper.selectList(lambdaQueryWrapper);
for(PayDataDirectory PayDataDirectory :payDataDirectories){
if(PayDataDirectory.getName().equals(payDataDirectoryDTO.getName())){
return Result.error("同级文件名重复,请重新输入。");
}
}
PayDataDirectory payDataDirectory = new PayDataDirectory();
BeanUtils.copyProperties(payDataDirectoryDTO, payDataDirectory);
payDataDirectoryService.save(payDataDirectory);
return Result.OK("添加成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "资料目录管理-批量删除")
@ApiOperation(value = "资料目录管理-批量删除", notes = "资料目录管理-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
List<String> ides = new ArrayList<>(Arrays.asList(ids.split(",")));
for (String id : ides) {
//查询子文件夹
getPayDataDirectories(id);
}
//添加到主id集合进行删除
for(String ID :list){
ides.add(ID);
}
this.payDataDirectoryService.removeByIds(ides);
return Result.OK("批量删除成功!");
}
//递归查询子文件夹
private void getPayDataDirectories(String id) {
LambdaQueryWrapper<PayDataDirectory> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(PayDataDirectory::getParentId, id);
List<PayDataDirectory> payDataDirectories = payDataDirectoryMapper.selectList(lambdaQueryWrapper);
//判断有无子文件夹
if(payDataDirectories.size()>0){
for (PayDataDirectory payDataDirector : payDataDirectories) {
list.add(payDataDirector.getId());
getPayDataDirectories(payDataDirector.getId());
}
}
}
/**
* 通过id查询
*
* @param name
* @return
*/
@AutoLog(value = "资料目录管理-通过name查询")
@ApiOperation(value="资料目录管理-通过name查询", notes="资料目录管理-通过name查询")
@GetMapping(value = "/queryByName")
public Result<?> queryByName(@RequestParam(name="name",required=false) String name) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.like(StringUtils.isNotBlank(name), "name", name);
List<PayDataDirectory> byName = payDataDirectoryMapper.selectList(queryWrapper);
for(PayDataDirectory payDataDirectory:byName) {
list2.add(payDataDirectory);
findToTree(payDataDirectory);
}
return Result.OK(payDataDirectory);
//转换为树
List<DirectoryToTree> directoryToTrees = tree2(list2);
list2.clear();
return Result.OK(directoryToTrees);
}
/**
* 导出excel
*
* @param request
* @param payDataDirectory
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayDataDirectory payDataDirectory) {
return super.exportXls(request, payDataDirectory, PayDataDirectory.class, "pay_data_directory");
}
/**
* 查找次节点的所以父节点和根节点
* @param payDataDirectory
*/
private void findToTree(PayDataDirectory payDataDirectory) {
LambdaQueryWrapper<PayDataDirectory> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(PayDataDirectory::getId, payDataDirectory.getParentId());
PayDataDirectory one = payDataDirectoryService.getOne(lambdaQueryWrapper);
if (!ObjectUtils.isEmpty(one)&&!list2.contains(one)) {
list2.add(one);
if (!"0".equals(one.getId())) {
findToTree(one);
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, PayDataDirectory.class);
}
}
}
}
}
/**
* 转换为树
* @param list2
* @return
*/
public List<DirectoryToTree> tree2(ArrayList<PayDataDirectory> list2) {
List<DirectoryToTree> collect = list2.stream()
.filter(payDataDirectory -> "0".equals(payDataDirectory.getParentId()))
.map(payDataDirectory -> {
DirectoryToTree directoryToTree = transtoTree(payDataDirectory, list2);
return directoryToTree;
}).sorted(Comparator.comparing(DirectoryToTree::getSort))
.collect(Collectors.toList());
return collect;
}
// /**
// * 编辑
// *
// * @param payDataDirectory
// * @return
// */
// @AutoLog(value = "资料目录管理-编辑")
// @ApiOperation(value="资料目录管理-编辑", notes="资料目录管理-编辑")
// @PutMapping(value = "/edit")
// public Result<?> edit(@RequestBody PayDataDirectoryDTO payDataDirectoryDTO) {
// payDataDirectoryService.updateById(payDataDirectory);
// return Result.OK("编辑成功!");
// }
//
//
// /**
// * 导出excel
// *
// * @param request
// * @param payDataDirectory
// */
// @RequestMapping(value = "/exportXls")
// public ModelAndView exportXls(HttpServletRequest request, PayDataDirectory payDataDirectory) {
// return super.exportXls(request, payDataDirectory, PayDataDirectory.class, "pay_data_directory");
// }
//
// /**
// * 通过excel导入数据
// *
// * @param request
// * @param response
// * @return
// */
// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
// return super.importExcel(request, response, PayDataDirectory.class);
// }
// /**
// * 通过id删除
// *
// * @param id
// * @return
// */
// @AutoLog(value = "资料目录管理-通过id删除")
// @ApiOperation(value="资料目录管理-通过id删除", notes="资料目录管理-通过id删除")
// @DeleteMapping(value = "/delete")
// public Result<?> delete(@RequestParam(name="id",required=true) String id) {
// payDataDirectoryService.removeById(id);
// return Result.OK("删除成功!");
// }
}
@@ -1,8 +1,15 @@
package com.jero.dataMangement.payDataDirectory.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.jero.dataMangement.payDataDirectory.entity.DirectoryToTree;
import com.jero.dataMangement.payDataDirectory.entity.PayDataDirectory;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: pay_data_directory
@@ -12,4 +19,8 @@ import com.jero.dataMangement.payDataDirectory.entity.PayDataDirectory;
*/
public interface PayDataDirectoryMapper extends BaseMapper<PayDataDirectory> {
List<DirectoryToTree> getByName(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
}
@@ -1,5 +1,16 @@
<?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="org.jeecg.modules.demo.payDataDirectory.mapper.PayDataDirectoryMapper">
<mapper namespace="com.jero.dataMangement.payDataDirectory.mapper.PayDataDirectoryMapper">
<!-- <resultMap id="data" type="com.jero.dataMangement.payDataDirectory.entity.DirectoryToTree">-->
<!-- <id property="id" column="id"></id>-->
<!-- <result property="name" column="name"></result>-->
<!-- <collection property="children" ofType="com.jero.dataMangement.payDataDirectory.entity.PayDataDirectory" javaType="java.util.List">-->
<!-- <id property="id" column="id"></id>-->
<!-- <result property="name" column="name"></result>-->
<!-- </collection>-->
<!-- </resultMap>-->
<!-- <select id="getByName" resultMap="data">-->
<!-- SELECT * FROM pay_data_directory-->
<!-- ${ew.customSqlSegment}-->
<!-- </select>-->
</mapper>