From 76ade3c355579939f150c9c0e1cd0cac76d38a59 Mon Sep 17 00:00:00 2001 From: liuchuang <123456> Date: Wed, 16 Sep 2020 13:24:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E8=AE=AE=E9=A2=98=E5=92=8C?= =?UTF-8?q?=E8=BD=AC=E9=A1=B9=E7=9B=AE=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/FieldConstant.java | 6 ++++ .../service/impl/EpdcEventsServiceImpl.java | 31 +++++++++++++++++++ .../modules/issue/service/IssueService.java | 10 ++++++ .../issue/service/impl/IssueServiceImpl.java | 30 ++++++++++++++++++ .../modules/item/service/ItemService.java | 20 ++++++++++++ .../item/service/impl/ItemServiceImpl.java | 17 ++++++++++ 6 files changed, 114 insertions(+) diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java index 8818dd2a..f2d39525 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/FieldConstant.java @@ -64,4 +64,10 @@ public interface FieldConstant { String TAG_ID = "TAG_ID"; String TAG_ID_HUMP = "tagId"; + String EVENT_ID = "EVENT_ID"; + String EVENT_ID_HUMP = "eventId"; + + String ISSUE_ID = "ISSUE_ID"; + String ISSUE_ID_HUMP = "issueId"; + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index 28c0969f..721523c9 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -23,6 +23,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.security.content.CheckDataUtils; import com.elink.esua.epdc.commons.tools.security.content.ModuleName; @@ -258,6 +259,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl NumConstant.ZERO; + } else if (EventIssueItemState.EVENT_REVIEW_TO_ITEM == eventState) { + int itemCount = itemService.selectItemCountByEventId(eventId); + checkResult = itemCount > NumConstant.ZERO; + } else { + EpdcEventsEntity entity = baseDao.selectById(eventId); + checkResult = eventState == entity.getEventState(); + } + + if (!checkResult) { + throw new RenException("该事件已审核,请勿重复操作"); + } + } + } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java index c16ba47f..63ff5996 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java @@ -284,4 +284,14 @@ public interface IssueService extends BaseService { * @since 2020/3/7 12:50 */ void modifyPartyGroupName(List groups); + + /** + * 根据事件ID获取议题数量 + * + * @param eventId 事件ID + * @return int + * @author Liuchuang + * @since 2020/9/16 10:31 + */ + int selectIssueCountByEventId(String eventId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java index 5b2101c6..10ba9446 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueServiceImpl.java @@ -189,6 +189,9 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public Result saveIssueHandleResult(IssueWaitHandleSubmitFormDTO dto) { + // 转项目校验 + checkChangeToItem(dto.getId(), dto.getState()); + IssueHandleEntity handleEntity = new IssueHandleEntity(); handleEntity.setAdvice(dto.getAdvice()); handleEntity.setState(dto.getState()); @@ -696,4 +699,31 @@ public class IssueServiceImpl extends BaseServiceImpl imp return new Result(); } + + @Override + public int selectIssueCountByEventId(String eventId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(FieldConstant.EVENT_ID, eventId); + + return baseDao.selectCount(wrapper); + } + + /** + * 议题转项目校验 + * + * @param issueId 议题ID + * @param state 状态 + * @return void + * @author Liuchuang + * @since 2020/9/16 11:11 + */ + private void checkChangeToItem(String issueId, int state) { + if(EventIssueItemState.ISSUE_CHANGE_TO_ITEM_AND_CIRCULATION_ASSISTANCE == state + || EventIssueItemState.ISSUE_CHANGE_TO_ITEM == state) { + int itemCount = itemService.selectItemCountByIssueId(issueId); + if (itemCount > NumConstant.ZERO) { + throw new RenException("该议题已转为项目,请勿重复操作"); + } + } + } } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java index 8daf6737..c25af812 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java @@ -387,4 +387,24 @@ public interface ItemService extends BaseService { * @return com.elink.esua.epdc.commons.tools.utils.Result */ Result rejectItemSatisfactionInfo(RejectRecordDTO dto); + + /** + * 根据事件ID获取项目数量 + * + * @param eventId 事件ID + * @return int + * @author Liuchuang + * @since 2020/9/16 10:37 + */ + int selectItemCountByEventId(String eventId); + + /** + * 根据议题ID获取项目数量 + * + * @param issueId 议题ID + * @return int + * @author Liuchuang + * @since 2020/9/16 10:37 + */ + int selectItemCountByIssueId(String issueId); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java index ffb20f0a..9dd2752e 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java @@ -74,6 +74,7 @@ import com.elink.esua.epdc.modules.feign.ContentSecurityFeignClient; import com.elink.esua.epdc.modules.feign.UserFeignClient; import com.elink.esua.epdc.modules.interfacelog.entity.InterfaceLogEntity; import com.elink.esua.epdc.modules.interfacelog.service.InterfaceLogService; +import com.elink.esua.epdc.modules.issue.entity.IssueEntity; import com.elink.esua.epdc.modules.issue.service.IssueService; import com.elink.esua.epdc.modules.item.dao.GridPlatformHandleLogDao; import com.elink.esua.epdc.modules.item.dao.ItemDao; @@ -1546,4 +1547,20 @@ public class ItemServiceImpl extends BaseServiceImpl implem baseDao.rejectItemSatisfactionInfo(dto.getRelationId()); return new Result(); } + + @Override + public int selectItemCountByEventId(String eventId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(FieldConstant.EVENT_ID, eventId); + + return baseDao.selectCount(wrapper); + } + + @Override + public int selectItemCountByIssueId(String issueId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(FieldConstant.ISSUE_ID, issueId); + + return baseDao.selectCount(wrapper); + } }