add 收入合同查询会议

This commit is contained in:
lijiarao
2021-09-21 16:57:12 +08:00
parent 1ea9475795
commit a7fdf73b38
6 changed files with 485 additions and 73 deletions
@@ -63,13 +63,12 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
@AutoLog(value = "合同查询未关联参会人列表")
@ApiOperation(value = "合同查询未关联参会人列表", notes = "合同查询未关联参会人列表")
@GetMapping(value = "/contractPage")
public Result<?> contractPage(PayMeetingSituation payMeetingSituation,
public Result<?> contractPage(MeetingSituationContractVO meetingSituationContractVO,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.page(page, queryWrapper);
Page<MeetingSituationContractVO> page = new Page<>(pageNo, pageSize);
IPage<MeetingSituationContractVO> pageList = payMeetingSituationService.contractPage(page, meetingSituationContractVO);
return Result.OK(pageList);
}
@@ -1,12 +1,8 @@
package com.jero.meeting.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.meeting.vo.MeetingSituationContractVO;
import org.apache.ibatis.annotations.Param;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,9 +10,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 会议报名信息
* @Author: jero-boot
* @Date: 2021-09-02
* @Date: 2021-09-02
* @Version: V1.0
*/
public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituation> {
}
Page<MeetingSituationContractVO> contractPage(Page<MeetingSituationContractVO> page, @Param("param") MeetingSituationContractVO vo);
}
@@ -2,53 +2,141 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.meeting.mapper.PayMeetingSituationMapper">
<resultMap id="PayMeetingSituationResultMap" type="com.jero.meeting.entity.PayMeetingSituation">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="meeting_id" property="meetingId" />
<result column="company_id" property="companyId" />
<result column="company_name" property="companyName" />
<result column="company_contact_id" property="companyContactId" />
<result column="company_contact_name" property="companyContactName" />
<result column="post" property="post" />
<result column="phone" property="phone" />
<result column="email" property="email" />
<result column="identity" property="identity" />
<result column="guest_type" property="guestType" />
<result column="speech_topic" property="speechTopic" />
<result column="speech_ppt" property="speechPpt" />
<result column="photo" property="photo" />
<result column="profile" property="profile" />
<result column="have_meals" property="haveMeals" />
<result column="hui_people" property="huiPeople" />
<result column="check_in_hotel" property="checkInHotel" />
<result column="in_hotel_time" property="inHotelTime" />
<result column="out_hotel_time" property="outHotelTime" />
<result column="room_layout" property="roomLayout" />
<result column="arrival_time" property="arrivalTime" />
<result column="destination" property="destination" />
<result column="arrival_shift" property="arrivalShift" />
<result column="delivery_station" property="deliveryStation" />
<result column="departure_time" property="departureTime" />
<result column="departure_station" property="departureStation" />
<result column="departure_shift" property="departureShift" />
<result column="peer" property="peer" />
<result column="remark" property="remark" />
<result column="check_in" property="checkIn" />
<result column="pick_up" property="pickUp" />
<result column="post_contact_id" property="postContactId" />
<result column="post_contact_address" property="postContactAddress" />
<result column="pay_mode" property="payMode" />
<result column="need_invoice" property="needInvoice" />
<result column="payment_record" property="paymentRecord" />
<result column="status" property="status" />
<result column="is_new" property="isNew" />
<result column="pack" property="pack" />
<result column="in_account" property="inAccount" />
<result column="make_invoice" property="makeInvoice" />
<result column="mail" property="mail" />
<id column="id" property="id"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
<result column="meeting_id" property="meetingId"/>
<result column="company_id" property="companyId"/>
<result column="company_name" property="companyName"/>
<result column="company_contact_id" property="companyContactId"/>
<result column="company_contact_name" property="companyContactName"/>
<result column="post" property="post"/>
<result column="phone" property="phone"/>
<result column="email" property="email"/>
<result column="identity" property="identity"/>
<result column="guest_type" property="guestType"/>
<result column="speech_topic" property="speechTopic"/>
<result column="speech_ppt" property="speechPpt"/>
<result column="photo" property="photo"/>
<result column="profile" property="profile"/>
<result column="have_meals" property="haveMeals"/>
<result column="hui_people" property="huiPeople"/>
<result column="check_in_hotel" property="checkInHotel"/>
<result column="in_hotel_time" property="inHotelTime"/>
<result column="out_hotel_time" property="outHotelTime"/>
<result column="room_layout" property="roomLayout"/>
<result column="arrival_time" property="arrivalTime"/>
<result column="destination" property="destination"/>
<result column="arrival_shift" property="arrivalShift"/>
<result column="delivery_station" property="deliveryStation"/>
<result column="departure_time" property="departureTime"/>
<result column="departure_station" property="departureStation"/>
<result column="departure_shift" property="departureShift"/>
<result column="peer" property="peer"/>
<result column="remark" property="remark"/>
<result column="check_in" property="checkIn"/>
<result column="pick_up" property="pickUp"/>
<result column="post_contact_id" property="postContactId"/>
<result column="post_contact_address" property="postContactAddress"/>
<result column="pay_mode" property="payMode"/>
<result column="need_invoice" property="needInvoice"/>
<result column="payment_record" property="paymentRecord"/>
<result column="status" property="status"/>
<result column="is_new" property="isNew"/>
<result column="pack" property="pack"/>
<result column="in_account" property="inAccount"/>
<result column="make_invoice" property="makeInvoice"/>
<result column="mail" property="mail"/>
</resultMap>
<resultMap id="MeetingSituationContractVOMap" type="com.jero.meeting.vo.MeetingSituationContractVO">
<id column="id" property="id"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
<result column="meeting_id" property="meetingId"/>
<result column="meeting_name" property="meetingName"/>
<result column="company_id" property="companyId"/>
<result column="company_temporary_id" property="companyTemporaryId"/>
<result column="company_name" property="companyName"/>
<result column="company_contact_id" property="companyContactId"/>
<result column="company_contact_temporary_id" property="companyContactTemporaryId"/>
<result column="company_contact_name" property="companyContactName"/>
<result column="post" property="post"/>
<result column="phone" property="phone"/>
<result column="email" property="email"/>
<result column="identity" property="identity"/>
<result column="guest_type" property="guestType"/>
<result column="speech_topic" property="speechTopic"/>
<result column="speech_ppt" property="speechPpt"/>
<result column="photo" property="photo"/>
<result column="profile" property="profile"/>
<result column="have_meals" property="haveMeals"/>
<result column="hui_people" property="huiPeople"/>
<result column="check_in_hotel" property="checkInHotel"/>
<result column="in_hotel_time" property="inHotelTime"/>
<result column="out_hotel_time" property="outHotelTime"/>
<result column="room_layout" property="roomLayout"/>
<result column="pick_up" property="pickUp"/>
<result column="arrival_time" property="arrivalTime"/>
<result column="destination" property="destination"/>
<result column="arrival_shift" property="arrivalShift"/>
<result column="delivery_station" property="deliveryStation"/>
<result column="departure_time" property="departureTime"/>
<result column="departure_station" property="departureStation"/>
<result column="departure_shift" property="departureShift"/>
<result column="peer" property="peer"/>
<result column="remark" property="remark"/>
<result column="check_in" property="checkIn"/>
<result column="post_contact_id" property="postContactId"/>
<result column="post_contact_temporary_id" property="postContactTemporaryId"/>
<result column="post_contact_name" property="postContactName"/>
<result column="post_contact_address" property="postContactAddress"/>
<result column="pay_mode" property="payMode"/>
<result column="need_invoice" property="needInvoice"/>
<result column="payment_record" property="paymentRecord"/>
<result column="status" property="status"/>
<result column="new_company" property="newCompany"/>
<result column="new_contact" property="newContact"/>
<result column="amount_receivable" property="amountReceivable"/>
<result column="paid_amount" property="paidAmount"/>
<result column="pack" property="pack"/>
<result column="in_account" property="inAccount"/>
<result column="make_invoice" property="makeInvoice"/>
<result column="mail" property="mail"/>
<result column="charge_use" property="chargeUse"/>
<result column="dock_id" property="dockId"/>
<result column="dock_name" property="dockName"/>
<result column="check_result" property="checkResult"/>
<result column="invoice_amount" property="invoiceAmount"/>
</resultMap>
<select id="contractPage" resultMap="MeetingSituationContractVOMap">
select pms.*,ps.meeting_name
from pay_meeting_situation pms
left join pay_meeting ps on pms.meeting_id = ps.id
left join pay_income_contract_associated pica on pica.project_id = pms.id
<where>
pms.company_id = #{param.companyId}
<if test="param.meetingName != null and param.meetingName != ''">
and ps.meeting_name like concat('%',#{param.meetingName},'%')
</if>
<if test="param.particularYear != null and param.particularYear != ''">
and ps.particular_year = #{param.particularYear}
</if>
<choose>
<when test="param.startTime != null and param.startTime != '' and param.endTime != null and param.endTime != ''">
and not (ps.start_time > #{param.endTime} or ps.end_time <![CDATA[<]]> #{param.startTime})
</when>
<when test="param.startTime != null and param.startTime != ''">
and not (ps.end_time <![CDATA[<]]> #{param.startTime})
</when>
<when test="param.endTime != null and param.endTime != ''">
and not (ps.start_time > #{param.endTime})
</when>
</choose>
and pica.id is null
</where>
</select>
</mapper>
@@ -1,16 +1,9 @@
package com.jero.meeting.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.meeting.vo.AddDockVO;
import com.jero.meeting.vo.MergePayBillVO;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.meeting.vo.*;
import java.util.List;
@@ -61,4 +54,6 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
void mergePayBill(MergePayBillVO mergePayBillVO);
Integer countByMeetingId(String meetingId);
Page<MeetingSituationContractVO> contractPage(Page<MeetingSituationContractVO> page, MeetingSituationContractVO meetingSituationContractVO);
}
@@ -3,7 +3,6 @@ package com.jero.meeting.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
@@ -32,12 +31,7 @@ import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.standards.memberinfo.service.IMemberInfoService;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.jetbrains.annotations.NotNull;
@@ -277,6 +271,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
return count(wrapper);
}
@Override
public Page<MeetingSituationContractVO> contractPage(Page<MeetingSituationContractVO> page, MeetingSituationContractVO meetingSituationContractVO) {
return baseMapper.contractPage(page,meetingSituationContractVO);
}
/**
* 更新
*/
@@ -0,0 +1,334 @@
package com.jero.meeting.vo;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import com.jero.meeting.valid.group.CommonPeople;
import com.jero.meeting.valid.group.Guest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
import java.math.BigDecimal;
/**
* @author liJiaRao
* @date 2021-09-18 16:24
*/
@Data
public class MeetingSituationContractVO {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**会议id*/
@ApiModelProperty(value = "会议id")
@NotBlank(message = "会议项目不能为空")
private String meetingId;
private String meetingName;
/**企业id*/
@ApiModelProperty(value = "企业id")
@NotBlank(message = "企业名称不能为空")
@Size(max = 50, message = "企业名称最大为50字符")
private String companyId;
/**
* 企业临时id
*/
private String companyTemporaryId;
/**企业名称*/
@ApiModelProperty(value = "企业名称")
private String companyName;
/**企业联系人id*/
@ApiModelProperty(value = "企业联系人id")
@NotBlank(message = "企业联系人不能为空")
@Size(max = 50, message = "企业联系人最大为50字符")
private String companyContactId;
/**
* 企业联系人临时id
*/
private String companyContactTemporaryId;
/**企业联系人姓名*/
@ApiModelProperty(value = "企业联系人姓名")
private String companyContactName;
/**职务*/
@ApiModelProperty(value = "职务")
private String post;
/**手机号*/
@ApiModelProperty(value = "手机号")
private String phone;
/**邮箱*/
@ApiModelProperty(value = "邮箱")
private String email;
/**身份*/
@ApiModelProperty(value = "身份")
@Dict(dicCode = "meet_identify_type")
private Integer identity;
/**嘉宾类型*/
@ApiModelProperty(value = "嘉宾类型")
@NotNull(message = "请选择嘉宾类型",groups = Guest.class)
@Min(value = 1,groups = Guest.class)
@Max(value = 4,groups = Guest.class)
private Integer guestType;
/**演讲题目*/
@ApiModelProperty(value = "演讲题目")
@Size(max = 50, message = "演讲题目最大为50字符")
private String speechTopic;
/**演讲ppt*/
@ApiModelProperty(value = "演讲ppt")
//@NotBlank(message = "演讲ppt不能为空",groups = Guest.class)
private String speechPpt;
/**照片*/
@ApiModelProperty(value = "照片")
private String photo;
/**个人简介*/
@ApiModelProperty(value = "个人简介")
private String profile;
/**是否用餐*/
@ApiModelProperty(value = "是否用餐")
@Dict(dicCode = "yn")
private Integer haveMeals;
/**是否回民*/
@ApiModelProperty(value = "是否回民")
@Dict(dicCode = "yn")
private Integer huiPeople;
/**是否入住协议酒店*/
@ApiModelProperty(value = "是否入住协议酒店")
@Dict(dicCode = "yn")
private Integer checkInHotel;
/**入住酒店时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "入住酒店时间")
private java.util.Date inHotelTime;
/**离开酒店时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "离开酒店时间")
private java.util.Date outHotelTime;
/**房型*/
@ApiModelProperty(value = "房型")
private String roomLayout;
/**是否需要接站*/
@ApiModelProperty(value = "是否需要接站")
@Dict(dicCode = "yn")
private Integer pickUp;
/**抵达时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "抵达时间")
private java.util.Date arrivalTime;
/**到达站*/
@ApiModelProperty(value = "到达站")
private String destination;
/**到达班次*/
@ApiModelProperty(value = "到达班次")
private String arrivalShift;
/**是否需要送站*/
@ApiModelProperty(value = "是否需要送站")
@Dict(dicCode = "yn")
private Integer deliveryStation;
/**离开时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "离开时间")
private java.util.Date departureTime;
/**离开站*/
@ApiModelProperty(value = "离开站")
private String departureStation;
/**离开班次*/
@ApiModelProperty(value = "离开班次")
private String departureShift;
/**同行人*/
@ApiModelProperty(value = "同行人")
private String peer;
/**备注*/
@ApiModelProperty(value = "备注")
private String remark;
/**是否签到*/
@ApiModelProperty(value = "是否签到")
@Dict(dicCode = "yn")
private Integer checkIn;
/**邮寄联系人*/
@ApiModelProperty(value = "邮寄联系人")
private String postContactId;
/**
* 邮寄联系人临时id
*/
private String postContactTemporaryId;
/**
* 邮寄联系人姓名
*/
@ApiModelProperty(value = "邮寄联系人姓名")
private String postContactName;
/**邮寄联系人地址*/
@ApiModelProperty(value = "邮寄联系人地址")
private String postContactAddress;
/**缴费方式*/
@ApiModelProperty(value = "缴费方式")
@NotNull(message = "缴费方式不能为空",groups = CommonPeople.class)
@Min(1)
@Max(3)
@Dict(dicCode = "meeting_pay_type")
private Integer payMode;
/**需要发票*/
@ApiModelProperty(value = "需要发票")
@Min(0)
@Max(2)
@Dict(dicCode = "invoice_type")
private Integer needInvoice;
/**付款凭证*/
@ApiModelProperty(value = "付款凭证")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String paymentRecord;
/**状态(1未导入、2已导入、3参会人)*/
@ApiModelProperty(value = "状态(1未导入、2已导入、3参会人)")
private Integer status;
/**是否为新增企业*/
@ApiModelProperty(value = "是否为新增企业")
private Integer newCompany;
/**是否为新增联系人*/
@ApiModelProperty(value = "是否为新增联系人")
private Integer newContact;
/**
* 应收金额
*/
@ApiModelProperty(value = "应收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal amountReceivable;
/**
* 实收金额
*/
@ApiModelProperty(value = "实收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal paidAmount;
/**打包*/
@ApiModelProperty(value = "打包")
private Integer pack;
/**到账*/
@ApiModelProperty(value = "到账")
private Integer inAccount;
/**开票*/
@ApiModelProperty(value = "开票")
private Integer makeInvoice;
/**邮寄*/
@ApiModelProperty(value = "邮寄")
private Integer mail;
/**来款用途(字典表)*/
@ApiModelProperty(value = "来款用途(字典表)")
private Integer chargeUse;
/**对接人id*/
@ApiModelProperty(value = "对接人id")
private String dockId;
/**对接人姓名*/
@ApiModelProperty(value = "对接人姓名")
private String dockName;
/**审核状态*/
@ApiModelProperty(value = "审核状态")
@Dict(dicCode = "signup_status")
private Integer checkResult;
/**开票金额*/
@ApiModelProperty(value = "开票金额")
@DecimalMax(value = "9999999999.99",message = "开票金额格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal invoiceAmount;
/**开始时间*/
@Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "开始时间")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "结束时间")
private java.util.Date endTime;
/**年份*/
@ApiModelProperty(value = "年份")
private String particularYear;
}