diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java new file mode 100644 index 00000000..3f42900e --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingRemindRecord.java @@ -0,0 +1,68 @@ +package com.jero.meeting.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +@Data +@TableName("pay_meeting_remind_record") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="pay_meeting_remind_record对象", description="会议提醒记录表") +public class PayMeetingRemindRecord implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**会议id*/ + @Excel(name = "会议id", width = 15) + @ApiModelProperty(value = "会议id") + private String meetingId; + + /**成员id*/ + @Excel(name = "成员id", width = 15) + @ApiModelProperty(value = "成员id") + private String subitemId; + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java new file mode 100644 index 00000000..30df4839 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingRemindRecordMapper.java @@ -0,0 +1,17 @@ +package com.jero.meeting.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +public interface PayMeetingRemindRecordMapper extends BaseMapper { + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml new file mode 100644 index 00000000..e4f6fcd2 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingRemindRecordMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java new file mode 100644 index 00000000..8f633859 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingRemindRecordService.java @@ -0,0 +1,54 @@ +package com.jero.meeting.service; + +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +public interface IPayMeetingRemindRecordService extends IService { + + /** + * 保存 + */ + void add(PayMeetingRemindRecord payMeetingRemindRecord); + + /** + * 更新 + */ + void editById(PayMeetingRemindRecord payMeetingRemindRecord); + + /** + * 通过id删除 + */ + void deleteById(String id); + + /** + * 批量删除 + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + */ + PayMeetingRemindRecord queryById(String id); + + /** + * 列表查询 + */ + List queryList(); + + /** + * 关联会议和工作组成员的提醒次数 + * @author lijiaro + * @date 2021/9/23 17:54 + * @param meetingIdList 会议id + * @param subitemIdList 成员id + * + */ + void addList(List meetingIdList, List subitemIdList); +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java new file mode 100644 index 00000000..9395b32b --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingRemindRecordServiceImpl.java @@ -0,0 +1,78 @@ +package com.jero.meeting.service.impl; + +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.jero.meeting.mapper.PayMeetingRemindRecordMapper; +import com.jero.meeting.service.IPayMeetingRemindRecordService; +import org.springframework.stereotype.Service; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 会议提醒记录表 + * @Author: jero-boot + * @Date: 2021-09-23 + * @Version: V1.0 + */ +@Service +public class PayMeetingRemindRecordServiceImpl extends ServiceImpl implements IPayMeetingRemindRecordService { + + /** + * 保存 + */ + @Override + public void add(PayMeetingRemindRecord payMeetingRemindRecord) { + save(payMeetingRemindRecord); + } + + /** + * 更新 + */ + @Override + public void editById(PayMeetingRemindRecord payMeetingRemindRecord) { + saveOrUpdate(payMeetingRemindRecord); + } + + /** + * 通过id删除 + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + */ + @Override + public PayMeetingRemindRecord queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + */ + @Override + public List queryList() { + return list(); + } + + @Override + public void addList(List meetingIdList, List subitemIdList) { + for (String meetingId : meetingIdList) { + PayMeetingRemindRecord payMeetingRemindRecord = new PayMeetingRemindRecord(); + payMeetingRemindRecord.setMeetingId(meetingId); + for (String subitemId : subitemIdList) { + payMeetingRemindRecord.setSubitemId(subitemId); + this.save(payMeetingRemindRecord); + } + } + } +} 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 cc3bfb3d..2b8101f7 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 @@ -7,14 +7,18 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ValidUtil; +import com.jero.company.entity.PayContactsManagement; +import com.jero.company.service.IPayContactsManagementService; import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; +import com.jero.meeting.entity.PayMeetingRemindRecord; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.mapper.PayMeetingMapper; import com.jero.meeting.service.IPayMeetingHotelContactsService; +import com.jero.meeting.service.IPayMeetingRemindRecordService; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.valid.group.CaseCommitteeMeeting; @@ -66,9 +70,11 @@ public class PayMeetingServiceImpl extends ServiceImpl meetingIds, List subitemIds) { List payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds); List userIds = new ArrayList<>(); + //用于新增关联关系 + List meetingIdList = new ArrayList<>(); + List subitemIdList = new ArrayList<>(); //把单位会员中所有的联系人和有机联系人取出 for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) { + subitemIdList.add(payWorkingGroupSubItem.getId()); String contactsTemporaryIdOne = payWorkingGroupSubItem.getContactsTemporaryIdOne(); if (StrUtil.isNotBlank(contactsTemporaryIdOne)){ userIds.add(contactsTemporaryIdOne); @@ -323,19 +333,24 @@ public class PayMeetingServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.in(PayContactsManagementTemporary::getId,userIds); - List list = payContactsManagementTemporaryService.list(wrapper); - List payMeetings = listByIds(meetingIds); - for (PayContactsManagementTemporary payContactsManagementTemporary : list) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(PayContactsManagement::getId,userIds); + List list = payContactsManagementService.list(wrapper); + for (PayContactsManagement payContactsManagement : list) { //TODO 发送消息 } + //标记会议为已提醒 + List payMeetings = listByIds(meetingIds); for (PayMeeting payMeeting : payMeetings) { + meetingIdList.add(payMeeting.getId()); payMeeting.setRemind(MeetingCommon.REMIND_1); saveOrUpdate(payMeeting); } + payMeetingRemindRecordService.addList(meetingIdList,subitemIdList); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java index 119c8a4c..471c7f38 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupSubItem.java @@ -192,4 +192,13 @@ public class PayWorkingGroupSubItem implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "项目ids 多个以逗号分隔") private java.lang.String projectIds; + + /**已提醒*/ + @TableField(exist = false) + @Dict(dicCode = "yn") + private Integer remind; + + /**会议id*/ + @TableField(exist = false) + private java.lang.String meetingId; } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java index c4f93375..8417b2bc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupSubItemServiceImpl.java @@ -17,6 +17,8 @@ import com.jero.contract.entity.PayIncomeContract; import com.jero.contract.entity.PayIncomeContractAssociated; import com.jero.contract.service.IPayIncomeContractAssociatedService; import com.jero.contract.service.IPayIncomeContractService; +import com.jero.meeting.entity.PayMeetingRemindRecord; +import com.jero.meeting.service.IPayMeetingRemindRecordService; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.project.common.PayProjectCommon; @@ -81,6 +83,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl queryPageList(Page page, PayWorkingGroupSubItem payWorkingGroupSubitem,String paymentDate) { - return payWorkingGroupSubItemMapper.queryPageList(page,payWorkingGroupSubitem,paymentDate); + IPage payWorkingGroupSubItemIPage = payWorkingGroupSubItemMapper.queryPageList(page, payWorkingGroupSubitem, paymentDate); + if (StringUtils.isNotBlank(payWorkingGroupSubitem.getMeetingId())){ + List records = payWorkingGroupSubItemIPage.getRecords(); + for (PayWorkingGroupSubItem workingGroupSubItem : records) { + String workingGroupSubItemId = workingGroupSubItem.getId(); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingRemindRecord::getId,workingGroupSubItemId); + int count = payMeetingRemindRecordService.count(wrapper); + if (count>0){ + workingGroupSubItem.setRemind(PayProjectCommon.YES); + } + } + } + return payWorkingGroupSubItemIPage; } @Override