diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index 524b35a4..6a13d1d4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -4,7 +4,6 @@ import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpUtil; @@ -12,6 +11,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.Result; +import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; @@ -19,6 +19,9 @@ import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.util.oConvertUtils; +import com.jero.data.entity.PayCaseCommittee; +import com.jero.data.entity.PayCaseCommitteeSubitem; +import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; @@ -30,7 +33,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; -import com.jero.meeting.vo.WorkingGroupMeetingExcel; +import com.jero.meeting.vo.excel.*; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.system.volid.group.UpdateGroup; @@ -72,6 +75,8 @@ public class PayMeetingController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); List pageList = payMeetingService.list(queryWrapper); - List exportList = new ArrayList<>(); + List exportList = new ArrayList<>(); // 过滤选中数据 String selections = request.getParameter("selections"); if (oConvertUtils.isNotEmpty(selections)) { List selectionList = Arrays.asList(selections.split(",")); pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); } + if (pageList.isEmpty()){ + throw new JeroBootException("没有数据"); + } + String meetingType = pageList.get(0).getMeetingType().toString(); for (PayMeeting meeting : pageList) { //查询会议负责人 LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); @@ -239,29 +248,78 @@ public class PayMeetingController extends JeroController()); //标协会议查询酒店联系人列表 - if (meetingType.equals(MeetingCommon.STANDARD_MEETING)) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); - List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); - payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); - //标协会议类型 - String tbMeetingType = meeting.getTbMeetingType().toString(); - String type = sysBaseApi.translateDict("standard_meeting_type", tbMeetingType); - payMeetingVO.setTbMeetingType(type); - // 工作组项目查询工作组项目名 - } else if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { - String workingGroupId = meeting.getWorkingGroupId(); - PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); - payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); + switch (meetingType) { + case MeetingCommon.STANDARD_MEETING: + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + //标协会议类型 + String tbMeetingType = meeting.getTbMeetingType().toString(); + String type = sysBaseApi.translateDict("standard_meeting_type", tbMeetingType); + payMeetingVO.setTbMeetingType(type); + //保存数据 + StandardsMeetingExcel standardsMeetingExcel = new StandardsMeetingExcel(); + BeanUtils.copyProperties(payMeetingVO, standardsMeetingExcel); + exportList.add(standardsMeetingExcel); + // 工作组项目查询工作组项目名 + break; + case MeetingCommon.WORKING_GROUP_MEETING: + String workingGroupId = meeting.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); + //保存数据 + WorkingGroupMeetingExcel workingGroupMeetingExcel = new WorkingGroupMeetingExcel(); + BeanUtils.copyProperties(payMeetingVO, workingGroupMeetingExcel); + exportList.add(workingGroupMeetingExcel); + break; + case MeetingCommon.INTERNATIONAL_MEETING: + //保存数据 + InternationalMeetingExcel internationalMeetingExcel = new InternationalMeetingExcel(); + BeanUtils.copyProperties(payMeetingVO, internationalMeetingExcel); + exportList.add(internationalMeetingExcel); + break; + case MeetingCommon.OTHER_MEETING: + //保存数据 + BaseExcel baseExcel = new BaseExcel(); + BeanUtils.copyProperties(payMeetingVO, baseExcel); + exportList.add(baseExcel); + break; + case MeetingCommon.COMMITTEE_MEETING: + String caseCommitteeId = meeting.getCaseCommitteeId(); + PayCaseCommittee payCaseCommittee = payCaseCommitteeService.getById(caseCommitteeId); + payMeetingVO.setCaseCommitteeName(payCaseCommittee.getName()); + + CommitteeMeetingExcel committeeMeetingExcel = new CommitteeMeetingExcel(); + BeanUtils.copyProperties(payMeetingVO, committeeMeetingExcel); + exportList.add(committeeMeetingExcel); + break; } - exportList.add(payMeetingVO); } - return super.exportListXls(exportList, PayMeetingVO.class, "会议管理"); + Class classToExport = null; + switch (meetingType) { + case MeetingCommon.WORKING_GROUP_MEETING: + classToExport = WorkingGroupMeetingExcel.class; + break; + case MeetingCommon.STANDARD_MEETING: + classToExport = StandardsMeetingExcel.class; + break; + case MeetingCommon.INTERNATIONAL_MEETING: + classToExport = InternationalMeetingExcel.class; + break; + case MeetingCommon.OTHER_MEETING: + classToExport = BaseExcel.class; + break; + case MeetingCommon.COMMITTEE_MEETING: + classToExport = CommitteeMeetingExcel.class; + break; + } + return super.exportListXls(exportList, classToExport, "会议管理"); } /** * 导出excel @@ -298,22 +356,6 @@ public class PayMeetingController extends JeroController importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, PayMeeting.class); - } - /** * 上传资料 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java index 19d2f8da..f093fe20 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingSituation.java @@ -286,6 +286,10 @@ public class PayMeetingSituation implements Serializable { @TableField(updateStrategy = FieldStrategy.IGNORED) private String paymentRecord; + /**订单后4位编码*/ + @ApiModelProperty(value = "订单后4位编码") + private String orderCode; + /**状态(1未导入、2已导入、3参会人)*/ @ApiModelProperty(value = "状态(1未导入、2已导入、3参会人)") private Integer status; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index ee06fee3..1483b92b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -40,11 +40,13 @@ import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.standards.memberinfo.service.IMemberInfoService; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; import com.jero.temporary.service.IPayContactsManagementTemporaryService; +import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -147,8 +149,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl 0)) { - throw new JeroBootException("报名截止时间为:"+DateUtil.formatDate(registerDeadline)); + if ((DateUtil.compare(date, registerDeadline) > 0)) { + throw new JeroBootException("报名截止时间为:" + DateUtil.formatDate(registerDeadline)); } //会议类型 Integer meetingType = payMeeting.getMeetingType(); @@ -189,7 +191,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl payPaymentRecords = new ArrayList<>(); PayPaymentRecord payPaymentRecord = new PayPaymentRecord(); payPaymentRecord.setProjectId(meetingSituation.getId()); payPaymentRecord.setProjectType(Integer.parseInt(PayIncomeContractCommon.PROJECT_TYPE3)); payPaymentRecord.setAmountReceived(meetingSituation.getAmountReceivable()); payPaymentRecord.setPaymentDate(new Date()); - -// payPaymentRecordService.addAmountReceived(payPaymentRecord); + payPaymentRecords.add(payPaymentRecord); + //添加来款 + payPaymentRecordService.addAmountReceived(payPaymentRecords); } @Override @@ -224,18 +228,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payMeeting.getWorkingGroupId()); - wrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payMeetingSituation1.getCompanyId()); - wrapper.and(i -> i.eq(PayWorkingGroupSubItem::getContactsIdOne,payMeetingSituation1.getCompanyContactId()) + if (meetingType.equals(Integer.parseInt(MeetingCommon.WORKING_GROUP_MEETING))) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId, payMeeting.getWorkingGroupId()); + wrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId, payMeetingSituation1.getCompanyId()); + wrapper.and(i -> i.eq(PayWorkingGroupSubItem::getContactsIdOne, payMeetingSituation1.getCompanyContactId()) .or() - .eq(PayWorkingGroupSubItem::getContactsIdTwo,payMeetingSituation1.getCompanyContactId()) + .eq(PayWorkingGroupSubItem::getContactsIdTwo, payMeetingSituation1.getCompanyContactId()) .or() - .eq(PayWorkingGroupSubItem::getContactsIdThree,payMeetingSituation1.getCompanyContactId()) + .eq(PayWorkingGroupSubItem::getContactsIdThree, payMeetingSituation1.getCompanyContactId()) ); int count = payWorkingGroupSubItemService.count(wrapper); - if (count<=0){ + if (count <= 0) { payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0); } - }else if (meetingType.equals(Integer.parseInt(MeetingCommon.COMMITTEE_MEETING))){ - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayCaseCommitteeSubitem::getCommitteeId,payMeeting.getCaseCommitteeId()); - wrapper.eq(PayCaseCommitteeSubitem::getCompanyId,payMeetingSituation1.getCompanyId()); - wrapper.eq(PayCaseCommitteeSubitem::getContactsId,payMeetingSituation1.getCompanyContactId()); + } else if (meetingType.equals(Integer.parseInt(MeetingCommon.COMMITTEE_MEETING))) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayCaseCommitteeSubitem::getCommitteeId, payMeeting.getCaseCommitteeId()); + wrapper.eq(PayCaseCommitteeSubitem::getCompanyId, payMeetingSituation1.getCompanyId()); + wrapper.eq(PayCaseCommitteeSubitem::getContactsId, payMeetingSituation1.getCompanyContactId()); int count = payCaseCommitteeSubitemService.count(wrapper); - if (count<=0){ + if (count <= 0) { payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0); } } @@ -638,6 +645,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl hotelContactsList; + + /**备注*/ + @Excel(name = "备注", width = 15) + private String remark; +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java new file mode 100644 index 00000000..94cb0719 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java @@ -0,0 +1,80 @@ +package com.jero.meeting.vo.excel; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.math.BigDecimal; + + +/** + * @author liJiaRao + * @date 2021-09-07 18:29 + */ +@Data +public class WorkingGroupMeetingExcel{ + + /**工作组项目名称*/ + @Excel(name = "工作组项目名称", width = 15) + private String workingGroupName; + + /**会议名称*/ + @Excel(name = "会议名称", width = 15) + private String meetingName; + + /**会议类型*/ + @Excel(name = "会议类型", width = 15) + private String meetingType; + + /**开始时间*/ + @Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + private java.util.Date startTime; + + /**结束时间*/ + @Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + private java.util.Date endTime; + + /**年份*/ + @Excel(name = "年份", width = 15) + private String particularYear; + + /**召开地点*/ + @Excel(name = "召开地点", width = 15) + private String venue; + + /**详细地址*/ + @Excel(name = "详细地址", width = 15) + private String address; + + /**预计参加人数*/ + @Excel(name = "预计参加人数", width = 15) + private String estimatedNumber; + + /**会议内容*/ + @Excel(name = "会议内容", width = 15) + private String meetingContent; + + /**报名截止时间*/ + @Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + private java.util.Date registerDeadline; + + /**会议费用*/ + @Excel(name = "会议费用", width = 15) + private BigDecimal meetingCosts; + + /**会议负责人*/ + @Excel(name = "会议负责人", width = 15) + private String directorName; + + /**会议负责人手机号*/ + @Excel(name = "会议负责人手机号", width = 15) + private String directorPhone; + + /**备注*/ + @Excel(name = "备注", width = 15) + private String remark; + + /**通知正文*/ + @Excel(name = "通知正文", width = 15,orderNum = "1") + private String notice; + +}