From 5faa0c667137d93c0685b290cf621fa85b3e4d37 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 5 Jan 2022 11:58:49 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E4=BC=9A=E8=AE=AE=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E4=BA=BA=E6=9D=83=E9=99=90=EF=BC=8C=E6=9F=A5=E8=AF=A2=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xml/PayCaseCommitteeSubitemMapper.xml | 10 +++- .../xml/PayCaseCouncilSubitemMapper.xml | 10 +++- .../controller/PayMeetingController.java | 16 +++++- .../com/jero/meeting/entity/PayMeeting.java | 3 ++ .../jero/meeting/mapper/PayMeetingMapper.java | 2 +- .../meeting/mapper/xml/PayMeetingMapper.xml | 5 +- .../service/impl/PayMeetingServiceImpl.java | 50 +++++++++++++++---- .../vo/excel/CommitteeMeetingExcel.java | 7 +++ .../meeting/vo/excel/CouncilMeetingExcel.java | 7 +++ .../vo/excel/InternationalMeetingExcel.java | 7 +++ .../meeting/vo/excel/OtherMeetingExcel.java | 7 +++ .../vo/excel/StandardsMeetingExcel.java | 5 ++ .../vo/excel/WorkingGroupMeetingExcel.java | 7 +++ .../mapper/xml/PayWorkingGroupMapper.xml | 9 +++- 14 files changed, 127 insertions(+), 18 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCommitteeSubitemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCommitteeSubitemMapper.xml index ac6540e0..3845310a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCommitteeSubitemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCommitteeSubitemMapper.xml @@ -20,7 +20,10 @@ left JOIN pay_case_committee_subitem pm on (pe.id = pm.committee_id) left JOIN pay_contacts_management pt on (pm.contacts_id = pt.id) left join pay_company_management pcm on(pm.company_id=pcm.id) - left join pay_meeting pme on (pe.id=pme.case_committee_id) + + left join pay_meeting pme on (pe.id=pme.case_committee_id) + left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id + AND pt.name LIKE CONCAT('%',#{name},'%') @@ -32,7 +35,10 @@ AND pe.name LIKE CONCAT('%',#{fenBiaoWeiName},'%') - AND (pe.create_by_id = #{userId} or pme.director_id = #{userId}) + AND (pe.create_by_id = #{userId} + or pme.director_id = #{userId} + OR pmc.meeting_contacts_id = #{userId} + ) group by pe.id diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCouncilSubitemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCouncilSubitemMapper.xml index c137eb83..3b0b1742 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCouncilSubitemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/data/mapper/xml/PayCaseCouncilSubitemMapper.xml @@ -20,7 +20,10 @@ left JOIN pay_case_council_subitem pm on (pe.id = pm.council_id) left JOIN pay_contacts_management pt on (pm.contacts_id = pt.id) left join pay_company_management pcm on(pm.company_id=pcm.id) - left join pay_meeting pme on (pe.id=pme.council_id) + + left join pay_meeting pme on (pe.id=pme.council_id) + left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id + AND pt.name LIKE CONCAT('%',#{contactsNames},'%') @@ -32,7 +35,10 @@ AND pe.name LIKE CONCAT('%',#{councilNames},'%') - AND (pe.create_by_id = #{userId} or pme.director_id = #{userId}) + AND (pe.create_by_id = #{userId} + or pme.director_id = #{userId} + OR pmc.meeting_contacts_id = #{userId} + ) group by pe.id 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 098ec9d8..10df7b9a 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 @@ -192,10 +192,24 @@ public class PayMeetingController extends JeroController wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId); List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); meeting.setHotelContactsList(payMeetingHotelContactsList); + //查询会议联系人列表 + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId); + List meetingContactsList = meetingContactsService.list(queryWrapper1); + for (PayMeetingContacts payMeetingContacts : meetingContactsList) { + String meetingContactsId = payMeetingContacts.getMeetingContactsId(); + LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId); + payMeetingContacts.setMeetingContactsName(loginUser.getRealname()); + String phone = loginUser.getPhone(); + payMeetingContacts.setMeetingContactsPhone(PasswordUtil.decrypt(phone)); + } + meeting.setMeetingContactsList(meetingContactsList); } return Result.OK(pageList); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java index 2808c1cf..6bf40aa2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java @@ -321,4 +321,7 @@ public class PayMeeting implements Serializable { @TableField(exist = false) @Dict(dicCode = "sign_up_status") private Integer signUpStatus; + + @ApiModelProperty(value = "会议联系人") + private List meetingContactsList; } 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 3df90a74..d172e9b9 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 @@ -31,7 +31,7 @@ public interface PayMeetingMapper extends BaseMapper { @Param("now") Date now, @Param("contactId") String contactId); - IPage internelPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + IPage internationalPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); IPage workGroupPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml index 8155eb54..8f048777 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml @@ -201,10 +201,11 @@ ${ew.customSqlSegment} - select distinct pm.* from pay_meeting pm left join pay_meeting_situation pms on pm.id = pms.meeting_id + left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id ${ew.customSqlSegment} @@ -213,6 +214,7 @@ from pay_meeting pm left join pay_meeting_situation pms on pm.id = pms.meeting_id left join pay_working_group pwg on pwg.id = pm.working_group_id + left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id ${ew.customSqlSegment} @@ -220,6 +222,7 @@ select distinct pm.* from pay_meeting pm left join tb_member_project tmp on tmp.id = pm.standards_id + left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id ${ew.customSqlSegment} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index ed8a7a4c..4dc259c4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -39,7 +39,6 @@ import com.jero.meeting.mapper.PayMeetingMapper; import com.jero.meeting.service.*; import com.jero.meeting.valid.group.CaseCommitteeMeeting; import com.jero.meeting.valid.group.InternationalMeeting; -import com.jero.meeting.valid.group.StandardMeeting; import com.jero.meeting.valid.group.WorkingGroupMeeting; import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.PublishReminderVO; @@ -286,13 +285,16 @@ public class PayMeetingServiceImpl extends ServiceImpl meetingContactsList = payMeetingVO.getMeetingContactsList(); + if (meetingContactsList == null) { + return; + } for (PayMeetingContacts payMeetingContacts : meetingContactsList) { String meetingContactsId = payMeetingContacts.getMeetingContactsId(); LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId); if (loginUser == null) { throw new JeroBootException("会议联系人不存在"); } else { - payMeetingContacts.setMeetingContactsName(loginUser.getUsername()); + payMeetingContacts.setMeetingContactsName(loginUser.getRealname()); payMeetingContacts.setMeetingContactsPhone(loginUser.getPhone()); } } @@ -793,6 +795,8 @@ public class PayMeetingServiceImpl extends ServiceImpl a.eq("director_id", sysUser.getId()) .or() .eq("dock_id", sysUser.getId()) + .or() + .eq("pmc.meeting_contacts_id", sysUser.getId()) ); - pageList = baseMapper.internelPage(page,queryWrapper); + pageList = baseMapper.internationalPage(page,queryWrapper); }else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)) { queryWrapper.and( a -> a.eq("tmp.director_id", sysUser.getId()) .or() .eq("pm.director_id", sysUser.getId()) + .or() + .eq("pmc.meeting_contacts_id", sysUser.getId()) ); pageList = baseMapper.standardPage(page,queryWrapper); }else { @@ -826,13 +834,24 @@ public class PayMeetingServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); - List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); - meeting.setHotelContactsList(payMeetingHotelContactsList); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + meeting.setHotelContactsList(payMeetingHotelContactsList); + //查询会议联系人列表 + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId); + List meetingContactsList = meetingContactsService.list(queryWrapper1); + for (PayMeetingContacts payMeetingContacts : meetingContactsList) { + String meetingContactsId = payMeetingContacts.getMeetingContactsId(); + LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId); + payMeetingContacts.setMeetingContactsName(loginUser.getRealname()); + String phone = loginUser.getPhone(); + payMeetingContacts.setMeetingContactsPhone(PasswordUtil.decrypt(phone)); } + meeting.setMeetingContactsList(meetingContactsList); } return pageList; } @@ -977,11 +996,24 @@ public class PayMeetingServiceImpl extends ServiceImpl()); + String meetingId = meeting.getId(); //会议查询酒店联系人列表 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId); List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + //查询会议联系人列表 + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId); + List meetingContactsList = meetingContactsService.list(queryWrapper1); + for (PayMeetingContacts payMeetingContacts : meetingContactsList) { + String meetingContactsId = payMeetingContacts.getMeetingContactsId(); + LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId); + payMeetingContacts.setMeetingContactsName(loginUser.getRealname()); + String phone = loginUser.getPhone(); + payMeetingContacts.setMeetingContactsPhone(PasswordUtil.decrypt(phone)); + } + payMeetingVO.setMeetingContactsList(meetingContactsList); switch (meetingType) { case MeetingCommon.STANDARD_MEETING: //标协会议类型 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java index 8c4055fa..20525a4a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java @@ -1,8 +1,10 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import java.math.BigDecimal; import java.util.List; @@ -82,6 +84,11 @@ public class CommitteeMeetingExcel { * 会议关联酒店联系人列表 */ private List hotelContactsList; + /** + * 会议联系人列表 + */ + @ExcelCollection(name = "会议联系人列表") + private List meetingContactsList; /**备注*/ @Excel(name = "备注", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java index e3079a9f..2aee7ed4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java @@ -1,8 +1,10 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import java.math.BigDecimal; import java.util.List; @@ -82,6 +84,11 @@ public class CouncilMeetingExcel { * 会议关联酒店联系人列表 */ private List hotelContactsList; + /** + * 会议联系人列表 + */ + @ExcelCollection(name = "会议联系人列表") + private List meetingContactsList; /**备注*/ @Excel(name = "备注", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java index fb76a1c1..1f063d9e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java @@ -1,9 +1,11 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.valid.group.InternationalMeeting; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; @@ -96,6 +98,11 @@ public class InternationalMeetingExcel { * 会议关联酒店联系人列表 */ private List hotelContactsList; + /** + * 会议联系人列表 + */ + @ExcelCollection(name = "会议联系人列表") + private List meetingContactsList; /**备注*/ @Excel(name = "备注", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java index a9f91670..cbac68fa 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java @@ -1,8 +1,10 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import java.math.BigDecimal; import java.util.List; @@ -77,6 +79,11 @@ public class OtherMeetingExcel { * 会议关联酒店联系人列表 */ private List hotelContactsList; + /** + * 会议联系人列表 + */ + @ExcelCollection(name = "会议联系人列表") + private List meetingContactsList; /**备注*/ @Excel(name = "备注", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsMeetingExcel.java index 92fe2208..0a69332e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsMeetingExcel.java @@ -1,6 +1,7 @@ package com.jero.meeting.vo.excel; import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; @@ -87,6 +88,10 @@ public class StandardsMeetingExcel { * 会议关联酒店联系人列表 */ private List hotelContactsList; + /** + * 会议联系人列表 + */ + private List meetingContactsList; /**备注*/ @Excel(name = "备注", width = 15) 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 index bb1044db..241d80d6 100644 --- 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 @@ -1,8 +1,10 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingContacts; import com.jero.meeting.entity.PayMeetingHotelContacts; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import java.math.BigDecimal; import java.util.List; @@ -83,6 +85,11 @@ public class WorkingGroupMeetingExcel{ * 会议关联酒店联系人列表 */ private List hotelContactsList; + /** + * 会议联系人列表 + */ + @ExcelCollection(name = "会议联系人列表") + private List meetingContactsList; /**备注*/ @Excel(name = "备注", width = 15) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml index af3dcfe0..d44937aa 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/mapper/xml/PayWorkingGroupMapper.xml @@ -27,7 +27,10 @@ FROM pay_working_group pwg left join sys_user su on pwg.principal_id_a = su.id left join sys_user su1 on pwg.principal_id_b = su.id - left join pay_meeting pm on pwg.id = pm.working_group_id + + left join pay_meeting pm on pwg.id = pm.working_group_id + left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id + AND working_group_project LIKE concat('%',concat(#{payWorkingGroup.workingGroupProject},'%')) @@ -41,7 +44,9 @@ AND (principal_id_a = #{payWorkingGroup.principalA} OR principal_id_b = #{payWorkingGroup.principalB} - OR pm.director_id = #{payWorkingGroup.principalA} ) + OR pm.director_id = #{payWorkingGroup.principalA} + OR pmc.meeting_contacts_id = #{payWorkingGroup.principalA} + ) ORDER BY pwg.create_time DESC