Browse Source

预警监督流程改造--取消通知报审人流程

master
buaixuexideshitongxue 1 month ago
parent
commit
ecbb31a90f
  1. 15
      src/main/java/com/biutag/supervision/controller/report/ReportFlowController.java
  2. 18
      src/main/java/com/biutag/supervision/controller/warning/WarningController.java
  3. 5
      src/main/java/com/biutag/supervision/pojo/entity/report/ReportFlow.java
  4. 36
      src/main/java/com/biutag/supervision/pojo/request/warning/WarningEndRequest.java
  5. 54
      src/main/java/com/biutag/supervision/service/Report/ReportFlowService.java

15
src/main/java/com/biutag/supervision/controller/report/ReportFlowController.java

@ -5,6 +5,7 @@ import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.InformMessage; import com.biutag.supervision.pojo.entity.InformMessage;
import com.biutag.supervision.pojo.param.ApprovalFlowQueryParam; import com.biutag.supervision.pojo.param.ApprovalFlowQueryParam;
import com.biutag.supervision.pojo.param.Report.FlowQueryParam; import com.biutag.supervision.pojo.param.Report.FlowQueryParam;
import com.biutag.supervision.pojo.request.warning.WarningEndRequest;
import com.biutag.supervision.service.InformMessageService; import com.biutag.supervision.service.InformMessageService;
import com.biutag.supervision.service.Report.ReportFlowService; import com.biutag.supervision.service.Report.ReportFlowService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -35,7 +36,7 @@ public class ReportFlowController {
} }
/** /**
* 审核预警 * 提交给领导
* */ * */
@PostMapping("/auditWarning") @PostMapping("/auditWarning")
public Result auditWarning(@RequestBody FlowQueryParam queryParam){ public Result auditWarning(@RequestBody FlowQueryParam queryParam){
@ -46,6 +47,18 @@ public class ReportFlowController {
} }
} }
/**
* 结束预警
* */
@PostMapping("/auditEndWarning")
public Result<Boolean> auditEndWarning(@RequestBody WarningEndRequest queryParam){
return flowService.auditEndWarning(queryParam);
}
/** /**
* 审核通知单位 * 审核通知单位
* */ * */

18
src/main/java/com/biutag/supervision/controller/warning/WarningController.java

@ -56,7 +56,6 @@ public class WarningController {
public Result<Page<EntryWindowVo>> getPage(@RequestBody WarningQueryParam queryParam){ public Result<Page<EntryWindowVo>> getPage(@RequestBody WarningQueryParam queryParam){
UserAuth user = UserContextHolder.getCurrentUser(); UserAuth user = UserContextHolder.getCurrentUser();
QueryWrapper<ReportProject> wrapper= new QueryWrapper<ReportProject>() QueryWrapper<ReportProject> wrapper= new QueryWrapper<ReportProject>()
.eq(StrUtil.isNotBlank(queryParam.getProjectUnitId()),"p.project_unit_id",queryParam.getProjectUnitId())
.eq(StrUtil.isNotBlank(queryParam.getAuditUnitId()),"p.audit_unit_id",queryParam.getAuditUnitId()) .eq(StrUtil.isNotBlank(queryParam.getAuditUnitId()),"p.audit_unit_id",queryParam.getAuditUnitId())
.eq(StrUtil.isNotBlank(queryParam.getReportName()),"p.report_name",queryParam.getReportName()) .eq(StrUtil.isNotBlank(queryParam.getReportName()),"p.report_name",queryParam.getReportName())
.eq("f.report_link","end") .eq("f.report_link","end")
@ -64,6 +63,13 @@ public class WarningController {
.eq(StrUtil.isNotBlank(queryParam.getWarningState()),"p.warning_state",queryParam.getWarningState()) .eq(StrUtil.isNotBlank(queryParam.getWarningState()),"p.warning_state",queryParam.getWarningState())
.eq("p.node",FlowStateEnum.End.getLabel()) .eq("p.node",FlowStateEnum.End.getLabel())
.eq("p.delete_flag", DeleteStatusEnum.NO.getCode()); .eq("p.delete_flag", DeleteStatusEnum.NO.getCode());
if (StrUtil.isNotBlank(queryParam.getAuditUnitId())) {
// 获取选择的审计单位及其所有子部门的ID
wrapper.in("p.audit_unit_id", departService.getAllNodeIds(queryParam.getAuditUnitId()));
}
if (StrUtil.isNotBlank(queryParam.getProjectUnitId())){
wrapper.in("p.project_unit_id", departService.getAllNodeIds(queryParam.getProjectUnitId()));
}
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && !user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode())) { if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && !user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode())) {
List<String> orgIds =new ArrayList<>(); List<String> orgIds =new ArrayList<>();
if(!user.getAuthDepartIds().isEmpty()){ if(!user.getAuthDepartIds().isEmpty()){
@ -89,12 +95,13 @@ public class WarningController {
entryWindowVos.forEach(s->{ entryWindowVos.forEach(s->{
List<WarningRecord> list = recordService.list(new LambdaQueryWrapper<WarningRecord>().eq(WarningRecord::getReportId,s.getId())); List<WarningRecord> list = recordService.list(new LambdaQueryWrapper<WarningRecord>().eq(WarningRecord::getReportId,s.getId()));
if(CollectionUtil.isNotEmpty(list)) { if(CollectionUtil.isNotEmpty(list)) {
//0的代表已下发问题 //1的代表已下发问题
List<WarningRecord> records= list.stream().filter(x-> "0".equals(x.getFlowState())).toList(); List<WarningRecord> records= list.stream().filter(x-> "1".equals(x.getFlowState())).toList();
// 为空表示已提交审核 // 为空表示已提交审核
List<WarningRecord> auditNumber= list.stream().filter(x-> StrUtil.isEmpty(x.getFlowState())).toList(); // List<WarningRecord> auditNumber= list.stream().filter(x-> StrUtil.isEmpty(x.getFlowState())).toList();
//1 为 已下发问题 ,2 为已提交审核,0为常规 //1 为 已下发问题 ,2 为已提交审核,0为常规
String stateData = CollectionUtil.isNotEmpty(records)?"1":(CollectionUtil.isNotEmpty(auditNumber)?"2":"0"); // String stateData = CollectionUtil.isNotEmpty(records)?"1":(CollectionUtil.isNotEmpty(auditNumber)?"2":"0");
String stateData = !records.isEmpty()? "1": "0";
s.setStateData(stateData); s.setStateData(stateData);
List<String> ids = list.stream().map(x -> x.getId()).toList(); List<String> ids = list.stream().map(x -> x.getId()).toList();
long counts = contentService.count(new LambdaQueryWrapper<WarningContent>().in(WarningContent::getWarningId, ids) long counts = contentService.count(new LambdaQueryWrapper<WarningContent>().in(WarningContent::getWarningId, ids)
@ -102,7 +109,6 @@ public class WarningController {
s.setWarningContent(counts); s.setWarningContent(counts);
} }
}); });
entryWindowVos.sort(Comparator.comparingInt(e -> Integer.parseInt(e.getStateData())));
page.setRecords(entryWindowVos); page.setRecords(entryWindowVos);
return Result.success(page); return Result.success(page);

5
src/main/java/com/biutag/supervision/pojo/entity/report/ReportFlow.java

@ -52,6 +52,11 @@ public class ReportFlow {
@TableField("approver_unit_id") @TableField("approver_unit_id")
private String approverUnitId; private String approverUnitId;
/**
* 项目报审 report
* 项目预警下发 warning
* 直接结束 end
*/
@TableField("type") @TableField("type")
private String type; private String type;

36
src/main/java/com/biutag/supervision/pojo/request/warning/WarningEndRequest.java

@ -0,0 +1,36 @@
package com.biutag.supervision.pojo.request.warning;
import cn.hutool.core.util.StrUtil;
import com.biutag.supervision.aop.ParamChecked;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName WarningEndRequest
* @Description WarningEndRequest
* @Author shihao
* @Date 2025/12/24 11:40
*/
@Getter
@Setter
@Schema(description = "预警结束请求")
public class WarningEndRequest implements ParamChecked {
@Schema(description = "项目id")
private String reportId;
//是否通知报审人
private String isInform;
//审批意见
private String message;
@Override
public void check() {
if (StrUtil.isBlank(reportId)){
throw new RuntimeException("项目id不能为空");
}
}
}

54
src/main/java/com/biutag/supervision/service/Report/ReportFlowService.java

@ -1,24 +1,22 @@
package com.biutag.supervision.service.Report; package com.biutag.supervision.service.Report;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.controller.warning.WarningController; import com.biutag.supervision.constants.enums.WarningStateEnum;
import com.biutag.supervision.mapper.InformMessageMapper; import com.biutag.supervision.mapper.InformMessageMapper;
import com.biutag.supervision.mapper.Invest.InvertRecordMapper;
import com.biutag.supervision.mapper.Report.ReportFlowMapper; import com.biutag.supervision.mapper.Report.ReportFlowMapper;
import com.biutag.supervision.mapper.Report.ReportProjectMapper; import com.biutag.supervision.mapper.Report.ReportProjectMapper;
import com.biutag.supervision.mapper.Report.ReportReviewMapper; import com.biutag.supervision.mapper.Report.ReportReviewMapper;
import com.biutag.supervision.mapper.Warning.WarningRecordMapper; import com.biutag.supervision.mapper.Warning.WarningRecordMapper;
import com.biutag.supervision.mapper.serviceUnit.ServiceUnitMapper; import com.biutag.supervision.mapper.serviceUnit.ServiceUnitMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.InformMessage; import com.biutag.supervision.pojo.entity.InformMessage;
import com.biutag.supervision.pojo.entity.InvertRecord; import com.biutag.supervision.pojo.entity.InvertRecord;
import com.biutag.supervision.pojo.entity.report.ReportFlow; import com.biutag.supervision.pojo.entity.report.ReportFlow;
@ -32,27 +30,21 @@ import com.biutag.supervision.pojo.enums.FlowWarningEnum;
import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.ApprovalFlowQueryParam; import com.biutag.supervision.pojo.param.ApprovalFlowQueryParam;
import com.biutag.supervision.pojo.param.Report.FlowQueryParam; import com.biutag.supervision.pojo.param.Report.FlowQueryParam;
import com.biutag.supervision.pojo.request.warning.WarningEndRequest;
import com.biutag.supervision.pojo.vo.warning.WaringVo; import com.biutag.supervision.pojo.vo.warning.WaringVo;
import com.biutag.supervision.service.InformMessageService;
import com.biutag.supervision.service.InvertRecord.InvertRecordService; import com.biutag.supervision.service.InvertRecord.InvertRecordService;
import com.biutag.supervision.service.Negative.NegativeService; import com.biutag.supervision.service.Negative.NegativeService;
import com.biutag.supervision.service.ServiceUnit.ServiceUnitService;
import com.biutag.supervision.service.Warning.WarningRecordService;
import com.biutag.supervision.util.BigDecimalUtils; import com.biutag.supervision.util.BigDecimalUtils;
import jakarta.validation.constraints.Negative;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.beans.Transient;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.Flow;
/** /**
* @author weipeng * @author weipeng
@ -245,7 +237,7 @@ public class ReportFlowService extends ServiceImpl<ReportFlowMapper,ReportFlow>
new LambdaUpdateWrapper<WarningRecord>() new LambdaUpdateWrapper<WarningRecord>()
.eq(WarningRecord::getId, queryParam.getReportId()) .eq(WarningRecord::getId, queryParam.getReportId())
.set(WarningRecord::getArchiving, LocalDateTime.now()) .set(WarningRecord::getArchiving, LocalDateTime.now())
.set(WarningRecord::getFlowState,"0") // .set(WarningRecord::getFlowState,"0")
.set(WarningRecord::getNode,FlowStateEnum.End.getLabel()) .set(WarningRecord::getNode,FlowStateEnum.End.getLabel())
); );
//版本存储 //版本存储
@ -480,5 +472,41 @@ public class ReportFlowService extends ServiceImpl<ReportFlowMapper,ReportFlow>
} }
/**
* 直接结束预警
* @param queryParam
* @return
*/
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> auditEndWarning(WarningEndRequest queryParam) {
ReportProject project = projectMapper.selectById(queryParam.getReportId());
project.setWarningState(WarningStateEnum.YWJ.getCode());
projectMapper.updateById(project);
if (ObjectUtil.isNull(project)) {
throw new RuntimeException("操作失败,没有找到对应项目"+ project.getReportName());
}
project.setWarningState(WarningStateEnum.YWJ.getCode());
boolean ok1 = projectMapper.updateById(project) > 0;
UserAuth currentUser = UserContextHolder.getCurrentUser();
// 留痕:写一条结束记录
ReportFlow endFlow = new ReportFlow();
endFlow.setReportId(queryParam.getReportId());
endFlow.setReportLink(FlowWarningEnum.end.getLabel());
endFlow.setReportCode(FlowWarningEnum.end.getValue());
endFlow.setAreportTime(LocalDateTime.now());
endFlow.setApprover(currentUser.getUserName());
endFlow.setApproverId(currentUser.getEmpNo());
endFlow.setApproverUnit(currentUser.getDepartName());
endFlow.setApproverUnitId(currentUser.getDepartId());
endFlow.setApproverTime(LocalDateTime.now());
endFlow.setApproverMessage(queryParam.getMessage());
endFlow.setApproverState(FlowStateEnum.End.getLabel());
//
endFlow.setType("end");
boolean ok2 = baseMapper.insert(endFlow) > 0;
return Result.success(ok1 && ok2); }
} }

Loading…
Cancel
Save