diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java index 0ff0c727..1746586c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java @@ -35,7 +35,7 @@ public interface PayMeetingMapper extends BaseMapper { IPage workGroupPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); - IPage draftGroupPage(Page page,@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + IPage draftGroupPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); IPage standardPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java index c4ac1763..bdc956de 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingSituationMapper.java @@ -38,4 +38,11 @@ public interface PayMeetingSituationMapper extends BaseMapper getMeetingPackStatistics(@Param(Constants.WRAPPER) QueryWrapper query); MeetingPackStatistics getMeetingPackStatisticsCount(@Param(Constants.WRAPPER) QueryWrapper query); + + /** + * 根据年份获取参会人 + * @param year 年份 + */ + List listByYear(@Param("year")String year); + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml index cdd5a5b0..f87edeed 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml @@ -1,6 +1,53 @@ + + id, + create_by, + create_time, + update_by, + update_time, + meeting_id, + company_id, + company_name, + company_contact_id, + company_contact_name, + post, + phone, + email, + `identity`, + guest_type, + speech_topic, + speech_ppt, + photo, + profile, + have_meals, + hui_people, + check_in_hotel, + in_hotel_time, + out_hotel_time, + room_layout, + arrival_time, + destination, + arrival_shift, + delivery_station, + departure_time, + departure_station, + departure_shift, + remark, + check_in, + pick_up, + post_contact_id, + post_contact_address, + pay_mode, + need_invoice, + payment_record, + `status`, + pack, + in_account, + make_invoice, + mail + @@ -202,4 +249,14 @@ from v_meeting_pack_statistical ${ew.customSqlSegment} + + + 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 90be29c2..d33359f3 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 @@ -77,6 +77,7 @@ import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.service.IPayPaymentRecordService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayWorkingGroupSubItemContacts; +import com.jero.project.service.AnnualDataLockingService; import com.jero.project.service.IPayWorkingGroupSubItemContactsService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.standards.memberinfo.service.IMemberInfoService; @@ -173,7 +174,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl { + Integer countByYear(@Param("year")String year); + + } \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml index 34965b4f..84f8ae78 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/AnnualDataLockingMapper.xml @@ -15,4 +15,15 @@ id, `year`, create_by, create_time, update_by, update_time + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java index dfa8411a..713b155d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/AnnualDataLockingService.java @@ -1,11 +1,41 @@ package com.jero.project.service; +import com.jero.common.common.RoleCommon; +import com.jero.common.constant.CacheConstant; +import com.jero.common.service.ProjectDetailService; +import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.vo.LoginUser; +import com.jero.meeting.entity.PayMeetingSituation; +import com.jero.meeting.mapper.PayMeetingMapper; +import com.jero.meeting.mapper.PayMeetingSituationMapper; +import com.jero.meeting.service.IPayMeetingSituationService; +import com.jero.member.mapper.PayMemberProjectSubitemMapper; +import com.jero.member.mapper.TbCertificatePaymentMapper; +import com.jero.member.mapper.TbMemberProjectSubitemMapper; +import com.jero.member.service.IPayMemberProjectService; +import com.jero.member.service.ITbMemberProjectSubitemService; +import com.jero.modules.system.service.ISysUserService; +import com.jero.project.mapper.PayCommonProjectMapper; +import com.jero.project.mapper.PayWorkingGroupMapper; +import com.jero.project.mapper.PayWorkingGroupSubItemMapper; +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.apache.shiro.SecurityUtils; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; -import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.project.mapper.AnnualDataLockingMapper; import com.jero.project.entity.AnnualDataLocking; + +import javax.annotation.Resource; + /** * *@author liJiaRao @@ -13,16 +43,91 @@ import com.jero.project.entity.AnnualDataLocking; */ @Service public class AnnualDataLockingService extends ServiceImpl { + @Resource + private ISysUserService sysUserService; + @Resource + private ProjectDetailService projectDetailService; + @Resource + private PayCommonProjectMapper payCommonProjectMapper; + @Resource + private PayWorkingGroupSubItemMapper payWorkingGroupSubItemMapper; + @Resource + private PayWorkingGroupMapper payWorkingGroupMapper; + @Resource + private PayMeetingSituationMapper meetingSituationMapper; + @Resource + private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper; + @Resource + private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper; + @Resource + private TbCertificatePaymentMapper certificatePaymentMapper; + @Resource + private ISysBaseAPI sysBaseAPI; + @Resource + private IPayMemberProjectService payMemberProjectService; + @Resource + private ITbMemberProjectSubitemService tbMemberProjectSubitemService; + @Resource + private PayMeetingMapper meetingMapper; + @Resource + private IPayMeetingSituationService meetingSituationService; + @Resource + private IPayCompanyManagementTemporaryService companyTemporaryService; + @Resource + private IPayContactsManagementTemporaryService contactsTemporaryService; + public void add(AnnualDataLocking annualDataLocking) { this.save(annualDataLocking); + String year = annualDataLocking.getYear(); + //会议项目 + List meetingSituations = meetingSituationMapper.listByYear(year); + for (PayMeetingSituation meetingSituation : meetingSituations) { + String companyId = meetingSituation.getCompanyId(); + String companyContactId = meetingSituation.getCompanyContactId(); + String postContactId = meetingSituation.getPostContactId(); + //获得临时表id + PayCompanyManagementTemporary companyTemporary = companyTemporaryService.insertCompanyManagementTemporary(companyId); + PayContactsManagementTemporary contactsTemporary = contactsTemporaryService.insertContactsManagementTemporary(companyContactId); + PayContactsManagementTemporary contactsTemporary1 = contactsTemporaryService.insertContactsManagementTemporary(postContactId); + //更新临时表id + PayMeetingSituation update = new PayMeetingSituation(); + update.setCompanyTemporaryId(companyTemporary.getId()); + update.setCompanyContactTemporaryId(contactsTemporary.getId()); + update.setPostContactTemporaryId(contactsTemporary1.getId()); + meetingSituationMapper.updateById(update); + } + + } + + /** + * 查询年份是否存在 + */ + @Cacheable(cacheNames= "annualDataLocking", key="#year") + public boolean checkYear(String year){ + return baseMapper.countByYear(year) > 0; } public void editById(AnnualDataLocking annualDataLocking) { this.updateById(annualDataLocking); } - + @CacheEvict(value="annualDataLocking", allEntries=true) public void deleteById(String id) { + AnnualDataLocking annualDataLocking = this.getById(id); this.removeById(id); + String year = annualDataLocking.getYear(); + //会议项目 + List meetingSituations = meetingSituationMapper.listByYear(year); + for (PayMeetingSituation meetingSituation : meetingSituations) { + String companyId = meetingSituation.getCompanyId(); + String companyContactId = meetingSituation.getCompanyContactId(); + String postContactId = meetingSituation.getPostContactId(); + //更新临时表id + PayMeetingSituation update = new PayMeetingSituation(); + update.setCompanyTemporaryId(companyId); + update.setCompanyContactTemporaryId(companyContactId); + update.setPostContactTemporaryId(postContactId); + meetingSituationMapper.updateById(update); + } } public void deleteByIds(List idList) {