Merge remote-tracking branch 'origin/feature/REQ-3581' into feature/REQ-3581
This commit is contained in:
commit
c7bf09589d
@ -2,6 +2,7 @@ package cn.axzo.nanopart.visa.api.response;
|
|||||||
|
|
||||||
import cn.axzo.maokai.common.enums.SaasCooperateShipCooperateTypeEnum;
|
import cn.axzo.maokai.common.enums.SaasCooperateShipCooperateTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
||||||
|
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq;
|
||||||
@ -216,6 +217,16 @@ public class VisaDetailByIdResponse {
|
|||||||
*/
|
*/
|
||||||
private Long currentPersonId;
|
private Long currentPersonId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 合同 ID
|
||||||
|
*/
|
||||||
|
private String contractId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用印状态
|
||||||
|
*/
|
||||||
|
private VisaStampStatusEnum stampStatus;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
|||||||
@ -98,7 +98,7 @@ public class ChangeRecordController implements ChangeRecordApi {
|
|||||||
|
|
||||||
if (req.isNeedBtnList()) {
|
if (req.isNeedBtnList()) {
|
||||||
// resp.setBtnList(VisaButtonTypeEnum.sort(VisaButtonTypeEnum.all()));
|
// resp.setBtnList(VisaButtonTypeEnum.sort(VisaButtonTypeEnum.all()));
|
||||||
resp.setBtnList(changeRecordConfirmService.fetchBtnsByCondition(req.getVisaId(), req.getPersonId(), req.getOuId(), req.getWorkspaceId(), resp.getStatus(), resp.getApprovalId()));
|
resp.setBtnList(changeRecordConfirmService.fetchBtnsByCondition(req.getVisaId(), req.getPersonId(), req.getOuId(), req.getWorkspaceId(), resp.getStatus(), resp.getApprovalId(), resp.getStampStatus()));
|
||||||
}
|
}
|
||||||
return ApiResult.ok(resp);
|
return ApiResult.ok(resp);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package cn.axzo.nanopart.visa.server.service;
|
|||||||
|
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
|
||||||
|
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
||||||
@ -58,7 +59,7 @@ public interface ChangeRecordConfirmService {
|
|||||||
* 获取按钮集合
|
* 获取按钮集合
|
||||||
* 确认人与发起人的不同的单据状态,按钮列表不相同
|
* 确认人与发起人的不同的单据状态,按钮列表不相同
|
||||||
*/
|
*/
|
||||||
List<VisaButtonTypeEnum> fetchBtnsByCondition(Long visaId, Long personId, Long ouId, Long workspaceId, VisaStatusEnum status, String approvalId);
|
List<VisaButtonTypeEnum> fetchBtnsByCondition(Long visaId, Long personId, Long ouId, Long workspaceId, VisaStatusEnum status, String approvalId, VisaStampStatusEnum stampStatus);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限过滤
|
* 权限过滤
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import cn.axzo.maokai.api.vo.response.OrganizationalUnitVO;
|
|||||||
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaButtonTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaConfirmBizTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaLogTypeEnum;
|
||||||
|
import cn.axzo.nanopart.visa.api.enums.VisaStampStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaStatusEnum;
|
||||||
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
|
||||||
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
import cn.axzo.nanopart.visa.api.request.VisaChangeApproveCreateReq;
|
||||||
@ -128,7 +129,7 @@ public class ChangeRecordConfirmServiceImpl extends ServiceImpl<ChangeRecordConf
|
|||||||
* 确认人与发起人的不同的单据状态,按钮列表不相同
|
* 确认人与发起人的不同的单据状态,按钮列表不相同
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<VisaButtonTypeEnum> fetchBtnsByCondition(Long visaId, Long personId, Long ouId, Long workspaceId, VisaStatusEnum status, String approvalId) {
|
public List<VisaButtonTypeEnum> fetchBtnsByCondition(Long visaId, Long personId, Long ouId, Long workspaceId, VisaStatusEnum status, String approvalId, VisaStampStatusEnum stampStatus) {
|
||||||
Set<VisaConfirmBizTypeEnum> bizTypes = fetchBizTypesByCondition(visaId, personId, ouId, workspaceId);
|
Set<VisaConfirmBizTypeEnum> bizTypes = fetchBizTypesByCondition(visaId, personId, ouId, workspaceId);
|
||||||
//添加审批人添加到集合bizTypes中
|
//添加审批人添加到集合bizTypes中
|
||||||
this.addBizTypeApprove(bizTypes, visaId, personId, ouId, workspaceId);
|
this.addBizTypeApprove(bizTypes, visaId, personId, ouId, workspaceId);
|
||||||
@ -152,6 +153,23 @@ public class ChangeRecordConfirmServiceImpl extends ServiceImpl<ChangeRecordConf
|
|||||||
if (!changeRecordLogService.hasLogType(visaId, VisaLogTypeEnum.CHAT_GROUP)) {
|
if (!changeRecordLogService.hasLogType(visaId, VisaLogTypeEnum.CHAT_GROUP)) {
|
||||||
visaButtonTypeEnums.remove(VisaButtonTypeEnum.CHAT_GROUP_RECORD);
|
visaButtonTypeEnums.remove(VisaButtonTypeEnum.CHAT_GROUP_RECORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Objects.nonNull(stampStatus)) {
|
||||||
|
switch (stampStatus) {
|
||||||
|
case UNPRINTED:
|
||||||
|
visaButtonTypeEnums.add(VisaButtonTypeEnum.REQUEST_STAMP);
|
||||||
|
break;
|
||||||
|
case WITH_PRINT:
|
||||||
|
visaButtonTypeEnums.add(VisaButtonTypeEnum.STAMP_PROGRESS);
|
||||||
|
break;
|
||||||
|
case USED_PRINTS:
|
||||||
|
visaButtonTypeEnums.add(VisaButtonTypeEnum.STAMP_FILE);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(visaButtonTypeEnums)) {
|
if (CollectionUtils.isEmpty(visaButtonTypeEnums)) {
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
}
|
}
|
||||||
@ -230,7 +248,7 @@ public class ChangeRecordConfirmServiceImpl extends ServiceImpl<ChangeRecordConf
|
|||||||
*/
|
*/
|
||||||
private List<OrgNodeUserDTO> fetchOrgNodeUserDTOList(List<Long> personIds, Long ouId, Long workspaceId) {
|
private List<OrgNodeUserDTO> fetchOrgNodeUserDTOList(List<Long> personIds, Long ouId, Long workspaceId) {
|
||||||
PageResp<OrgNodeUserDTO> pageResp = visaOrganizationalNodeUserGateway.list(ListOrgNodeUserReq.builder()
|
PageResp<OrgNodeUserDTO> pageResp = visaOrganizationalNodeUserGateway.list(ListOrgNodeUserReq.builder()
|
||||||
.personIds(personIds)
|
.personIds(personIds)
|
||||||
.organizationalUnitId(ouId)
|
.organizationalUnitId(ouId)
|
||||||
.workspaceId(workspaceId)
|
.workspaceId(workspaceId)
|
||||||
.needs(ListNodeUserReq.Needs.builder().job(true).unit(true).personProfile(true).build()).build());
|
.needs(ListNodeUserReq.Needs.builder().job(true).unit(true).personProfile(true).build()).build());
|
||||||
@ -307,40 +325,39 @@ public class ChangeRecordConfirmServiceImpl extends ServiceImpl<ChangeRecordConf
|
|||||||
/**
|
/**
|
||||||
* 构建确认人
|
* 构建确认人
|
||||||
*/
|
*/
|
||||||
private List<VisaDetailByIdResponse.RelationPerson> buildRelationPersonList(List<ChangeRecordConfirm> confirmList,Map<Long, List<OrgNodeUserDTO>> personNodeUserMap) {
|
private List<VisaDetailByIdResponse.RelationPerson> buildRelationPersonList(List<ChangeRecordConfirm> confirmList, Map<Long, List<OrgNodeUserDTO>> personNodeUserMap) {
|
||||||
return confirmList.stream().map(item -> {
|
return confirmList.stream().map(item -> {
|
||||||
|
|
||||||
List<OrgNodeUserDTO> orgNodeUserDTOS = personNodeUserMap.get(item.getPersonId());
|
List<OrgNodeUserDTO> orgNodeUserDTOS = personNodeUserMap.get(item.getPersonId());
|
||||||
//有班组时,优先取班组岗位
|
//有班组时,优先取班组岗位
|
||||||
OrgNodeUserDTO nodeUserDTO = Constants.nodeUserDTOByList(orgNodeUserDTOS);
|
OrgNodeUserDTO nodeUserDTO = Constants.nodeUserDTOByList(orgNodeUserDTOS);
|
||||||
|
|
||||||
VisaDetailByIdResponse.RelationPerson relationPerson = VisaDetailByIdResponse.RelationPerson.builder()
|
VisaDetailByIdResponse.RelationPerson relationPerson = VisaDetailByIdResponse.RelationPerson.builder()
|
||||||
.ouId(item.getOuId())
|
.ouId(item.getOuId())
|
||||||
.workspaceId(item.getWorkspaceId())
|
.workspaceId(item.getWorkspaceId())
|
||||||
.nodeId(item.getNodeId())
|
.nodeId(item.getNodeId())
|
||||||
.personId(item.getPersonId())
|
.personId(item.getPersonId())
|
||||||
.projectId(item.getProjectId())
|
.projectId(item.getProjectId())
|
||||||
.type(item.getType())
|
.type(item.getType())
|
||||||
.build();
|
.build();
|
||||||
if (Objects.nonNull(nodeUserDTO)) {
|
if (Objects.nonNull(nodeUserDTO)) {
|
||||||
relationPerson.setRealName(nodeUserDTO.getRealName());
|
relationPerson.setRealName(nodeUserDTO.getRealName());
|
||||||
|
|
||||||
if (Objects.nonNull(nodeUserDTO.getPersonProfile())) {
|
if (Objects.nonNull(nodeUserDTO.getPersonProfile())) {
|
||||||
relationPerson.setAvatarUrl(nodeUserDTO.getPersonProfile().getAvatarUrl());
|
relationPerson.setAvatarUrl(nodeUserDTO.getPersonProfile().getAvatarUrl());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Objects.nonNull(nodeUserDTO.getJob())) {
|
||||||
|
relationPerson.setJobId(nodeUserDTO.getJob().getId());
|
||||||
|
relationPerson.setJobName(nodeUserDTO.getJob().getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return relationPerson;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Objects.nonNull(nodeUserDTO.getJob())) {
|
|
||||||
relationPerson.setJobId(nodeUserDTO.getJob().getId());
|
|
||||||
relationPerson.setJobName(nodeUserDTO.getJob().getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return relationPerson;
|
|
||||||
}
|
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构建人员的集合,key:personId,value:realName
|
* 构建人员的集合,key:personId,value:realName
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -425,6 +425,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
|
|||||||
.approvalId(visa.getApprovalId()) //最终审批ID
|
.approvalId(visa.getApprovalId()) //最终审批ID
|
||||||
.approvalStatus(visa.getApprovalStatus()) //最终审批状态
|
.approvalStatus(visa.getApprovalStatus()) //最终审批状态
|
||||||
.topic(visa.getTopic()) // 主题
|
.topic(visa.getTopic()) // 主题
|
||||||
|
.contractId(visa.getContractId())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user