add:会议酒店推荐的分页查询;导入;导出模板接口

This commit is contained in:
sunzheng
2024-07-10 18:19:28 +08:00
parent 405af59486
commit 37bb2b359b
11 changed files with 523 additions and 1 deletions
+22 -1
View File
@@ -162,4 +162,25 @@ ALTER TABLE `tb_member_project_subitem`
-- 20240708 工作组表新增自定义排序字段
ALTER TABLE `pay_working_group`
add column sort_no int comment '自定义排序顺序'
add column sort_no int comment '自定义排序顺序'
-- 20240710 新增会议酒店推荐表
DROP TABLE IF EXISTS `pay_meeting_hotel_recommend`;
CREATE TABLE `pay_meeting_hotel_recommend` (
`id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
`recommend_people` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '推荐人',
`hotel_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店名称',
`hotel_province` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在省份',
`hotel_city` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所在城市',
`is_hold` tinyint(1) NULL DEFAULT NULL COMMENT '是否举办过标准院会议 1-是 0-否',
`meeting_type` tinyint(1) NULL DEFAULT NULL COMMENT '曾举办的会议类型',
`contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '酒店联系方式',
`remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '会议酒店推荐表' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,85 @@
package com.jero.meeting.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.drafting.entity.PayDraftingGroup;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingHotelRecommend;
import com.jero.meeting.service.IPayMeetingHotelRecommendService;
import com.jero.meeting.vo.excel.PayMeetingHotelRecommendExcel;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.member.vo.TbMemberProjectSubitemExcel;
import com.jero.member.vo.TbMemberProjectSubitemExcelImport;
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.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 会议酒店推荐表 前端控制器
* </p>
*
* @author sz
* @since 2024-07-10
*/
@Api(tags = "会议酒店推荐")
@RestController
@RequestMapping("/meeting/payMeetingHotelRecommend")
@Slf4j
public class PayMeetingHotelRecommendController extends JeroController<PayMeetingHotelRecommend, IPayMeetingHotelRecommendService> {
@Resource
private IPayMeetingHotelRecommendService payMeetingHotelRecommendService;
/**
* 分页列表查询
*
* @param meetingHotelRecommend 会议酒店推荐
* @param pageNo 页数
* @param pageSize 条数
*/
// @RequiresPermissions("")
@ApiOperation(value = "会议酒店推荐-分页列表查询", notes = "会议酒店推荐-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PayMeetingHotelRecommend meetingHotelRecommend,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
IPage<PayMeetingHotelRecommend> pageList = payMeetingHotelRecommendService.queryHotelRecommendS(meetingHotelRecommend, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 导出excel模板
*/
// @RequiresPermissions("")
@ApiOperation(value = "导出模板")
@GetMapping(value = "/exportTemplate")
public ModelAndView exportTemplate() {
return super.exportTemplate(PayMeetingHotelRecommendExcel.class, "会议酒店推荐表");
}
/**
* 导入excel
*/
// @RequiresPermissions("")
@ApiOperation(value = "导入")
@PostMapping(value = "/importXls")
public Result<Object> importXls(HttpServletRequest request) {
List<Object> excelData = super.getExcelData(request, PayMeetingHotelRecommendExcel.class);
payMeetingHotelRecommendService.addExcel(excelData);
return Result.OK("文件导入成功!");
}
}
@@ -0,0 +1,75 @@
package com.jero.meeting.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会议酒店推荐表
* </p>
*
* @author sz
* @since 2024-07-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pay_meeting_hotel_recommend")
@ApiModel(value="PayMeetingHotelRecommend对象", description="会议酒店推荐表")
public class PayMeetingHotelRecommend implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
@ApiModelProperty(value = "推荐人")
private String recommendPeople;
@ApiModelProperty(value = "酒店名称")
private String hotelName;
@ApiModelProperty(value = "所在省份")
private String hotelProvince;
@ApiModelProperty(value = "所在城市")
private String hotelCity;
@ApiModelProperty(value = "是否举办过标准院会议 1-是 0-否")
@Dict(dicCode = "yn")
private Integer isHold;
@ApiModelProperty(value = "曾举办的会议类型")
@Dict(dicCode = "meeting_type")
private Integer meetingType;
@ApiModelProperty(value = "酒店联系方式")
private String contact;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "创建人")
private String createBy;
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "更新人")
private String updateBy;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
@@ -0,0 +1,20 @@
package com.jero.meeting.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.meeting.entity.PayMeetingHotelRecommend;
import org.apache.ibatis.annotations.Update;
/**
* <p>
* 会议酒店推荐表 Mapper 接口
* </p>
*
* @author sz
* @since 2024-07-10
*/
public interface PayMeetingHotelRecommendMapper extends BaseMapper<PayMeetingHotelRecommend> {
@Update("TRUNCATE TABLE pay_meeting_hotel_recommend")
void truncateTable();
}
@@ -0,0 +1,5 @@
<?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.meeting.mapper.PayMeetingHotelRecommendMapper">
</mapper>
@@ -0,0 +1,32 @@
package com.jero.meeting.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.meeting.entity.PayMeetingHotelRecommend;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 会议酒店推荐表 服务类
* </p>
*
* @author sz
* @since 2024-07-10
*/
public interface IPayMeetingHotelRecommendService extends IService<PayMeetingHotelRecommend> {
/**
* 分页列表查询
* @param meetingHotelRecommend
* @param pageNo
* @param pageSize
* @param req
* @return
*/
IPage<PayMeetingHotelRecommend> queryHotelRecommendS(PayMeetingHotelRecommend meetingHotelRecommend, Integer pageNo, Integer pageSize, HttpServletRequest req);
void addExcel(List<Object> excelData);
}
@@ -0,0 +1,167 @@
package com.jero.meeting.service.impl;
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.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.meeting.entity.PayMeetingHotelRecommend;
import com.jero.meeting.mapper.PayMeetingHotelRecommendMapper;
import com.jero.meeting.service.IPayMeetingHotelRecommendService;
import com.jero.meeting.vo.excel.PayMeetingHotelRecommendExcel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* <p>
* 会议酒店推荐表 服务实现类
* </p>
*
* @author sz
* @since 2024-07-10
*/
@Service
public class PayMeetingHotelRecommendServiceImpl extends ServiceImpl<PayMeetingHotelRecommendMapper, PayMeetingHotelRecommend> implements IPayMeetingHotelRecommendService {
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private PayMeetingHotelRecommendMapper payMeetingHotelRecommendMapper;
/**
* 分页列表查询
*
* @param meetingHotelRecommend
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@Override
public IPage<PayMeetingHotelRecommend> queryHotelRecommendS(PayMeetingHotelRecommend meetingHotelRecommend, Integer pageNo, Integer pageSize, HttpServletRequest req) {
QueryWrapper<PayMeetingHotelRecommend> queryWrapper = QueryGenerator.initQueryWrapper(meetingHotelRecommend, req.getParameterMap());
String recommendPeople = req.getParameter("recommendPeople");
String hotelName = req.getParameter("hotelName");
String hotelProvince = req.getParameter("hotelProvince");
String hotelCity = req.getParameter("hotelCity");
String isHold = req.getParameter("isHold");
String meetingType = req.getParameter("meetingType");
String contact = req.getParameter("contact");
String remark = req.getParameter("remark");
if (StringUtils.isNotBlank(recommendPeople)) {
queryWrapper.lambda().like(PayMeetingHotelRecommend::getRecommendPeople,recommendPeople);
}
if (StringUtils.isNotBlank(hotelName)) {
queryWrapper.lambda().like(PayMeetingHotelRecommend::getHotelName,hotelName);
}
if (StringUtils.isNotBlank(hotelProvince)) {
queryWrapper.lambda().like(PayMeetingHotelRecommend::getHotelProvince,hotelProvince);
}
if (StringUtils.isNotBlank(hotelCity)) {
queryWrapper.lambda().like(PayMeetingHotelRecommend::getHotelCity,hotelCity);
}
if (StringUtils.isNotBlank(isHold)) {
queryWrapper.lambda().eq(PayMeetingHotelRecommend::getIsHold,isHold);
}
if (StringUtils.isNotBlank(meetingType)) {
queryWrapper.lambda().eq(PayMeetingHotelRecommend::getMeetingType,meetingType);
}
if (StringUtils.isNotBlank(contact)) {
queryWrapper.lambda().like(PayMeetingHotelRecommend::getContact,contact);
}
if (StringUtils.isNotBlank(remark)) {
queryWrapper.lambda().like(PayMeetingHotelRecommend::getRemark,remark);
}
Page<PayMeetingHotelRecommend> page = new Page(pageNo, pageSize);
return page(page,queryWrapper);
}
@Override
public void addExcel(List<Object> excelData) {
if (excelData.isEmpty()) {
throw new JeroBootException("导入数据为空,请填写数据之后重新导入!");
}
// 是或否
Map<String, String> ynMap = sysBaseAPI.queryDictItemsMapByCode("yn");
// 会议类型
Map<String, String> meetingTypeMap = sysBaseAPI.queryDictItemsMapByCode("meeting_type");
int errorRowNum = 2;
List<String> errorMessage = new ArrayList<>();
List<PayMeetingHotelRecommend> insertList = new ArrayList<>();
for (Object obj : excelData) {
errorRowNum += 1;
PayMeetingHotelRecommendExcel submitExcel = (PayMeetingHotelRecommendExcel) obj;
PayMeetingHotelRecommend payMeetingHotelRecommend = new PayMeetingHotelRecommend();
List<String> errorList = ValidUtil.validateReturnListWithNum(submitExcel, errorRowNum);
errorMessage.addAll(errorList);
// 是否举办过标院会议
String isHold = submitExcel.getIsHold();
if (StringUtils.isBlank(isHold)){
}else if (!ynMap.containsKey(isHold)){
errorMessage.add("" + errorRowNum + "行:" + "是否举办过标院会议请填写是或否");
}else {
int isHoldInt = Integer.parseInt(ynMap.get(isHold));
payMeetingHotelRecommend.setIsHold(isHoldInt);
}
// 曾举办会议类型
String meetingType = submitExcel.getMeetingType();
if (StringUtils.isBlank(meetingType)){
}else if (!meetingTypeMap.containsKey(meetingType)){
errorMessage.add("" + errorRowNum + "行:" + "会议类型不存在");
}else {
int meetingTypeInt = Integer.parseInt(meetingTypeMap.get(meetingType));
payMeetingHotelRecommend.setMeetingType(meetingTypeInt);
}
// 推荐人
if (ValidUtil.checkErrorList(errorList,"推荐人")) {
String amountReceivable = submitExcel.getRecommendPeople();
payMeetingHotelRecommend.setRecommendPeople(amountReceivable);
}
// 酒店名称
if (ValidUtil.checkErrorList(errorList,"酒店名称")) {
String hotelName = submitExcel.getHotelName();
payMeetingHotelRecommend.setHotelName(hotelName);
}
// 所在省份
if (ValidUtil.checkErrorList(errorList,"所在省份")) {
String hotelProvince = submitExcel.getHotelProvince();
payMeetingHotelRecommend.setHotelProvince(hotelProvince);
}
// 所在省份
if (ValidUtil.checkErrorList(errorList,"所在城市")) {
String hotelCity = submitExcel.getHotelCity();
payMeetingHotelRecommend.setHotelCity(hotelCity);
}
// 所在省份
if (ValidUtil.checkErrorList(errorList,"酒店联系方式")) {
String contact = submitExcel.getContact();
payMeetingHotelRecommend.setContact(contact);
}
// 备注
String remark = submitExcel.getRemark();
payMeetingHotelRecommend.setRemark(remark);
insertList.add(payMeetingHotelRecommend);
}
if (!errorMessage.isEmpty()) {
StringBuilder msg = new StringBuilder();
for (String s : errorMessage) {
msg.append(s).append(",请修改!<br/>");
}
throw new JeroBootException(msg.toString());
}
// 先将酒店推荐表清空
payMeetingHotelRecommendMapper.truncateTable();
// 全量导入
this.saveBatch(insertList);
}
}
@@ -0,0 +1,69 @@
package com.jero.meeting.vo.excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
* <p>
* 会议酒店推荐表
* </p>
*
* @author sz
* @since 2024-07-10
*/
@Data
public class PayMeetingHotelRecommendExcel implements Serializable {
@ApiModelProperty(value = "推荐人")
@Excel(name = "推荐人", width = 15)
@NotBlank(message = "推荐人不能为空")
@Size(max = 50, message = "推荐人最大为50字符")
private String recommendPeople;
@ApiModelProperty(value = "酒店名称")
@Excel(name = "酒店名称", width = 20)
@NotBlank(message = "酒店名称不能为空")
@Size(max = 50, message = "酒店名称最大为50字符")
private String hotelName;
@ApiModelProperty(value = "所在省份")
@Excel(name = "所在省份", width = 15)
@NotBlank(message = "所在省份不能为空")
@Size(max = 50, message = "所在省份最大为50字符")
private String hotelProvince;
@ApiModelProperty(value = "所在城市")
@Excel(name = "所在城市", width = 15)
@NotBlank(message = "所在城市不能为空")
@Size(max = 50, message = "所在城市最大为50字符")
private String hotelCity;
@ApiModelProperty(value = "是否举办过标准院会议 1-是 0-否")
@Excel(name = "是否举办过标准院会议", width = 25)
@NotBlank(message = "是否举办过标准院会议不能为空")
private String isHold;
@ApiModelProperty(value = "曾举办的会议类型")
@Excel(name = "曾举办的会议类型", width = 25)
@NotBlank(message = "曾举办的会议类型不能为空")
private String meetingType;
@ApiModelProperty(value = "酒店联系方式")
@Excel(name = "酒店联系方式", width = 15)
@NotBlank(message = "酒店联系方式不能为空")
@Size(max = 50, message = "酒店联系方式最大为50字符")
@Pattern(regexp = "^(1[3-9]\\d{9})$|^(0\\d{2,3}-\\d{7,8})$", message = "酒店联系方式格式错误")
private String contact;
@ApiModelProperty(value = "备注")
@Excel(name = "备注", width = 15)
@Size(max = 200, message = "备注最大为50字符")
private String remark;
}
@@ -275,6 +275,32 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
if (!rolePermissionService.getRolePermission("safeguardMember:export")) {
queryWrapper.eq("pmp.director_id",sysUser.getId());
}
// 处理预计到账开始日期,拼接 -01
if (StringUtils.isNotBlank(payMemberProjectSubitem.getEstimatedArrivalStartDate())) {
String startDate = payMemberProjectSubitem.getEstimatedArrivalStartDate() + "-01";
payMemberProjectSubitem.setEstimatedArrivalStartDate(startDate);
}
// 处理预计到账结束日期,计算该月最后一天
if (StringUtils.isNotBlank(payMemberProjectSubitem.getEstimatedArrivalEndDate())) {
YearMonth yearMonth = YearMonth.parse(payMemberProjectSubitem.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
LocalDate endDate = yearMonth.atEndOfMonth();
payMemberProjectSubitem.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
// 预计到账开始日期
String estimatedArrivalStartDate = payMemberProjectSubitem.getEstimatedArrivalStartDate();
// 预计到账结束日期
String estimatedArrivalEndDate = payMemberProjectSubitem.getEstimatedArrivalEndDate();
if (ObjectUtil.isNotEmpty(estimatedArrivalStartDate) && ObjectUtil.isNotEmpty(estimatedArrivalEndDate)) {
queryWrapper.lambda().ge(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalStartDate);
queryWrapper.lambda().le(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalEndDate);
}
if (ObjectUtil.isNotEmpty(estimatedArrivalStartDate) && ObjectUtil.isEmpty(estimatedArrivalEndDate)) {
queryWrapper.lambda().ge(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalStartDate);
}
if (ObjectUtil.isEmpty(estimatedArrivalEndDate) && ObjectUtil.isNotEmpty(estimatedArrivalEndDate)) {
queryWrapper.lambda().le(PayMemberProjectSubitem::getEstimatedArrivalDate,estimatedArrivalEndDate);
}
Page<PayMemberProjectSubitem> page = new Page<>(-1, -1);
IPage<PayMemberProjectSubitem> getPage = memberProjectSubitemService.getPage(page, queryWrapper);
List<PayMemberProjectSubitem> pageList = getPage.getRecords();
@@ -268,6 +268,17 @@ public class TbMemberProjectSubitemController extends JeroController<TbMemberPro
@RequiresPermissions("safeguardStardsMember:export")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, TbMemberProjectSubitem tbMemberProjectSubitem) {
// 处理预计到账开始日期,拼接 -01
if (StringUtils.isNotBlank(tbMemberProjectSubitem.getEstimatedArrivalDate_begin())) {
String startDate = tbMemberProjectSubitem.getEstimatedArrivalDate_begin() + "-01";
tbMemberProjectSubitem.setEstimatedArrivalDate_begin(startDate);
}
// 处理预计到账结束日期,计算该月最后一天
if (StringUtils.isNotBlank(tbMemberProjectSubitem.getEstimatedArrivalDate_end())) {
YearMonth yearMonth = YearMonth.parse(tbMemberProjectSubitem.getEstimatedArrivalDate_end(), DateTimeFormatter.ofPattern("yyyy-MM"));
LocalDate endDate = yearMonth.atEndOfMonth();
tbMemberProjectSubitem.setEstimatedArrivalDate_end(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
List<TbMemberProjectSubitem> pageList = tbMemberProjectSubitemService.pageList(request,tbMemberProjectSubitem);
List<TbMemberProjectSubitem> exportList;
// 过滤选中数据
@@ -752,6 +752,17 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
&& !Objects.equals(payWorkingGroup.getPrincipalIdB(),sysUser.getId())){
throw new JeroBootException("数据权限不足!");
}
// 处理预计到账开始日期,拼接 -01
if (StringUtils.isNotBlank(payWorkingGroupSubItem.getEstimatedArrivalStartDate())) {
String startDate = payWorkingGroupSubItem.getEstimatedArrivalStartDate() + "-01";
payWorkingGroupSubItem.setEstimatedArrivalStartDate(startDate);
}
// 处理预计到账结束日期,计算该月最后一天
if (StringUtils.isNotBlank(payWorkingGroupSubItem.getEstimatedArrivalEndDate())) {
YearMonth yearMonth = YearMonth.parse(payWorkingGroupSubItem.getEstimatedArrivalEndDate(), DateTimeFormatter.ofPattern("yyyy-MM"));
LocalDate endDate = yearMonth.atEndOfMonth();
payWorkingGroupSubItem.setEstimatedArrivalEndDate(endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
// Step.1 组装查询条件
//QueryWrapper<PayWorkingGroupSubItem> queryWrapper = QueryGenerator.initQueryWrapper(payWorkingGroupSubItem, request.getParameterMap());