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

# Conflicts:
#	visa/visa-server/src/main/java/cn/axzo/nanopart/visa/server/service/impl/ChangeRecordServiceImpl.java
This commit is contained in:
xudawei 2025-02-10 14:49:59 +08:00
commit f1aaaf828c
8 changed files with 81 additions and 20 deletions

View File

@ -13,6 +13,7 @@ import cn.axzo.nanopart.visa.api.request.VisaChangePageSearchReq;
import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq;
import cn.axzo.nanopart.visa.api.request.VisaDetailByIdRequest;
import cn.axzo.nanopart.visa.api.request.VisaInitiatorListReq;
import cn.axzo.nanopart.visa.api.response.VisaChangeDiscussCreateResp;
import cn.axzo.nanopart.visa.api.response.VisaChangeInitiatorResp;
import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp;
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
@ -48,7 +49,7 @@ public interface ChangeRecordApi {
* @return 签证变更记录id
*/
@PostMapping("/api/visa/change/discussCreate")
ApiResult<Long> discussCreateVisaChangeRecord(@RequestBody VisaChangeDiscussCreateReq req);
ApiResult<VisaChangeDiscussCreateResp> discussCreateVisaChangeRecord(@RequestBody VisaChangeDiscussCreateReq req);
/**
* 发起变更签证审批

View File

@ -0,0 +1,33 @@
package cn.axzo.nanopart.visa.api.response;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author chenwenjian
* @version 1.0
* @date 2025/2/10 14:17
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class VisaChangeDiscussCreateResp {
/**
* 变洽签单据id
*/
private Long visaId;
/**
* 群聊id
*/
private Long imGroupId;
/**
* 群聊名称
*/
private String imGroupName;
}

View File

@ -48,7 +48,7 @@ public class VisaRelationResp {
/**
* 数据值的一些额外描述
*/
private String content_ext;
private String contentExt;
/**
* 创建时间

View File

@ -16,12 +16,12 @@ import cn.axzo.nanopart.visa.api.request.VisaChangePageSearchReq;
import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq;
import cn.axzo.nanopart.visa.api.request.VisaDetailByIdRequest;
import cn.axzo.nanopart.visa.api.request.VisaInitiatorListReq;
import cn.axzo.nanopart.visa.api.response.VisaChangeDiscussCreateResp;
import cn.axzo.nanopart.visa.api.response.VisaChangeInitiatorResp;
import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp;
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
import cn.axzo.nanopart.visa.server.service.ChangeRecordConfirmService;
import cn.axzo.nanopart.visa.server.service.ChangeRecordService;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -53,7 +53,7 @@ public class ChangeRecordController implements ChangeRecordApi {
}
@Override
public ApiResult<Long> discussCreateVisaChangeRecord(VisaChangeDiscussCreateReq req) {
public ApiResult<VisaChangeDiscussCreateResp> discussCreateVisaChangeRecord(VisaChangeDiscussCreateReq req) {
return ApiResult.ok(changeRecordService.discussCreateVisaChangeRecord(req));
}

View File

@ -2,20 +2,23 @@ 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;
import cn.axzo.nanopart.visa.api.request.VisaRelationReq;
import cn.axzo.nanopart.visa.api.response.ImGroupTipsResp;
import cn.axzo.nanopart.visa.api.response.VisaRelationResp;
import cn.axzo.nanopart.visa.server.domain.ChangeRecordRelation;
import cn.axzo.nanopart.visa.server.dto.VisaRelationDto;
import cn.axzo.nanopart.visa.server.service.ChangeRecordRelationService;
import cn.axzo.nanopart.visa.server.service.ChangeRecordService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RestController;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author xudawei
@ -27,14 +30,25 @@ import java.util.List;
@RequiredArgsConstructor
public class ChangeRecordRelationController implements ChangeRecordRelationApi {
@Autowired
private ChangeRecordService changeRecordService;
@Autowired
private ChangeRecordRelationService changeRecordRelationService;
private final ChangeRecordRelationService changeRecordRelationService;
@Override
public ApiResult<List<VisaRelationResp>> listByVisaId(VisaRelationReq req) {
return null;
return ApiResult.ok(changeRecordRelationService.findByCondition(VisaRelationDto.builder()
.visaId(req.getVisaId())
.varName(VisaRelationFieldEnum.PROCESS_INSTANCE.name())
.build())
.stream().sorted(Comparator.comparing(ChangeRecordRelation::getCreateAt))
.map(i -> VisaRelationResp.builder()
.id(i.getId())
.visaId(String.valueOf(i.getVisaId()))
.varName(i.getVarName())
.varExt(i.getVarExt())
.varType(i.getVarType())
.content(i.getContent())
.contentExt(i.getContentExt())
.createAt(i.getCreateAt())
.build()).collect(Collectors.toList()));
}
@Override

View File

@ -11,6 +11,7 @@ import cn.axzo.nanopart.visa.api.request.VisaChangeExportReq;
import cn.axzo.nanopart.visa.api.request.VisaChangePageSearchReq;
import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq;
import cn.axzo.nanopart.visa.api.request.VisaInitiatorListReq;
import cn.axzo.nanopart.visa.api.response.VisaChangeDiscussCreateResp;
import cn.axzo.nanopart.visa.api.response.VisaChangeInitiatorResp;
import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp;
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
@ -66,7 +67,7 @@ public interface ChangeRecordService extends IService<ChangeRecord> {
* @param req 表单数据
* @return 变更签证Id
*/
Long discussCreateVisaChangeRecord(VisaChangeDiscussCreateReq req);
VisaChangeDiscussCreateResp discussCreateVisaChangeRecord(VisaChangeDiscussCreateReq req);
/**
* 创建审批变更签证

View File

@ -162,7 +162,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
ChangeRecordRelation relation = new ChangeRecordRelation();
relation.setVisaId(req.getVisaId());
relation.setVarName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.getCode());
relation.setVarName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.name());
relation.setVarExt(req.getButtonType().name());
relation.setVarType(VisaRelationVarTypeEnum.LONG.getType());
relation.setContentExt(String.valueOf(req.getOperatorWorkspaceId()));
@ -198,7 +198,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
} else {
List<ChangeRecordRelation> byCondition = findByCondition(VisaRelationDto.builder()
.visaId(req.getVisaId())
.varName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.getCode())
.varName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.name())
.content(String.valueOf(req.getOperatorOuId()))
.contentExt(NumberUtil.isPositiveNumber(req.getOperatorWorkspaceId()) ? String.valueOf(req.getOperatorWorkspaceId()) : null)
.createBy(req.getOperatorPersonId())
@ -219,7 +219,7 @@ public class ChangeRecordRelationServiceImpl extends ServiceImpl<ChangeRecordRel
resp.setStatusText(record.getStatus().getDesc());
List<ChangeRecordRelation> imGroupParticipate = findByCondition(VisaRelationDto.builder()
.visaId(req.getVisaId())
.varName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.getCode())
.varName(VisaRelationFieldEnum.IM_GROUP_PARTICIPATE.name())
.build());
List<ImGroupButton> buttons = new ArrayList<>();

View File

@ -1,5 +1,6 @@
package cn.axzo.nanopart.visa.server.service.impl;
import cn.axzo.apollo.api.res.ConstructionAreaInfo;
import cn.axzo.apollo.workspace.api.workspace.res.GetDetailRes;
import cn.axzo.apollo.workspace.api.workspace.res.ProjectBriefResp;
import cn.axzo.apollo.workspace.api.workspace.res.ProjectDetailRes;
@ -44,6 +45,7 @@ import cn.axzo.nanopart.visa.api.request.VisaChangeExportReq;
import cn.axzo.nanopart.visa.api.request.VisaChangePageSearchReq;
import cn.axzo.nanopart.visa.api.request.VisaChangeTempCreateReq;
import cn.axzo.nanopart.visa.api.request.VisaInitiatorListReq;
import cn.axzo.nanopart.visa.api.response.VisaChangeDiscussCreateResp;
import cn.axzo.nanopart.visa.api.response.VisaChangeInitiatorResp;
import cn.axzo.nanopart.visa.api.response.VisaChangePageSearchResp;
import cn.axzo.nanopart.visa.api.response.VisaDetailByIdResponse;
@ -79,6 +81,7 @@ import cn.axzo.nanopart.visa.server.utils.Constants;
import cn.axzo.orggateway.api.nodeuser.dto.OrgNodeUserDTO;
import cn.axzo.orggateway.api.nodeuser.req.ListOrgNodeUserReq;
import cn.axzo.orgmanax.dto.nodeuser.req.ListNodeUserReq;
import cn.axzo.thor.client.model.DrawingMajorResp;
import cn.axzo.workflow.common.enums.BpmnProcessInstanceResultEnum;
import cn.axzo.workflow.common.model.dto.UploadFieldDTO;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
@ -89,6 +92,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Pair;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -579,7 +583,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Long discussCreateVisaChangeRecord(VisaChangeDiscussCreateReq req) {
public VisaChangeDiscussCreateResp discussCreateVisaChangeRecord(VisaChangeDiscussCreateReq req) {
/*暂存数据*/
Long visaId = tempCreateVisaChangeRecord(req);
/*创建群聊*/
@ -623,7 +627,11 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
.ouId(req.getOperatorOuId())
.workspaceId(req.getRelationWorkspaceId())
.build());
return visaId;
return VisaChangeDiscussCreateResp.builder()
.visaId(visaId)
.imGroupId(imGroup.getTid())
.imGroupName(req.getTopic())
.build();
}
private void updateImInfo(Long visaId, GroupCreateResponse imGroup) {
@ -701,17 +709,17 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
// 三种单据
if (MapUtils.isNotEmpty(req.getRelationOrderMap())) {
List<Long> taskOrderIds = req.getRelationOrderMap().getOrDefault(VisaRelationFieldEnum.TASK_ORDER.getCode(), null);
List<Long> taskOrderIds = req.getRelationOrderMap().getOrDefault(VisaBillTypeEnum.TASK.name(), null);
if (CollectionUtils.isNotEmpty(taskOrderIds)) {
formVariables.put(FORM_FIELD_RELATION_TASK_ORDER, taskOrderIds);
}
List<Long> rectificationOrderIds = req.getRelationOrderMap().getOrDefault(VisaRelationFieldEnum.RECTIFICATION_ORDER.getCode(), null);
List<Long> rectificationOrderIds = req.getRelationOrderMap().getOrDefault(VisaBillTypeEnum.RECTIFY.name(), null);
if (CollectionUtils.isNotEmpty(rectificationOrderIds)) {
formVariables.put(FORM_FIELD_RELATION_RECTIFICATION_ORDER, rectificationOrderIds);
}
List<Long> visaOrderIds = req.getRelationOrderMap().getOrDefault(VisaRelationFieldEnum.VISA_ORDER.getCode(), null);
List<Long> visaOrderIds = req.getRelationOrderMap().getOrDefault(VisaBillTypeEnum.DESIGN_VISA.name(), null);
if (CollectionUtils.isNotEmpty(visaOrderIds)) {
formVariables.put(FORM_FIELD_RELATION_VISA_ORDER, visaOrderIds);
}
@ -1277,8 +1285,12 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
req.setOperatorWorkspaceId(visa.getRelationWorkspaceId());
validOperationPermission(req.getVisaId(), req.getOperatorPersonId(), req.getOperatorOuId(), req.getOperatorWorkspaceId());
// 组装 REQ 参数
VisaChangeApproveCreateReq createReq = buildVisaChangeApproveCreateReqByVisaId(req.getVisaId());
AssertUtil.notNull(createReq, "未找到变洽签单据");
// 校验
validVisaChangeForm(createReq);
createReq.setApprovePersonInfoList(req.getApprovePersonInfoList());
createReq.setOperatorOuId(req.getOperatorOuId());
createReq.setOperatorPersonId(req.getOperatorPersonId());