add:标协会员-年度会员维护的查询和导出接口
This commit is contained in:
+84
@@ -0,0 +1,84 @@
|
||||
package com.jero.member.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.util.oConvertUtils;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.service.IAnnualMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||
import com.jero.member.vo.AnnualMemberProjectExcelVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 年度会员维护
|
||||
*/
|
||||
@Api(tags="年度会员维护")
|
||||
@RestController
|
||||
@RequestMapping("/member/annulMemberProject")
|
||||
@Slf4j
|
||||
public class AnnualMemberProjectController extends JeroController<TbMemberProjectSubitem, ITbMemberProjectSubitemService> {
|
||||
|
||||
@Resource
|
||||
private IAnnualMemberProjectService annualMemberProjectService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@RequiresPermissions("safeguardStardsMember:search")
|
||||
@ApiOperation(value="年度会员维护-分页列表查询", notes="年度会员维护-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<TbMemberProjectSubitem>> queryPageList(TbMemberProjectSubitem tbMemberProjectSubitem,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
Page<TbMemberProjectSubitem> page = new Page<>(pageNo, pageSize);
|
||||
IPage<TbMemberProjectSubitem> pageList = annualMemberProjectService.pageList(page, req, tbMemberProjectSubitem);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*/
|
||||
@ApiOperation(value = "导出")
|
||||
@RequiresPermissions("safeguardStardsMember:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest req, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
List<TbMemberProjectSubitem> pageList = annualMemberProjectService.pageList(req, tbMemberProjectSubitem);
|
||||
List<TbMemberProjectSubitem> recordList;
|
||||
// 过滤选中数据
|
||||
String selections = req.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> selectionList = Arrays.asList(selections.split(","));
|
||||
recordList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
|
||||
} else {
|
||||
recordList = pageList;
|
||||
}
|
||||
List<AnnualMemberProjectExcelVO> exportList = new ArrayList<>();
|
||||
for (TbMemberProjectSubitem item : recordList) {
|
||||
AnnualMemberProjectExcelVO annualMemberProjectExcelVO = new AnnualMemberProjectExcelVO();
|
||||
annualMemberProjectExcelVO.setMemberNo(item.getMemberNo());
|
||||
annualMemberProjectExcelVO.setMemberStatus(item.getMemberStatus());
|
||||
annualMemberProjectExcelVO.setLiaisonManId(item.getLiaisonManId());
|
||||
annualMemberProjectExcelVO.setCompanyName(item.getCompanyName());
|
||||
annualMemberProjectExcelVO.setInvalidationDateStr(item.getInvalidationDateStr());
|
||||
annualMemberProjectExcelVO.setEffectiveDateStr(item.getEffectiveDateStr());
|
||||
exportList.add(annualMemberProjectExcelVO);
|
||||
}
|
||||
return super.exportListXls(exportList, AnnualMemberProjectExcelVO.class, "年度会员维护表");
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.jero.member.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
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.member.entity.TbMemberProjectSubitem;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 年度会员维护
|
||||
*/
|
||||
public interface AnnualMemberProjectMapper {
|
||||
|
||||
IPage<TbMemberProjectSubitem> pageList(Page<TbMemberProjectSubitem> page, @Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryWrapper);
|
||||
|
||||
List<TbMemberProjectSubitem> pageList(@Param(Constants.WRAPPER) QueryWrapper<TbMemberProjectSubitem> queryWrapper);
|
||||
|
||||
}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<?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.jero.member.mapper.AnnualMemberProjectMapper">
|
||||
|
||||
|
||||
<resultMap id="AnnualMemberProjectResultMap" type="com.jero.member.entity.TbMemberProjectSubitem">
|
||||
<id column="id" property="id" />
|
||||
<result column="id" property="id" />
|
||||
<result column="company_name" property="companyName" />
|
||||
<result column="member_no" property="memberNo" />
|
||||
<result column="member_status" property="memberStatus" />
|
||||
<result column="liaison_man_id" property="liaisonManId" />
|
||||
<result column="effective_date" property="effectiveDateStr" />
|
||||
<result column="invalidation_date" property="invalidationDateStr" />
|
||||
</resultMap>
|
||||
|
||||
<select id="pageList" resultMap="AnnualMemberProjectResultMap">
|
||||
select
|
||||
vmps.*
|
||||
from v_member_project_subitem vmps
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
package com.jero.member.service;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
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.common.service.RolePermissionService;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.AnnualMemberProjectMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 年度会员维护
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class IAnnualMemberProjectService {
|
||||
|
||||
@Resource
|
||||
private AnnualMemberProjectMapper annualMemberProjectMapper;
|
||||
@Resource
|
||||
private RolePermissionService rolePermissionService;
|
||||
|
||||
|
||||
public IPage<TbMemberProjectSubitem> pageList(Page<TbMemberProjectSubitem> page, HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = generateQueryWrapper(request, tbMemberProjectSubitem);
|
||||
return annualMemberProjectMapper.pageList(page,queryWrapper);
|
||||
}
|
||||
|
||||
public List<TbMemberProjectSubitem> pageList(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem) {
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = generateQueryWrapper(request, tbMemberProjectSubitem);
|
||||
return annualMemberProjectMapper.pageList(queryWrapper);
|
||||
}
|
||||
|
||||
private QueryWrapper<TbMemberProjectSubitem> generateQueryWrapper(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem){
|
||||
QueryWrapper<TbMemberProjectSubitem> queryWrapper = QueryGenerator.initQueryWrapper(tbMemberProjectSubitem, request.getParameterMap());
|
||||
String invalidationDateStr = tbMemberProjectSubitem.getInvalidationDateStr();
|
||||
String effectiveDateStr = tbMemberProjectSubitem.getEffectiveDateStr();
|
||||
if (StringUtils.isNotBlank(invalidationDateStr)){
|
||||
DateTime invalidationDate = DateUtil.parse(invalidationDateStr, DatePattern.NORM_MONTH_PATTERN);
|
||||
queryWrapper.eq("year(invalidation_date)",invalidationDate.year());
|
||||
queryWrapper.eq("month(invalidation_date)",invalidationDate.month()+1);
|
||||
}
|
||||
if (StringUtils.isNotBlank(effectiveDateStr)){
|
||||
DateTime effectiveDate = DateUtil.parse(effectiveDateStr, DatePattern.NORM_MONTH_PATTERN);
|
||||
queryWrapper.eq("year(effective_date)",effectiveDate.year());
|
||||
queryWrapper.eq("month(effective_date)",effectiveDate.month()+1);
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (!rolePermissionService.getRolePermission("safeguardStardsMember:search")) {
|
||||
queryWrapper.eq("tmp.director_id",sysUser.getId());
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.jero.member.vo;
|
||||
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
@Data
|
||||
public class AnnualMemberProjectExcelVO {
|
||||
|
||||
/**id*/
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
/**会员单位*/
|
||||
@ApiModelProperty(value = "会员单位")
|
||||
@Excel(name = "会员单位", width = 20)
|
||||
private String companyName;
|
||||
|
||||
/**会员编号*/
|
||||
@Excel(name = "会员编号", width = 20)
|
||||
@ApiModelProperty(value = "会员编号")
|
||||
private String memberNo;
|
||||
|
||||
/**会员状态*/
|
||||
@Excel(name = "会员状态", width = 15, dicCode = "member_status")
|
||||
@ApiModelProperty(value = "会员状态")
|
||||
@Dict(dicCode = "member_status")
|
||||
private Integer memberStatus;
|
||||
|
||||
/**会员联系人*/
|
||||
@ApiModelProperty(value = "企业联系人")
|
||||
@Excel(name = "企业联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
@Dict(dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
|
||||
private String liaisonManId;
|
||||
|
||||
/** 生效日期 */
|
||||
@ApiModelProperty(value = "生效日期")
|
||||
@Excel(name = "会员单位", width = 20)
|
||||
private String effectiveDateStr;
|
||||
|
||||
/**
|
||||
* 失效日期
|
||||
*/
|
||||
@ApiModelProperty(value = "失效日期")
|
||||
@Excel(name = "失效日期", width = 20)
|
||||
private String invalidationDateStr;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user