Bläddra i källkod

项目库修改

tags/24082201
WendyYang 1 år sedan
förälder
incheckning
665039d4a4
12 ändrade filer med 111 tillägg och 139 borttagningar
  1. +16
    -19
      hz-pm-api/src/main/java/com/hz/pm/api/dashboard/manage/MeetingStatisticsManage.java
  2. +0
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/external/todo/dto/AddSingleWkHandleDTO.java
  3. +6
    -6
      hz-pm-api/src/main/java/com/hz/pm/api/filemanage/manage/DocumentationManage.java
  4. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/leave/entity/po/LeaveCreateReq.java
  5. +8
    -9
      hz-pm-api/src/main/java/com/hz/pm/api/performance/manage/IndicatorConfigManage.java
  6. +21
    -21
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DelayedApplyManage.java
  7. +12
    -12
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/OperationManage.java
  8. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ApplicationManage.java
  9. +41
    -39
      hz-pm-api/src/main/java/com/hz/pm/api/provincial/service/impl/JoinReviewProvincialBureauServiceImpl.java
  10. +0
    -21
      hz-pm-api/src/main/java/com/hz/pm/api/sys/manage/EarlyWarningManage.java
  11. +0
    -4
      hz-pm-api/src/main/java/com/hz/pm/api/sys/manage/NoticeManage.java
  12. +2
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/sys/manage/NotifyManage.java

+ 16
- 19
hz-pm-api/src/main/java/com/hz/pm/api/dashboard/manage/MeetingStatisticsManage.java Visa fil

@@ -57,8 +57,8 @@ public class MeetingStatisticsManage {
List<Meeting> meetings = meetingService.list(Wrappers.lambdaQuery(Meeting.class)); List<Meeting> meetings = meetingService.list(Wrappers.lambdaQuery(Meeting.class));
//查出 年份的 会议数据 //查出 年份的 会议数据
meetings = meetings.stream().filter(m -> { meetings = meetings.stream().filter(m -> {
if(Objects.nonNull(m.getStartTime()) &&
(Objects.isNull(year) || year.equals(m.getStartTime().getYear()))){
if (Objects.nonNull(m.getStartTime()) &&
(Objects.isNull(year) || year.equals(m.getStartTime().getYear()))) {
return Boolean.TRUE; return Boolean.TRUE;
} }
return Boolean.FALSE; return Boolean.FALSE;
@@ -72,10 +72,10 @@ public class MeetingStatisticsManage {
//评审数 //评审数
List<ExpertReview> expertReviews = Lists.newArrayList(); List<ExpertReview> expertReviews = Lists.newArrayList();
Integer reviewsTotal = 0; Integer reviewsTotal = 0;
if(CollUtil.isNotEmpty(meetingIds)){
if (CollUtil.isNotEmpty(meetingIds)) {
expertReviews = expertReviewService.list(Wrappers.lambdaQuery(ExpertReview.class) expertReviews = expertReviewService.list(Wrappers.lambdaQuery(ExpertReview.class)
.eq(ExpertReview::getIsFinal, Boolean.TRUE) .eq(ExpertReview::getIsFinal, Boolean.TRUE)
.in(ExpertReview::getMeetingId,meetingIds));
.in(ExpertReview::getMeetingId, meetingIds));
reviewsTotal = expertReviews.size(); reviewsTotal = expertReviews.size();
} }
//通过的评审 //通过的评审
@@ -91,18 +91,15 @@ public class MeetingStatisticsManage {
res.setPassReview(passExpertReviews.size()); res.setPassReview(passExpertReviews.size());
res.setNotPassRate(reviewsTotal.compareTo(0) == 0 ? BigDecimal.ZERO : res.setNotPassRate(reviewsTotal.compareTo(0) == 0 ? BigDecimal.ZERO :
BigDecimal.valueOf(notpassExpertReviews.size()).multiply(BigDecimal.valueOf(100) BigDecimal.valueOf(notpassExpertReviews.size()).multiply(BigDecimal.valueOf(100)
.divide(BigDecimal.valueOf(reviewsTotal), RoundingMode.HALF_UP)));
.divide(BigDecimal.valueOf(reviewsTotal), RoundingMode.HALF_UP)));


//各区域 //各区域
List<RegionDTO> regions = regionCacheHelper.listChildren(RegionConst.RC_HZ, RegionConst.RL_CITY) List<RegionDTO> regions = regionCacheHelper.listChildren(RegionConst.RC_HZ, RegionConst.RL_CITY)
.stream().filter(r -> r.getRegionLevel().equals(RegionConst.RL_COUNTY)) .stream().filter(r -> r.getRegionLevel().equals(RegionConst.RL_COUNTY))
.sorted(Comparator.comparing(RegionDTO::getRegionCode)).collect(Collectors.toList()); .sorted(Comparator.comparing(RegionDTO::getRegionCode)).collect(Collectors.toList());
List<DataDTO> regionMeetngs = Lists.newArrayList(); List<DataDTO> regionMeetngs = Lists.newArrayList();
for(RegionDTO region : regions){
regionMeetngs.add(DataDTO.of(region.getRegionName(),region.getRegionCode(),meetings.stream().filter(m -> {

return Boolean.FALSE;
}).collect(Collectors.toList()).size()));
for (RegionDTO region : regions) {
regionMeetngs.add(DataDTO.of(region.getRegionName(), region.getRegionCode(), meetings.size()));
} }
res.setRegionMeetings(regionMeetngs); res.setRegionMeetings(regionMeetngs);


@@ -110,14 +107,14 @@ public class MeetingStatisticsManage {
List<DataDTO> meetingTypes = Lists.newArrayList(); List<DataDTO> meetingTypes = Lists.newArrayList();
meetingTypes.add(DataDTO.of("预审会议", ReviewTemplateTypeEnum.PRELIMINARY_SCHEME_REVIEW.getCode().toString(), meetingTypes.add(DataDTO.of("预审会议", ReviewTemplateTypeEnum.PRELIMINARY_SCHEME_REVIEW.getCode().toString(),
meetings.stream().filter(m -> { meetings.stream().filter(m -> {
if(StringUtils.isNotBlank(m.getType()) &&
if (StringUtils.isNotBlank(m.getType()) &&
m.getType().equals(ReviewTemplateTypeEnum.PRELIMINARY_SCHEME_REVIEW.getCode() m.getType().equals(ReviewTemplateTypeEnum.PRELIMINARY_SCHEME_REVIEW.getCode()
.toString())){
.toString())) {
return Boolean.TRUE; return Boolean.TRUE;
} }
return Boolean.FALSE; return Boolean.FALSE;
}).collect(Collectors.toList()).size())); }).collect(Collectors.toList()).size()));
Long yanshouCount = meetings.stream().filter(m -> {
long yanshouCount = meetings.stream().filter(m -> {
if (StringUtils.isNotBlank(m.getType()) && if (StringUtils.isNotBlank(m.getType()) &&
m.getType().equals(ReviewTemplateTypeEnum.ACCEPTANCE_SCHEME_REVIEW.getCode() m.getType().equals(ReviewTemplateTypeEnum.ACCEPTANCE_SCHEME_REVIEW.getCode()
.toString())) { .toString())) {
@@ -125,13 +122,13 @@ public class MeetingStatisticsManage {
} }
return Boolean.FALSE; return Boolean.FALSE;
}).count(); }).count();
meetingTypes.add(DataDTO.of("验收会议",ReviewTemplateTypeEnum.ACCEPTANCE_SCHEME_REVIEW.getCode().toString(),
yanshouCount.intValue()));
meetingTypes.add(DataDTO.of("验收会议", ReviewTemplateTypeEnum.ACCEPTANCE_SCHEME_REVIEW.getCode().toString(),
(int) yanshouCount));
res.setMeetingTypes(meetingTypes); res.setMeetingTypes(meetingTypes);


//各区县评审 不通过率 //各区县评审 不通过率
List<DataDTO> regionNotpassReview = Lists.newArrayList(); List<DataDTO> regionNotpassReview = Lists.newArrayList();
for(RegionDTO region : regions){
for (RegionDTO region : regions) {
DataDTO data = new DataDTO(); DataDTO data = new DataDTO();
data.setCode(region.getRegionCode()); data.setCode(region.getRegionCode());
data.setName(region.getRegionName()); data.setName(region.getRegionName());
@@ -151,7 +148,7 @@ public class MeetingStatisticsManage {


data.setRate(CollUtil.isEmpty(regionReviews) ? BigDecimal.ZERO : data.setRate(CollUtil.isEmpty(regionReviews) ? BigDecimal.ZERO :
BigDecimal.valueOf(regionNotpass).multiply(BigDecimal.valueOf(100)) BigDecimal.valueOf(regionNotpass).multiply(BigDecimal.valueOf(100))
.divide(BigDecimal.valueOf(regionReviews.size()),BigDecimal.ROUND_CEILING,RoundingMode.HALF_UP));
.divide(BigDecimal.valueOf(regionReviews.size()), BigDecimal.ROUND_CEILING, RoundingMode.HALF_UP));


regionNotpassReview.add(data); regionNotpassReview.add(data);
} }
@@ -176,7 +173,7 @@ public class MeetingStatisticsManage {
.collect(Collectors.toList()); .collect(Collectors.toList());
List<String> projectCodes = orgProjects.stream().map(Project::getProjectCode) List<String> projectCodes = orgProjects.stream().map(Project::getProjectCode)
.collect(Collectors.toList()); .collect(Collectors.toList());
if(CollUtil.isEmpty(projectCodes)){
if (CollUtil.isEmpty(projectCodes)) {
return data; return data;
} }
List<ExpertReview> reviews = finalExpertReviews.stream().filter(r -> Objects.nonNull(r.getProjectCode()) && List<ExpertReview> reviews = finalExpertReviews.stream().filter(r -> Objects.nonNull(r.getProjectCode()) &&
@@ -186,7 +183,7 @@ public class MeetingStatisticsManage {
.count(); .count();
data.setRate(CollUtil.isEmpty(reviews) ? BigDecimal.ZERO : data.setRate(CollUtil.isEmpty(reviews) ? BigDecimal.ZERO :
BigDecimal.valueOf(orgNotpass).multiply(BigDecimal.valueOf(100)) BigDecimal.valueOf(orgNotpass).multiply(BigDecimal.valueOf(100))
.divide(BigDecimal.valueOf(reviews.size()),BigDecimal.ROUND_CEILING,RoundingMode.HALF_UP));
.divide(BigDecimal.valueOf(reviews.size()), BigDecimal.ROUND_CEILING, RoundingMode.HALF_UP));
return data; return data;
}) })
.filter(d -> Objects.nonNull(d.getRate())) .filter(d -> Objects.nonNull(d.getRate()))


+ 0
- 2
hz-pm-api/src/main/java/com/hz/pm/api/external/todo/dto/AddSingleWkHandleDTO.java Visa fil

@@ -4,8 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;


import java.io.Serializable;

/** /**
* @author 王仁康 * @author 王仁康
* @date 2024-01-02 16:55:51 * @date 2024-01-02 16:55:51


+ 6
- 6
hz-pm-api/src/main/java/com/hz/pm/api/filemanage/manage/DocumentationManage.java Visa fil

@@ -2,6 +2,7 @@ package com.hz.pm.api.filemanage.manage;


import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hz.pm.api.filemanage.model.dto.DocumentationGroupSaveDTO; import com.hz.pm.api.filemanage.model.dto.DocumentationGroupSaveDTO;
@@ -106,7 +107,7 @@ public class DocumentationManage {
* @param id * @param id
* @return * @return
*/ */
@Transactional
@Transactional(rollbackFor = Exception.class)
public String deleteGroup(Long id) { public String deleteGroup(Long id) {
DocumentationGroup group = documentationGroupService.getById(id); DocumentationGroup group = documentationGroupService.getById(id);
VUtils.isTrue(Objects.isNull(group)).throwMessage("该分组不存在!"); VUtils.isTrue(Objects.isNull(group)).throwMessage("该分组不存在!");
@@ -125,22 +126,21 @@ public class DocumentationManage {
* @param dto * @param dto
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class)
public String addDoc(DocumentationSaveDTO dto) { public String addDoc(DocumentationSaveDTO dto) {
UserInfoDetails user = LoginUserUtil.loginUserDetail(); UserInfoDetails user = LoginUserUtil.loginUserDetail();


Long fileId = dto.getFileId(); Long fileId = dto.getFileId();
File file = fileService.getById(fileId); File file = fileService.getById(fileId);

VUtils.isTrue(Objects.isNull(file)).throwMessage("该文件不存在!");
Assert.notNull(file, "该文件不存在!");


DocumentationGroup group = documentationGroupService.getById(dto.getGroupId()); DocumentationGroup group = documentationGroupService.getById(dto.getGroupId());

VUtils.isTrue(Objects.isNull(group)).throwMessage("分组不存在!");
Assert.notNull(group, "分组不存在!");


Documentation documentation = new Documentation(); Documentation documentation = new Documentation();
documentation.setCreateBy(user.getRealName()); documentation.setCreateBy(user.getRealName());
documentation.setCreateOn(LocalDateTime.now()); documentation.setCreateOn(LocalDateTime.now());
documentation.setSize(Objects.nonNull(file.getSize()) ? file.getSize() / 1000L : 0L);
documentation.setSize(file.getSize() / 1000L);
documentation.setFileId(fileId); documentation.setFileId(fileId);
documentation.setGroupId(dto.getGroupId()); documentation.setGroupId(dto.getGroupId());
documentation.setFileName(file.getOriginalFileName()); documentation.setFileName(file.getOriginalFileName());


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/leave/entity/po/LeaveCreateReq.java Visa fil

@@ -62,10 +62,10 @@ public class LeaveCreateReq {
if (!this.getStartTime().isBefore(this.getEndTime())) { if (!this.getStartTime().isBefore(this.getEndTime())) {
throw new BizException("无效的请假时间"); throw new BizException("无效的请假时间");
} }
if (leaveTypeEnum.equals(LeaveTypeEnum.FIXED_TERM)) {
if (this.getFixedType() == null || this.getFixedType().isEmpty()) {
if (leaveTypeEnum.equals(LeaveTypeEnum.FIXED_TERM)
&& (this.getFixedType() == null || this.getFixedType().isEmpty())) {
throw new BizException("固定时段不能为空"); throw new BizException("固定时段不能为空");
}
} }
} }
} }


+ 8
- 9
hz-pm-api/src/main/java/com/hz/pm/api/performance/manage/IndicatorConfigManage.java Visa fil

@@ -7,15 +7,11 @@ import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.hz.pm.api.common.util.BizUtils;
import com.hz.pm.api.common.util.StrUtils;
import com.ningdatech.basic.exception.BizException;
import com.ningdatech.basic.function.VUtils;
import com.ningdatech.basic.model.PageVo;
import com.ningdatech.basic.util.StrPool;
import com.hz.pm.api.common.enumeration.CommonEnum;
import com.hz.pm.api.common.model.constant.BizConst; import com.hz.pm.api.common.model.constant.BizConst;
import com.hz.pm.api.common.model.constant.CommonConst; import com.hz.pm.api.common.model.constant.CommonConst;
import com.hz.pm.api.common.enumeration.CommonEnum;
import com.hz.pm.api.common.util.BizUtils;
import com.hz.pm.api.common.util.StrUtils;
import com.hz.pm.api.performance.enumration.PerformanceTemplateTypeEnum; import com.hz.pm.api.performance.enumration.PerformanceTemplateTypeEnum;
import com.hz.pm.api.performance.helper.TemplateDetailBuildHelper; import com.hz.pm.api.performance.helper.TemplateDetailBuildHelper;
import com.hz.pm.api.performance.model.dto.PerformanceIndicatorAppIndexSaveDTO; import com.hz.pm.api.performance.model.dto.PerformanceIndicatorAppIndexSaveDTO;
@@ -37,6 +33,10 @@ import com.hz.pm.api.performance.service.IPerformanceIndicatorProjectTemplateDet
import com.hz.pm.api.performance.service.IPerformanceIndicatorProjectTemplateService; import com.hz.pm.api.performance.service.IPerformanceIndicatorProjectTemplateService;
import com.hz.pm.api.user.security.model.UserInfoDetails; import com.hz.pm.api.user.security.model.UserInfoDetails;
import com.hz.pm.api.user.util.LoginUserUtil; import com.hz.pm.api.user.util.LoginUserUtil;
import com.ningdatech.basic.exception.BizException;
import com.ningdatech.basic.function.VUtils;
import com.ningdatech.basic.model.PageVo;
import com.ningdatech.basic.util.StrPool;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -46,7 +46,6 @@ import org.springframework.transaction.annotation.Transactional;


import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@@ -148,7 +147,7 @@ public class IndicatorConfigManage {
} }
if (Objects.nonNull(dto.getId())) { if (Objects.nonNull(dto.getId())) {
PerformanceIndicatorProjectTemplate old = indicatorProjectTemplateService.getById(dto.getId()); PerformanceIndicatorProjectTemplate old = indicatorProjectTemplateService.getById(dto.getId());
VUtils.isTrue(Objects.isNull(old)).throwMessage("该模板不存在!");
Assert.notNull(old, "该模板不存在!");
template.setId(old.getId()); template.setId(old.getId());
} else { } else {
template.setId(null); template.setId(null);


+ 21
- 21
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DelayedApplyManage.java Visa fil

@@ -4,30 +4,26 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.ningdatech.basic.exception.BizException;
import com.ningdatech.basic.function.VUtils;
import com.ningdatech.basic.model.PageVo;
import com.ningdatech.basic.util.CollUtils;
import com.ningdatech.basic.util.NdDateUtils;
import com.hz.pm.api.common.model.constant.BizConst;
import com.hz.pm.api.common.enumeration.ProjectProcessStageEnum; import com.hz.pm.api.common.enumeration.ProjectProcessStageEnum;
import com.hz.pm.api.common.helper.UserInfoHelper; import com.hz.pm.api.common.helper.UserInfoHelper;
import com.hz.pm.api.common.model.constant.BizConst;
import com.hz.pm.api.common.util.ExcelDownUtil; import com.hz.pm.api.common.util.ExcelDownUtil;
import com.hz.pm.api.common.util.ExcelExportStyle; import com.hz.pm.api.common.util.ExcelExportStyle;
import com.hz.pm.api.projectdeclared.model.dto.DeclaredProjectExportDTO; import com.hz.pm.api.projectdeclared.model.dto.DeclaredProjectExportDTO;
import com.hz.pm.api.projectdeclared.model.dto.DelayedApplyDTO; import com.hz.pm.api.projectdeclared.model.dto.DelayedApplyDTO;
import com.hz.pm.api.projectdeclared.model.vo.DelayedApplyVO; import com.hz.pm.api.projectdeclared.model.vo.DelayedApplyVO;
import com.hz.pm.api.projectlib.model.enumeration.InstTypeEnum;
import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum;
import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum;
import com.hz.pm.api.projectlib.helper.ProjectHelper; import com.hz.pm.api.projectlib.helper.ProjectHelper;
import com.hz.pm.api.projectlib.manage.ProjectLibManage; import com.hz.pm.api.projectlib.manage.ProjectLibManage;
import com.hz.pm.api.projectlib.model.entity.Project; import com.hz.pm.api.projectlib.model.entity.Project;
import com.hz.pm.api.projectlib.model.entity.ProjectDelayApply; import com.hz.pm.api.projectlib.model.entity.ProjectDelayApply;
import com.hz.pm.api.projectlib.model.entity.ProjectInst; import com.hz.pm.api.projectlib.model.entity.ProjectInst;
import com.hz.pm.api.projectlib.model.enumeration.InstTypeEnum;
import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum;
import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum;
import com.hz.pm.api.projectlib.model.req.ProjectListReq; import com.hz.pm.api.projectlib.model.req.ProjectListReq;
import com.hz.pm.api.projectlib.model.vo.ProjectLibListItemVO; import com.hz.pm.api.projectlib.model.vo.ProjectLibListItemVO;
import com.hz.pm.api.projectlib.service.INdProjectDelayApplyService; import com.hz.pm.api.projectlib.service.INdProjectDelayApplyService;
@@ -37,7 +33,13 @@ import com.hz.pm.api.staging.enums.MsgTypeEnum;
import com.hz.pm.api.sys.manage.NoticeManage; import com.hz.pm.api.sys.manage.NoticeManage;
import com.hz.pm.api.todocenter.constant.WorkNoticeConstant; import com.hz.pm.api.todocenter.constant.WorkNoticeConstant;
import com.hz.pm.api.user.security.model.UserFullInfoDTO; import com.hz.pm.api.user.security.model.UserFullInfoDTO;
import com.hz.pm.api.user.security.model.UserInfoDetails;
import com.hz.pm.api.user.util.LoginUserUtil; import com.hz.pm.api.user.util.LoginUserUtil;
import com.ningdatech.basic.exception.BizException;
import com.ningdatech.basic.function.VUtils;
import com.ningdatech.basic.model.PageVo;
import com.ningdatech.basic.util.CollUtils;
import com.ningdatech.basic.util.NdDateUtils;
import com.wflow.bean.entity.WflowModels; import com.wflow.bean.entity.WflowModels;
import com.wflow.contants.HisProInsEndActId; import com.wflow.contants.HisProInsEndActId;
import com.wflow.exception.BusinessException; import com.wflow.exception.BusinessException;
@@ -94,12 +96,11 @@ public class DelayedApplyManage {
* @return * @return
*/ */
public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) { public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) {
UserFullInfoDTO user = userInfoHelper.getUserFullInfo(LoginUserUtil.getUserId());
VUtils.isTrue(Objects.isNull(user)).throwMessage("获取登录用户失败!");
UserInfoDetails user = LoginUserUtil.loginUserDetail();
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req); LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req);
// 待终验 并且已经过期 // 待终验 并且已经过期
// 只能看自己单位的 // 只能看自己单位的
query.eq(Project::getBuildOrgCode, user.getMhUnitId());
query.eq(Project::getBuildOrgCode, user.getMhUnitIdStr());
query.eq(Project::getStatus, ProjectStatusEnum.TO_BE_FINALLY_INSPECTED.getCode()); query.eq(Project::getStatus, ProjectStatusEnum.TO_BE_FINALLY_INSPECTED.getCode());
query.eq(Project::getStage, ProjectStatusEnum.PROJECT_APPROVED.getCode()); query.eq(Project::getStage, ProjectStatusEnum.PROJECT_APPROVED.getCode());
query.lt(Project::getPlanAcceptanceTime, LocalDateTime.now()); query.lt(Project::getPlanAcceptanceTime, LocalDateTime.now());
@@ -148,12 +149,12 @@ public class DelayedApplyManage {
.eq(ProjectInst::getInstCode, instCode)); .eq(ProjectInst::getInstCode, instCode));
Integer instType = projectInst.getInstType(); Integer instType = projectInst.getInstType();
// 延期申请流程还未审核结束 // 延期申请流程还未审核结束
if (InstTypeEnum.APPLY_DELAY.getCode().equals(instType) &&
if (InstTypeEnum.APPLY_DELAY.eq(instType) &&
Objects.isNull(newInstance.getEndActivityId())) { Objects.isNull(newInstance.getEndActivityId())) {
item.setCanDelayApply(Boolean.FALSE); item.setCanDelayApply(Boolean.FALSE);
} }
// 如果是延期申请审核被驳回,设置项目可以申请延期申报 // 如果是延期申请审核被驳回,设置项目可以申请延期申报
else if (InstTypeEnum.APPLY_DELAY.getCode().equals(instType) &&
else if (InstTypeEnum.APPLY_DELAY.eq(instType) &&
HisProInsEndActId.REJECT.equals(newInstance.getEndActivityId())) { HisProInsEndActId.REJECT.equals(newInstance.getEndActivityId())) {
item.setCanDelayApply(Boolean.TRUE); item.setCanDelayApply(Boolean.TRUE);
} }
@@ -217,14 +218,13 @@ public class DelayedApplyManage {
* @return * @return
*/ */
public String delayedApply(DelayedApplyDTO dto) { public String delayedApply(DelayedApplyDTO dto) {
UserFullInfoDTO user = userInfoHelper.getUserFullInfo(LoginUserUtil.getUserId());
Long projectId = dto.getProjectId(); Long projectId = dto.getProjectId();
Project project = projectService.getNewProject(projectId); Project project = projectService.getNewProject(projectId);
VUtils.isTrue(Objects.isNull(project)).throwMessage("提交失败 此项目不存在!");
Assert.notNull(project, "提交失败 此项目不存在!");


//首先要判断 项目当前状态 是不是 以终验 //首先要判断 项目当前状态 是不是 以终验
VUtils.isTrue(!ProjectStatusEnum.TO_BE_FINALLY_INSPECTED.getCode().equals(project.getStatus()) ||
!ProjectStatusEnum.PROJECT_APPROVED.getCode().equals(project.getStage()))
VUtils.isTrue(!ProjectStatusEnum.TO_BE_FINALLY_INSPECTED.eq(project.getStatus()) ||
!ProjectStatusEnum.PROJECT_APPROVED.eq(project.getStage()))
.throwMessage("提交失败 该项目不是 已立项|待终验"); .throwMessage("提交失败 该项目不是 已立项|待终验");


VUtils.isTrue(Objects.isNull(project.getPlanAcceptanceTime()) VUtils.isTrue(Objects.isNull(project.getPlanAcceptanceTime())
@@ -242,14 +242,14 @@ public class DelayedApplyManage {
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public String startDelayedApplyProcess(DelayedApplyDTO dto) { public String startDelayedApplyProcess(DelayedApplyDTO dto) {
UserFullInfoDTO user = userInfoHelper.getUserFullInfo(LoginUserUtil.getUserId());
UserInfoDetails user = LoginUserUtil.loginUserDetail();
Long projectId = dto.getProjectId(); Long projectId = dto.getProjectId();
Project project = projectService.getNewProject(projectId); Project project = projectService.getNewProject(projectId);
VUtils.isTrue(Objects.isNull(project)).throwMessage("提交失败 此项目不存在!"); VUtils.isTrue(Objects.isNull(project)).throwMessage("提交失败 此项目不存在!");


//首先要判断 项目当前状态 是不是 以终验 //首先要判断 项目当前状态 是不是 以终验
VUtils.isTrue(!ProjectStatusEnum.TO_BE_FINALLY_INSPECTED.getCode().equals(project.getStatus()) ||
!ProjectStatusEnum.PROJECT_APPROVED.getCode().equals(project.getStage()))
VUtils.isTrue(!ProjectStatusEnum.TO_BE_FINALLY_INSPECTED.eq(project.getStatus()) ||
!ProjectStatusEnum.PROJECT_APPROVED.eq(project.getStage()))
.throwMessage("提交失败 该项目不是 已立项|待终验"); .throwMessage("提交失败 该项目不是 已立项|待终验");


VUtils.isTrue(Objects.isNull(project.getPlanAcceptanceTime()) VUtils.isTrue(Objects.isNull(project.getPlanAcceptanceTime())


+ 12
- 12
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/OperationManage.java Visa fil

@@ -1,19 +1,20 @@
package com.hz.pm.api.projectdeclared.manage; package com.hz.pm.api.projectdeclared.manage;


import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ningdatech.basic.function.VUtils;
import com.hz.pm.api.common.model.constant.BizConst; import com.hz.pm.api.common.model.constant.BizConst;
import com.hz.pm.api.common.statemachine.util.StateMachineUtil; import com.hz.pm.api.common.statemachine.util.StateMachineUtil;
import com.hz.pm.api.projectdeclared.model.dto.OperationDTO; import com.hz.pm.api.projectdeclared.model.dto.OperationDTO;
import com.hz.pm.api.projectdeclared.model.entity.Operation; import com.hz.pm.api.projectdeclared.model.entity.Operation;
import com.hz.pm.api.projectdeclared.model.vo.OperationVO; import com.hz.pm.api.projectdeclared.model.vo.OperationVO;
import com.hz.pm.api.projectdeclared.service.IOperationService; import com.hz.pm.api.projectdeclared.service.IOperationService;
import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum;
import com.hz.pm.api.projectlib.model.entity.Project; import com.hz.pm.api.projectlib.model.entity.Project;
import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum;
import com.hz.pm.api.projectlib.service.IProjectService; import com.hz.pm.api.projectlib.service.IProjectService;
import com.hz.pm.api.user.security.model.UserInfoDetails; import com.hz.pm.api.user.security.model.UserInfoDetails;
import com.hz.pm.api.user.util.LoginUserUtil; import com.hz.pm.api.user.util.LoginUserUtil;
import com.ningdatech.basic.function.VUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -40,31 +41,30 @@ public class OperationManage {


/** /**
* 获取实施详情 * 获取实施详情
*
* @param projectId * @param projectId
* @return * @return
*/ */
public OperationVO detail(Long projectId) { public OperationVO detail(Long projectId) {
Project project = projectService.getNewProject(projectId); Project project = projectService.getNewProject(projectId);
VUtils.isTrue(Objects.isNull(project))
.throwMessage("项目不存在!");
Assert.notNull(project, "项目不存在!");


Operation operation = operationService.getOne(Wrappers.lambdaQuery(Operation.class) Operation operation = operationService.getOne(Wrappers.lambdaQuery(Operation.class)
.eq(Operation::getProjectCode, project.getProjectCode()) .eq(Operation::getProjectCode, project.getProjectCode())
.last(BizConst.LIMIT_1)); .last(BizConst.LIMIT_1));


return BeanUtil.copyProperties(operation,OperationVO.class);
return BeanUtil.copyProperties(operation, OperationVO.class);
} }


public String pushOperation(OperationDTO operation) { public String pushOperation(OperationDTO operation) {
UserInfoDetails user = LoginUserUtil.loginUserDetail(); UserInfoDetails user = LoginUserUtil.loginUserDetail();


Project project = projectService.getNewProject(operation.getProjectId()); Project project = projectService.getNewProject(operation.getProjectId());
VUtils.isTrue(Objects.isNull(project))
.throwMessage("项目不存在!");
Assert.notNull(project, "项目不存在!");


//首先要判断 项目当前状态 是不是 待开工状态 //首先要判断 项目当前状态 是不是 待开工状态
VUtils.isTrue(!ProjectStatusEnum.OPERATION.getCode().equals(project.getStatus()) ||
!ProjectStatusEnum.PROJECT_APPROVED.getCode().equals(project.getStage()))
VUtils.isTrue(!ProjectStatusEnum.OPERATION.eq(project.getStatus()) ||
!ProjectStatusEnum.PROJECT_APPROVED.eq(project.getStage()))
.throwMessage("提交失败 该项目不是 待开工或者已立项阶段"); .throwMessage("提交失败 该项目不是 待开工或者已立项阶段");


Operation old = operationService.getOne(Wrappers.lambdaQuery(Operation.class) Operation old = operationService.getOne(Wrappers.lambdaQuery(Operation.class)
@@ -72,9 +72,9 @@ public class OperationManage {
.last(BizConst.LIMIT_1)); .last(BizConst.LIMIT_1));


Operation entity = BeanUtil.copyProperties(operation, Operation.class); Operation entity = BeanUtil.copyProperties(operation, Operation.class);
if(Objects.nonNull(old)){
if (Objects.nonNull(old)) {
entity.setId(old.getId()); entity.setId(old.getId());
}else{
} else {
entity.setCreateOn(LocalDateTime.now()); entity.setCreateOn(LocalDateTime.now());
entity.setCreateBy(user.getUsername()); entity.setCreateBy(user.getUsername());
} }
@@ -83,7 +83,7 @@ public class OperationManage {
entity.setUpdateBy(user.getUsername()); entity.setUpdateBy(user.getUsername());
//强制放入 计划终验时间 //强制放入 计划终验时间
entity.setFinalInspectionDate(project.getPlanAcceptanceTime()); entity.setFinalInspectionDate(project.getPlanAcceptanceTime());
if(operationService.saveOrUpdate(entity)){
if (operationService.saveOrUpdate(entity)) {
stateMachineUtil.pass(project); stateMachineUtil.pass(project);
project.setUpdateOn(LocalDateTime.now()); project.setUpdateOn(LocalDateTime.now());
projectService.updateById(project); projectService.updateById(project);


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/projectlib/manage/ApplicationManage.java Visa fil

@@ -2,6 +2,7 @@ package com.hz.pm.api.projectlib.manage;


import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -75,8 +76,7 @@ public class ApplicationManage {
public String saveAppCode(ApplicationAppCodeSaveDTO dto) { public String saveAppCode(ApplicationAppCodeSaveDTO dto) {
Long userId = LoginUserUtil.getUserId(); Long userId = LoginUserUtil.getUserId();
ProjectApplication app = applicationService.getById(dto.getId()); ProjectApplication app = applicationService.getById(dto.getId());
VUtils.isTrue(Objects.isNull(app)).throwMessage("该应用不存在");

Assert.notNull(app, "该应用不存在");
app.setAppCode(dto.getAppCode()); app.setAppCode(dto.getAppCode());
app.setUpdateOn(LocalDateTime.now()); app.setUpdateOn(LocalDateTime.now());
app.setUpdateBy(userId); app.setUpdateBy(userId);


+ 41
- 39
hz-pm-api/src/main/java/com/hz/pm/api/provincial/service/impl/JoinReviewProvincialBureauServiceImpl.java Visa fil

@@ -28,6 +28,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@@ -72,25 +73,25 @@ public class JoinReviewProvincialBureauServiceImpl implements IJoinReviewProvinc


/** /**
* 推送/保存 重大接口到 省局联审 * 推送/保存 重大接口到 省局联审
*
* @return * @return
*/ */
@Override @Override
public Boolean pushImportProject(ProvincialProjectDTO project){
Long timeStamp = System.currentTimeMillis()/1000;
String url = provincialProperties.getHost() + provincialProperties.getPushUrl()
+ "?timestamp=" + timeStamp;
log.info("省局推送联审url {}",url);
ResponseEntity<ProvinceApiResponse> responseEntity = null;
public Boolean pushImportProject(ProvincialProjectDTO project) {
Long timeStamp = System.currentTimeMillis() / 1000;
String url = provincialProperties.getHost() + provincialProperties.getPushUrl() + "?timestamp=" + timeStamp;
log.info("省局推送联审url {}", url);
ResponseEntity<ProvinceApiResponse> responseEntity;


String signature = getSha256(timeStamp,provincialProperties.getPushUrl(),
HttpMethod.POST.name(),provincialProperties.getKey(),provincialProperties.getSecret());
String signature = getSha256(timeStamp, provincialProperties.getPushUrl(),
HttpMethod.POST.name(), provincialProperties.getKey(), provincialProperties.getSecret());


//发送post请求 //发送post请求
RequestEntity<ProvincialProjectDTO> requestEntity = RequestEntity RequestEntity<ProvincialProjectDTO> requestEntity = RequestEntity
.post(url) .post(url)
.header("Accept", MediaType.APPLICATION_JSON.toString()) .header("Accept", MediaType.APPLICATION_JSON.toString())
.header("X-Hmac-Auth-Key",provincialProperties.getKey())
.header("X-Hmac-Auth-Signature",signature)
.header("X-Hmac-Auth-Key", provincialProperties.getKey())
.header("X-Hmac-Auth-Signature", signature)
.contentType(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)
.body(project); .body(project);
@@ -99,8 +100,8 @@ public class JoinReviewProvincialBureauServiceImpl implements IJoinReviewProvinc
log.info("省局联审 提交body :{}", JSON.toJSONString(requestEntity.getBody())); log.info("省局联审 提交body :{}", JSON.toJSONString(requestEntity.getBody()));
try { try {
responseEntity = restTemplate.exchange(requestEntity, ProvinceApiResponse.class); responseEntity = restTemplate.exchange(requestEntity, ProvinceApiResponse.class);
log.info("省局联审 响应 :{}",responseEntity);
if(responseEntity.getBody().getCode().equals(200)){
log.info("省局联审 响应 :{}", responseEntity);
if (responseEntity.getBody().getCode().equals(200)) {
return Boolean.TRUE; return Boolean.TRUE;
} }
} catch (Exception e) { } catch (Exception e) {
@@ -112,37 +113,38 @@ public class JoinReviewProvincialBureauServiceImpl implements IJoinReviewProvinc


/** /**
* 获取流程审批详情 * 获取流程审批详情
*
* @param projectId * @param projectId
* @return * @return
*/ */
@Override @Override
public SjApiResponse processInfo(String projectId) { public SjApiResponse processInfo(String projectId) {
Long timeStamp = System.currentTimeMillis()/1000;
Long timeStamp = System.currentTimeMillis() / 1000;
String url = provincialProperties.getHost() + provincialProperties.getDetailUrl() String url = provincialProperties.getHost() + provincialProperties.getDetailUrl()
+ "?timestamp=" + timeStamp; + "?timestamp=" + timeStamp;


log.info("省局获取审核详情 url {}",url);
log.info("省局获取审核详情 url {}", url);
ResponseEntity<SjApiResponse> responseEntity = null; ResponseEntity<SjApiResponse> responseEntity = null;


String signature = getSha256(timeStamp,provincialProperties.getDetailUrl(),
HttpMethod.POST.name(),provincialProperties.getKey(),provincialProperties.getSecret());
String signature = getSha256(timeStamp, provincialProperties.getDetailUrl(),
HttpMethod.POST.name(), provincialProperties.getKey(), provincialProperties.getSecret());


JSONObject jsonBaby = new JSONObject(); JSONObject jsonBaby = new JSONObject();
jsonBaby.put("projectId",projectId);
log.info("请求体 :{}",jsonBaby);
jsonBaby.put("projectId", projectId);
log.info("请求体 :{}", jsonBaby);
//发送post请求 //发送post请求
RequestEntity<JSONObject> requestEntity = RequestEntity RequestEntity<JSONObject> requestEntity = RequestEntity
.post(url) .post(url)
.header("Accept", MediaType.APPLICATION_JSON.toString()) .header("Accept", MediaType.APPLICATION_JSON.toString())
.header("X-Hmac-Auth-Key",provincialProperties.getKey())
.header("X-Hmac-Auth-Signature",signature)
.header("X-Hmac-Auth-Key", provincialProperties.getKey())
.header("X-Hmac-Auth-Signature", signature)
.contentType(MediaType.APPLICATION_JSON) .contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON)
.body(jsonBaby); //也可以是DTO .body(jsonBaby); //也可以是DTO


try { try {
responseEntity = restTemplate.exchange(requestEntity,SjApiResponse.class);
log.info("获取审批详情 响应 :{}",responseEntity);
responseEntity = restTemplate.exchange(requestEntity, SjApiResponse.class);
log.info("获取审批详情 响应 :{}", responseEntity);
} catch (Exception e) { } catch (Exception e) {
log.error("[省局获取审核详情] http request error", e); log.error("[省局获取审核详情] http request error", e);
} }
@@ -153,42 +155,42 @@ public class JoinReviewProvincialBureauServiceImpl implements IJoinReviewProvinc
@Override @Override
public List<ProvincialGovBusinessStripVO> searchGovUnits() { public List<ProvincialGovBusinessStripVO> searchGovUnits() {
long timeStamp = System.currentTimeMillis(); long timeStamp = System.currentTimeMillis();
Long timeSeconds = System.currentTimeMillis()/1000;
Long timeSeconds = System.currentTimeMillis() / 1000;
String appSecret = govAppSecret; String appSecret = govAppSecret;
String appKey = govAppKey; String appKey = govAppKey;
String method = HttpMethod.POST.name(); String method = HttpMethod.POST.name();
String secret = refreshTokenService.refreshToken(appKey,appSecret,govRequestTokenUrl,govRefreshTokenUrl,method);
String secret = refreshTokenService.refreshToken(appKey, appSecret, govRequestTokenUrl, govRefreshTokenUrl, method);
String sign = MD5.create().digestHex(appKey + secret + timeStamp); String sign = MD5.create().digestHex(appKey + secret + timeStamp);
HttpComponentsClientHttpRequestFactory factory = HttpUtil.generateHttpRequestFactory(); HttpComponentsClientHttpRequestFactory factory = HttpUtil.generateHttpRequestFactory();
RestTemplate restTemplate; RestTemplate restTemplate;
if(Objects.nonNull(factory)){
if (Objects.nonNull(factory)) {
restTemplate = new RestTemplate(factory); restTemplate = new RestTemplate(factory);
}else{
} else {
restTemplate = new RestTemplate(); restTemplate = new RestTemplate();
} }


String authSignature = getSha256(timeSeconds,provincialProperties.getDomainUrl(), HttpMethod.POST.name(),
provincialProperties.getKey(),provincialProperties.getSecret());
String authSignature = getSha256(timeSeconds, provincialProperties.getDomainUrl(), HttpMethod.POST.name(),
provincialProperties.getKey(), provincialProperties.getSecret());
String url = govUrl + "?appKey=" + appKey + String url = govUrl + "?appKey=" + appKey +
"&timestamp=" + timeSeconds + "&sign=" + sign + "&timestamp=" + timeSeconds + "&sign=" + sign +
"&authKey=" + provincialProperties.getKey() + "&authSignature=" + authSignature + "&authKey=" + provincialProperties.getKey() + "&authSignature=" + authSignature +
"&requestTime=" + timeStamp; "&requestTime=" + timeStamp;
log.info("gov search url :{}",url);
ResponseEntity<JSONObject> forEntity = restTemplate.postForEntity(url,null, JSONObject.class, Maps.newHashMap());
log.info("gov search url :{}", url);
ResponseEntity<JSONObject> forEntity = restTemplate.postForEntity(url, null, JSONObject.class, Maps.newHashMap());
JSONObject body = forEntity.getBody(); JSONObject body = forEntity.getBody();
log.info("seach response :{}",body);
if(Objects.isNull(body)){
log.info("seach response :{}", body);
if (Objects.isNull(body)) {
return Collections.emptyList(); return Collections.emptyList();
} }
String code = body.getString(IrsContant.RefreshToken.RESPONSE_KEY_CODE); String code = body.getString(IrsContant.RefreshToken.RESPONSE_KEY_CODE);
if(IrsContant.RefreshToken.SUCESS_CODE.equals(code)){
if (IrsContant.RefreshToken.SUCESS_CODE.equals(code)) {
JSONObject datas = body.getJSONObject(IrsContant.RefreshToken.RESPONSE_KEY_DATAS); JSONObject datas = body.getJSONObject(IrsContant.RefreshToken.RESPONSE_KEY_DATAS);


if(Objects.isNull(datas)){
if (Objects.isNull(datas)) {
return Collections.emptyList(); return Collections.emptyList();
} }
JSONArray jsonArray = datas.getJSONArray(BizConst.RESPONSE_KEY_DATA); JSONArray jsonArray = datas.getJSONArray(BizConst.RESPONSE_KEY_DATA);
if(CollUtil.isEmpty(jsonArray)){
if (CollUtil.isEmpty(jsonArray)) {
return Collections.emptyList(); return Collections.emptyList();
} }
return jsonArray.stream().map(j -> { return jsonArray.stream().map(j -> {
@@ -203,11 +205,11 @@ public class JoinReviewProvincialBureauServiceImpl implements IJoinReviewProvinc
return Collections.emptyList(); return Collections.emptyList();
} }


private static String getSha256(Long timeStamp,String url,String method,String key,String secret){
private static String getSha256(Long timeStamp, String url, String method, String key, String secret) {
String bytesToSign = method + StrUtil.LF + url + StrUtil.LF + timeStamp + StrUtil.LF + key; String bytesToSign = method + StrUtil.LF + url + StrUtil.LF + timeStamp + StrUtil.LF + key;
log.info("加密message :{}",bytesToSign);
String res = SecureUtil.hmacSha256(secret).digestBase64(bytesToSign,false);
log.info("加密结果 :{}",res);
log.info("加密message :{}", bytesToSign);
String res = SecureUtil.hmacSha256(secret).digestBase64(bytesToSign, false);
log.info("加密结果 :{}", res);
return res; return res;
} }
} }

+ 0
- 21
hz-pm-api/src/main/java/com/hz/pm/api/sys/manage/EarlyWarningManage.java Visa fil

@@ -8,7 +8,6 @@ import com.hz.pm.api.projectlib.model.enumeration.InstTypeEnum;
import com.hz.pm.api.projectlib.model.enumeration.WarningFlowTypeEnum; import com.hz.pm.api.projectlib.model.enumeration.WarningFlowTypeEnum;
import com.hz.pm.api.projectlib.model.enumeration.WarningOperationTypeEnum; import com.hz.pm.api.projectlib.model.enumeration.WarningOperationTypeEnum;
import com.hz.pm.api.staging.enums.MsgTypeEnum; import com.hz.pm.api.staging.enums.MsgTypeEnum;
import com.hz.pm.api.staging.service.INdWorkNoticeStagingService;
import com.hz.pm.api.sys.model.entity.Notify; import com.hz.pm.api.sys.model.entity.Notify;
import com.hz.pm.api.sys.model.entity.WflowEarlyWarningRecords; import com.hz.pm.api.sys.model.entity.WflowEarlyWarningRecords;
import com.hz.pm.api.sys.service.IEarlyWarningRecordsService; import com.hz.pm.api.sys.service.IEarlyWarningRecordsService;
@@ -44,8 +43,6 @@ public class EarlyWarningManage {


private final YxtCallOrSmsHelper yxtCallOrSmsHelper; private final YxtCallOrSmsHelper yxtCallOrSmsHelper;


private final INdWorkNoticeStagingService workNoticeStagingService;

private final INotifyService notifyService; private final INotifyService notifyService;


/** /**
@@ -157,15 +154,6 @@ public class EarlyWarningManage {
context.setContent(content); context.setContent(content);
yxtCallOrSmsHelper.sendSms(context); yxtCallOrSmsHelper.sendSms(context);
} }

//4.浙政钉
/*if (noticeMethod.contains(String.valueOf(CommonEnum.ZWDD.getCode()))) {
// 获取发送浙政钉工作通知必要信息
WorkNoticeInfo passWorkNoticeInfo = noticeManage.getSendWorkNoticeInfo(userId);
passWorkNoticeInfo.setMsg(content);
// 放入工作通知暂存表中,通过扫表异步发送
workNoticeStagingService.addByWorkNotice(passWorkNoticeInfo, MsgTypeEnum.PROJECT_REVIEW);
}*/
} }


/** /**
@@ -276,15 +264,6 @@ public class EarlyWarningManage {
context.setContent(content); context.setContent(content);
yxtCallOrSmsHelper.sendSms(context); yxtCallOrSmsHelper.sendSms(context);
} }

/*//4.浙政钉
if (noticeMethod.contains(String.valueOf(CommonEnum.ZWDD.getCode()))) {
// 获取发送浙政钉工作通知必要信息
WorkNoticeInfo passWorkNoticeInfo = noticeManage.getSendWorkNoticeInfo(employeeCode);
passWorkNoticeInfo.setMsg(content);
// 放入工作通知暂存表中,通过扫表异步发送
workNoticeStagingService.addByWorkNotice(passWorkNoticeInfo, MsgTypeEnum.PROJECT_REVIEW);
}*/
} }


/** /**


+ 0
- 4
hz-pm-api/src/main/java/com/hz/pm/api/sys/manage/NoticeManage.java Visa fil

@@ -217,10 +217,6 @@ public class NoticeManage {
Notify notify = assemblyAuditNotify(userId, project, passMsg); Notify notify = assemblyAuditNotify(userId, project, passMsg);
notify.setType(msgTypeEnum.name()); notify.setType(msgTypeEnum.name());
notifyService.save(notify); notifyService.save(notify);
// 放入工作通知暂存表中,通过扫表异步发送
// WorkNoticeInfo passWorkNoticeInfo = getSendWorkNoticeInfo(employeeCode);
// passWorkNoticeInfo.setMsg(passMsg);
// workNoticeStagingService.addByWorkNotice(passWorkNoticeInfo, msgTypeEnum);
} }


/** /**


+ 2
- 1
hz-pm-api/src/main/java/com/hz/pm/api/sys/manage/NotifyManage.java Visa fil

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ningdatech.basic.function.VUtils; import com.ningdatech.basic.function.VUtils;
@@ -76,7 +77,7 @@ public class NotifyManage {


public Boolean read(Long id) { public Boolean read(Long id) {
Notify one = notifyService.getById(id); Notify one = notifyService.getById(id);
VUtils.isTrue(Objects.isNull(one)).throwMessage("该通知不存在");
Assert.notNull(one, "该通知不存在");
one.setReaded(Boolean.TRUE); one.setReaded(Boolean.TRUE);
return notifyService.updateById(one); return notifyService.updateById(one);
} }


Laddar…
Avbryt
Spara