diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java index ceb24d7d18..fd0cdff40e 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java @@ -84,6 +84,11 @@ public class IssueApplicationDTO implements Serializable { */ private String passedReason; + /** + * 审批通过时工作人员id,自动通过此列不存储 + */ + private String approveStaffId; + /** * 删除标识 0未删除、1已删除 */ diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java index 1b68f2852c..8ec3f59be1 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java @@ -80,4 +80,9 @@ public class IssueApplicationEntity extends BaseEpmetEntity { */ private String passedReason; + /** + * 审批通过时工作人员id,自动通过此列不存储 + */ + private String approveStaffId; + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 2d49c923bc..75749a7539 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -256,8 +256,11 @@ public class IssueServiceImpl extends BaseServiceImpl imp issueDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING); issueDTO.setDecidedTime(issueShiftedFromTopicFormDTO.getCreatedTime()); int issueAffectedRow = baseDao.insertOne(issueDTO); - if(issueAffectedRow == NumConstant.ONE && StringUtils.isNotBlank(issueDTO.getId())){ - //2.新增议题流程 + + if(issueAffectedRow == NumConstant.ONE && (StringUtils.isNotBlank(issueDTO.getId()) || StringUtils.isNotBlank(issueDTO.getIssueId()))){ + if(StringUtils.isNotBlank(issueDTO.getIssueId())) issueDTO.setId(issueDTO.getIssueId()); + + //2.新增议题流程 IssueProcessDTO issueProcessDTO = new IssueProcessDTO(); issueProcessDTO.setIssueId(issueDTO.getId()); issueProcessDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING); @@ -278,6 +281,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp ModuleConstants.FAILURE_TO_ADD_ISSUE_PROCESS_LOG_TEMPLATE,issueDTO.getId())); throw new RenException(ModuleConstants.FAILURE_TO_ADD_ISSUE_PROCESS); } + + //3.新增议题表决统计表 IssueVoteStatisticalDTO voteStatistical = new IssueVoteStatisticalDTO(); voteStatistical.setIssueId(issueDTO.getId()); @@ -377,6 +382,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp carrier.setIssueTitle(isStaffAudition ? apply.getIssueTitle() : param.getIssueTitle()); carrier.setPassedReason(isStaffAudition ? StringUtils.equals(ModuleConstants.AUDITION_TYPE_APPROVAL,param.getAudition().getActionType()) ? param.getAudition().getReason() :null : null); carrier.setIssueId(isStaffAudition ? StringUtils.equals(ModuleConstants.AUDITION_TYPE_APPROVAL,param.getAudition().getActionType()) ? param.getIssueId() : null : null); + carrier.setApproveStaffId(isStaffAudition ? StringUtils.equals(ModuleConstants.AUDITION_TYPE_APPROVAL,param.getAudition().getActionType()) ? param.getUserId() : null : null); + carrier.setUpdatedTime(param.getCreatedTime()); carrier.setUpdatedBy(param.getUserId()); applicationService.update(carrier); @@ -446,23 +453,15 @@ public class IssueServiceImpl extends BaseServiceImpl imp if(null == application) throw new RenException("没有相应的议题申请信息"); IssueApplicationDTO app2update = new IssueApplicationDTO(); - app2update.setId(param.getIssueApplicationId()); - app2update.setApplyStatus(param.getActionType()); - app2update.setUpdatedBy(token.getUserId()); - app2update.setUpdatedTime(unifiedDate); + //app2update.setId(param.getIssueApplicationId()); + //app2update.setApplyStatus(param.getActionType()); + //app2update.setUpdatedBy(token.getUserId()); + //app2update.setUpdatedTime(unifiedDate); - IssueApplicationHistoryDTO history2add = new IssueApplicationHistoryDTO(); - history2add.setIssueApplicationId(param.getIssueApplicationId()); - history2add.setReason(param.getReason()); - history2add.setActionType(param.getActionType()); - history2add.setCreatedTime(unifiedDate); - history2add.setCreatedBy(token.getUserId()); - history2add.setCustomerId(application.getCustomerId()); - //historyService.save(history2add); //if(!StringUtils.equals(ModuleConstants.AUDITION_TYPE_REJECT,param.getActionType())){ - app2update.setPassedReason(param.getReason()); + //app2update.setPassedReason(param.getReason()); ResiTopicTurnIssueFromDTO form = new ResiTopicTurnIssueFromDTO(); form.setActionType(param.getActionType()); form.setUnifiedDate(unifiedDate);form.setUserId(application.getCreatedBy());form.setTopicId(application.getTopicId());form.setIssueId(UUID.randomUUID().toString().replaceAll("-", "")); @@ -489,6 +488,9 @@ public class IssueServiceImpl extends BaseServiceImpl imp param.setStaffName(staffBasicInfo.getData().getRealName()); } issueParam2.setAudition(param); + //如果这里不赋值,在更新application和新增applicationHistory时会检测到updatedBy和createdBy为空 + //从而去httpServletRequest中获取当前请求的userId,FIXME 但是其余字段不会! + issueParam2.setUserId(token.getUserId()); FirstTopicShiftedToIssueApplicationResultDTO issueResult = topicShiftedToIssueV2(issueParam2); app2update.setIssueId(issueResult.getIssueId()); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.5__add_issue_app_col.sql b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.5__add_issue_app_col.sql new file mode 100644 index 0000000000..1d3eb52d78 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.5__add_issue_app_col.sql @@ -0,0 +1,2 @@ +ALTER TABLE issue_application +ADD COLUMN(`APPROVE_STAFF_ID` VARCHAR(64) COMMENT '审批通过时工作人员id,自动通过此列不存储'); \ No newline at end of file