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 ce012830..a21dd89f 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 @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.common.RoleCommon; import com.jero.common.constant.CommonConstant; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; @@ -64,6 +65,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupSubItemContacts; +import com.jero.project.service.AnnualDataLockingService; import com.jero.project.service.IPayWorkingGroupService; import com.jero.project.service.IPayWorkingGroupSubItemContactsService; import com.jero.project.service.IPayWorkingGroupSubItemService; @@ -157,6 +159,8 @@ public class PayMeetingServiceImpl extends ServiceImpl 0) { throw new JeroBootException("该会议有参会人无法删除"); } + PayMeeting payMeeting = getById(id); + String year = payMeeting.getParticularYear(); + //判断用户是否能操作所选年份数据 + annualDataLockingService.judgeUserYear(year); removeById(id); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PayMeetingHotelContacts::getMeetingId, id); @@ -685,6 +696,10 @@ public class PayMeetingServiceImpl extends ServiceImpl 0) { throw new JeroBootException(meetingList + "会议下有参会人,无法删除"); 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 27131bbb..6d4a527d 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 @@ -200,9 +200,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl ids) { + List payMeetingSituations = this.listByIds(ids); + List meetingIds = payMeetingSituations.stream().map(PayMeetingSituation::getMeetingId).distinct().collect(Collectors.toList()); + List payMeetings = meetingService.listByIds(meetingIds); + for (PayMeeting payMeeting : payMeetings) { + //判断用户是否能操作所选年份数据 + annualDataLockingService.judgeUserYear(payMeeting.getParticularYear()); + } for (String id : ids) { removeSituationPack(id); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java index 2ea30a50..a5adc538 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupController.java @@ -20,6 +20,7 @@ import com.jero.mail.commont.constant; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupSubItem; +import com.jero.project.service.AnnualDataLockingService; import com.jero.project.service.IPayWorkingGroupService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.project.vo.PayWorkingGroupPayment; @@ -59,7 +60,8 @@ public class PayWorkingGroupController extends JeroController errInfoList = new ArrayList<>(); for (String workingGroupId : workingGroupIdsArr) { PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(workingGroupId); + String year = payWorkingGroup.getYear(); + //判断用户是否能操作所选年份数据 + annualDataLockingService.judgeUserYear(year); BigDecimal yearChargeA = payWorkingGroup.getYearChargeA(); BigDecimal taxRate = new BigDecimal("0.06"); payWorkingGroupSubItem.setTaxRate(taxRate); 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 f31005e0..263b53d4 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 @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.collection.CollectionUtil; import com.jero.common.common.RoleCommon; import com.jero.common.constant.CacheConstant; +import com.jero.common.exception.JeroBootException; import com.jero.common.service.ProjectDetailService; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; @@ -140,7 +141,20 @@ public class AnnualDataLockingService extends ServiceImpl 0; } + /** + * 判断用户是否能操作所选年份数据 + * @param year + */ + public void judgeUserYear(String year){ + boolean b = checkYear(year); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (user.getRoleCode().equals(RoleCommon.XMFZR) && b){ + throw new JeroBootException(year+"年数据已经锁定"); + } + } + public void editById(AnnualDataLocking annualDataLocking) { + this.updateById(annualDataLocking); } @CacheEvict(value="annualDataLocking", allEntries=true) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index 02b35a20..e450028c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -33,10 +33,7 @@ import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.*; import com.jero.project.mapper.PayWorkingGroupMapper; import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper; -import com.jero.project.service.IPayResearchProjectService; -import com.jero.project.service.IPayWorkingGroupDataFileService; -import com.jero.project.service.IPayWorkingGroupService; -import com.jero.project.service.IPayWorkingGroupSubItemService; +import com.jero.project.service.*; import com.jero.project.vo.PayWorkingGroupVO; import com.jero.statistics.entity.*; import com.jero.temporary.entity.PayCompanyManagementTemporary; @@ -103,6 +100,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl query = new LambdaQueryWrapper<>(); query.eq(PayWorkingGroupSubItem::getWorkingGroupId,id); List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); @@ -170,6 +171,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl"); } + String year = payWorkingGroupOld.getYear(); + //判断用户是否能操作所选年份数据 + annualDataLockingService.judgeUserYear(year); LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(PayWorkingGroupSubItem::getWorkingGroupId, p); List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query); @@ -764,6 +768,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl