From 43fdd97b8d427302f2bc05c4869447ac6bba5534 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Sat, 18 Sep 2021 16:10:54 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E4=BC=9A=E8=AE=AE=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=97=B6=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E6=9C=89=E5=8F=82?= =?UTF-8?q?=E4=BC=9A=E4=BA=BA=EF=BC=8C=E5=8F=82=E4=BC=9A=E4=BA=BA=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=97=B6=E5=88=A4=E6=96=AD=E6=89=93=E5=8C=85=E5=92=8C?= =?UTF-8?q?=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PayMeetingSituationController.java | 16 +++ .../service/IPayMeetingSituationService.java | 1 + .../service/impl/PayMeetingServiceImpl.java | 15 +++ .../impl/PayMeetingSituationServiceImpl.java | 118 +++++++++++------- .../memberinfo/mapper/MemberInfoMapper.java | 1 + .../mapper/xml/MemberInfoMapper.xml | 8 +- .../service/impl/MemberInfoServiceImpl.java | 5 +- 7 files changed, 117 insertions(+), 47 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java index e7dbcbee..738f8c67 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingSituationController.java @@ -57,6 +57,22 @@ public class PayMeetingSituationController extends JeroController contractPage(PayMeetingSituation payMeetingSituation, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingSituationService.page(page, queryWrapper); + return Result.OK(pageList); + } + /** * 分页列表查询 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java index fbc523af..889cc5c7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java @@ -60,4 +60,5 @@ public interface IPayMeetingSituationService extends IService0){ + throw new JeroBootException("该会议有参会人无法删除"); + } PayMeeting payMeeting = getById(id); if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { stableCrossTrainingService.delete(id); @@ -258,6 +262,17 @@ public class PayMeetingServiceImpl extends ServiceImpl ids) { + List meetingList = new ArrayList<>(); + for (String id : ids) { + Integer integer = payMeetingSituationService.countByMeetingId(id); + if (integer>0){ + PayMeeting payMeeting = getById(id); + meetingList.add(payMeeting.getMeetingName()); + } + } + if (meetingList.size()>0){ + throw new JeroBootException(meetingList+"会议下有参会人,无法删除"); + } for (String id : ids) { PayMeeting payMeeting = getById(id); if (payMeeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { 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 46efec9e..cdfa9bc2 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 @@ -2,6 +2,7 @@ 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; @@ -13,6 +14,8 @@ import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.contract.common.PayIncomeContractCommon; +import com.jero.contract.entity.PayIncomeContractAssociated; +import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.mail.entity.PayMailBill; import com.jero.mail.service.IPayMailBillService; import com.jero.meeting.common.MeetingCommon; @@ -24,6 +27,8 @@ import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.valid.group.*; import com.jero.meeting.vo.*; +import com.jero.pack.entity.PayPackCompanyProject; +import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.service.IPayPaymentRecordService; import com.jero.project.common.PayProjectCommon; @@ -78,6 +83,10 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingSituation::getMeetingId,meetingId); + return count(wrapper); + } + /** * 更新 */ @@ -345,6 +380,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingSituation::getMeetingId,meetingId); + wrapper.eq(PayMeetingSituation::getCompanyContactId,contactsManagementId); + if ((count(wrapper)>0)) { + throw new JeroBootException("联系人不能多次参加相同会议"); } } @@ -437,28 +456,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl ids) { + for (String id : ids) { + removeSituationPack(id); + } removeByIds(ids); } + /** + * 解除参会人打包 + * @param id + */ + private void removeSituationPack(String id) { + PayMeetingSituation payMeetingSituation = getById(id); + Integer inAccount = payMeetingSituation.getInAccount(); + if (!inAccount.equals(PayProjectCommon.IN_ACCOUNT0)) { + throw new JeroBootException(payMeetingSituation.getCompanyContactName() + " 参会人已经有到账,无法删除"); + } + if (!payMeetingSituation.getMakeInvoice().equals(PayProjectCommon.MAKE_INVOICE0)) { + throw new JeroBootException(payMeetingSituation.getCompanyContactName() + " 该参会人已经有开票,无法删除"); + } + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(PayIncomeContractAssociated::getProjectId,id); + PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(wrapper1); + if (ObjectUtil.isNotNull(payIncomeContractAssociated)){ + throw new JeroBootException(payMeetingSituation.getCompanyContactName() + " 参会人已经和合同关联,无法删除"); + } + //如果有打包,删除打包关联 + if (payMeetingSituation.getPack().equals(PayProjectCommon.PACKAGING1)) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayPackCompanyProject::getProjectId, id); + PayPackCompanyProject payPackCompanyProject = payPackCompanyProjectService.getOne(wrapper); + payPackCompanyProjectService.removePayPackCompanyProject(payPackCompanyProject); + } + } + /** * 通过id查询 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/MemberInfoMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/MemberInfoMapper.java index 797a290a..6944712e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/MemberInfoMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/MemberInfoMapper.java @@ -16,5 +16,6 @@ import java.util.List; * @Version: V1.0 */ public interface MemberInfoMapper extends BaseMapper { + Integer countByCompanyName(@Param("companyName")String companyName); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/xml/MemberInfoMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/xml/MemberInfoMapper.xml index a39c8513..4df7d784 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/xml/MemberInfoMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/mapper/xml/MemberInfoMapper.xml @@ -1,5 +1,11 @@ - + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java index f6c5c5be..3c6a2439 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/standards/memberinfo/service/impl/MemberInfoServiceImpl.java @@ -23,9 +23,6 @@ public class MemberInfoServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(MemberInfo::getCompanyName, companyName); - wrapper.isNotNull(MemberInfo::getMemberType); - return count(wrapper); + return baseMapper.countByCompanyName(companyName); } }