Merge remote-tracking branch 'origin/feature/REQ-3300' into feature/REQ-3300

This commit is contained in:
xudawei 2025-02-19 16:29:54 +08:00
commit eb7f521098
5 changed files with 19 additions and 12 deletions

View File

@ -7,7 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 变洽签关联数据查询入参模型
@ -25,7 +25,7 @@ public class VisaRelationReq {
/**
* 变洽签单据 ID
*/
@NotBlank(message = "变洽签单据 ID不能为空")
@NotNull(message = "变洽签单据 ID不能为空")
private Long visaId;
/**

View File

@ -2,7 +2,6 @@ package cn.axzo.nanopart.visa.server.controller;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.nanopart.visa.api.changerecord.ChangeRecordRelationApi;
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
import cn.axzo.nanopart.visa.api.request.ChangeRecordAppendAttachReq;
import cn.axzo.nanopart.visa.api.request.ImGroupOperationReq;
import cn.axzo.nanopart.visa.api.request.ImGroupTipsQueryReq;
@ -18,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -36,7 +36,7 @@ public class ChangeRecordRelationController implements ChangeRecordRelationApi {
public ApiResult<List<VisaRelationResp>> listByVisaId(VisaRelationReq req) {
return ApiResult.ok(changeRecordRelationService.findByCondition(VisaRelationDto.builder()
.visaId(req.getVisaId())
.varName(VisaRelationFieldEnum.PROCESS_INSTANCE_OF_VISA.name())
.varName(Objects.nonNull(req.getFieldEnum()) ? req.getFieldEnum().name() : null)
.build())
.stream().sorted(Comparator.comparing(ChangeRecordRelation::getCreateAt))
.map(i -> VisaRelationResp.builder()

View File

@ -24,10 +24,8 @@ import java.util.Date;
import java.util.Objects;
import static cn.axzo.nanopart.visa.api.constant.VisaConstant.WORKFLOW_VAR_VISA_TYPE_KEY;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.APPROVE_COMPLETED;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.REJECT_APPROVE;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.REVERT_APPROVE;
import static cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum.TO_APPRROVE;
import static cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum.PROCESS_INSTANCE_OF_VISA;
/**
@ -159,9 +157,13 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
});
ChangeRecord visa = changeRecordService.getById(visaId);
BpmnTaskDelegateAssigner lastOperationAssigner = dto.getLastOperationAssigner();
if (Objects.equals(resultEnum, BpmnProcessInstanceResultEnum.APPROVED)) {
changeRecordService.changeStatus(ChangeStatusRequest.builder()
.visaId(visaId)
.personId(Long.valueOf(lastOperationAssigner.getPersonId()))
.ouId(Long.valueOf(lastOperationAssigner.getOuId()))
.workspaceId(Long.valueOf(lastOperationAssigner.getTenantId()))
.updateStatus(VisaStatusEnum.COMPLETED)
.build());
return;
@ -169,6 +171,9 @@ public class ProcessInstanceAllEventHandler extends BasicLogSupport implements P
// 回退到待提报或决策中
changeRecordService.changeStatus(ChangeStatusRequest.builder()
.visaId(visaId)
.personId(Long.valueOf(lastOperationAssigner.getPersonId()))
.ouId(Long.valueOf(lastOperationAssigner.getOuId()))
.workspaceId(Long.valueOf(lastOperationAssigner.getTenantId()))
.updateStatus(Objects.isNull(visa.getImGroupId()) ? VisaStatusEnum.REPORT_FROM_APPROVE : VisaStatusEnum.DECIDING_FROM_APPROVE)
.build());

View File

@ -146,7 +146,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
return Lists.newArrayList();
}
return this.lambdaQuery().eq(ChangeRecordRelation::getVisaId, dto.getVisaId())
.eq(ChangeRecordRelation::getVarName, dto.getVarName())
.eq(Objects.nonNull(dto.getVarName()), ChangeRecordRelation::getVarName, dto.getVarName())
.eq(StringUtils.hasText(dto.getContent()), ChangeRecordRelation::getContent, dto.getContent())
.eq(StringUtils.hasText(dto.getContentExt()), ChangeRecordRelation::getContentExt, dto.getContentExt())
.eq(Objects.nonNull(dto.getCreateBy()), ChangeRecordRelation::getCreateBy, dto.getCreateBy())

View File

@ -559,7 +559,6 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
/*编辑*/
changeRecord = getById(req.getId());
AssertUtil.notNull(changeRecord, "记录不存在");
AssertUtil.isTrue(changeRecord.getStatus() == VisaStatusEnum.TO_REPORT, "当前状态下不允许编辑");
oldContext = new VisaAddLogContext();
oldContext.setStatus(changeRecord.getStatus());
@ -1398,9 +1397,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
AssertUtil.isFalse(Objects.equals(r.getStatus(), VisaStatusEnum.TO_REPORT) || Objects.equals(r.getStatus(), VisaStatusEnum.FORBIDED), String.format("单据%s状态为%s不允许被关联", r.getNo(), r.getStatus().getDesc()));
});
validBillIfRelated(VisaBillTypeEnum.DESIGN_VISA, billIds, req.getType());
}else {
throw new ServiceException("不支持的关联单据类型");
}
} else {
throw new ServiceException("不支持的关联单据类型");
}
});
}
@ -1465,8 +1464,8 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
public void forbid(ChangeRecordButtonOperationReq req) {
ChangeRecord record = getById(req.getVisaId());
AssertUtil.notNull(record, "未找到变洽签单据");
AssertUtil.isTrue(Objects.equals(record.getStatus(), VisaStatusEnum.TO_REPORT)
&& Objects.equals(record.getStatus(), VisaStatusEnum.COMPLETED), "当前单据状态不支持该操作");
AssertUtil.isTrue(!Objects.equals(record.getStatus(), VisaStatusEnum.TO_REPORT)
&& !Objects.equals(record.getStatus(), VisaStatusEnum.COMPLETED), "当前单据状态不支持该操作");
//校验操作人
validOperationPermission(req.getVisaId(), req.getOperatorPersonId(), req.getOperatorOuId(), req.getOperatorWorkspaceId());
@ -1644,6 +1643,9 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
changeStatus(ChangeStatusRequest.builder()
.visaId(req.getVisaId())
.personId(req.getOperatorPersonId())
.ouId(req.getOperatorOuId())
.workspaceId(req.getOperatorWorkspaceId())
.updateStatus(VisaStatusEnum.EXECUTING)
.build());
}