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 72f806cd..2ddf6f3a 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 @@ -232,5 +232,17 @@ public class PayMeetingSituationController extends JeroController signIn(@RequestBody SignInVO signInVO) { + ValidUtil.validate(signInVO); + payMeetingSituationService.signIn(signInVO); + return Result.OK("合并开票成功!"); + } + } 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 a3a3b482..4ea58e85 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 @@ -56,4 +56,6 @@ public interface IPayMeetingSituationService extends IService contractPage(Page page, MeetingSituationContractVO meetingSituationContractVO); + + void signIn(SignInVO signInVO); } 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 a476d11b..a9c6fc03 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 @@ -39,6 +39,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.Calendar; import java.util.Date; import java.util.List; @@ -98,13 +99,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingSituation::getMeetingId,meetingId); + wrapper.eq(PayMeetingSituation::getMeetingId, meetingId); return count(wrapper); } @Override public Page contractPage(Page page, MeetingSituationContractVO meetingSituationContractVO) { - return baseMapper.contractPage(page,meetingSituationContractVO); + return baseMapper.contractPage(page, meetingSituationContractVO); + } + + @Override + public void signIn(SignInVO signInVO) { + String meetingId = signInVO.getMeetingId(); + + PayMeeting payMeeting = meetingService.getById(meetingId); + if (payMeeting == null) { + throw new JeroBootException("会议不存在"); + } + if (!belongCalendar(new Date(),payMeeting.getStartSignInTime(),payMeeting.getEndSignInTime())) { + throw new JeroBootException("不在会议可签到时间内,无法签到"); + } + String companyContactId = signInVO.getCompanyContactId(); + PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId); + if (contactsManagement == null) { + throw new JeroBootException("参会人不存在"); + + } + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingSituation::getMeetingId, meetingId); + wrapper.eq(PayMeetingSituation::getCompanyContactId, companyContactId); + PayMeetingSituation meetingSituation = getOne(wrapper); + if (meetingSituation == null) { + throw new JeroBootException("会议不存在此参会人"); + + } + meetingSituation.setCheckIn(PayProjectCommon.YES); + saveOrUpdate(meetingSituation); } /** @@ -440,9 +472,9 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingSituation::getMeetingId,meetingId); - wrapper.eq(PayMeetingSituation::getCompanyContactId,contactsManagementId); - if ((count(wrapper)>0)) { + wrapper.eq(PayMeetingSituation::getMeetingId, meetingId); + wrapper.eq(PayMeetingSituation::getCompanyContactId, contactsManagementId); + if ((count(wrapper) > 0)) { throw new JeroBootException("联系人不能多次参加相同会议"); } } @@ -477,6 +509,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.eq(PayIncomeContractAssociated::getProjectId,id); + wrapper1.eq(PayIncomeContractAssociated::getProjectId, id); PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(wrapper1); - if (ObjectUtil.isNotNull(payIncomeContractAssociated)){ + if (ObjectUtil.isNotNull(payIncomeContractAssociated)) { throw new JeroBootException(payMeetingSituation.getCompanyContactName() + " 参会人已经和合同关联,无法删除"); } //如果有打包,删除打包关联 @@ -543,5 +576,29 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl