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

This commit is contained in:
xudawei 2025-02-07 16:15:48 +08:00
commit 38fb0ba163
3 changed files with 64 additions and 9 deletions

View File

@ -1,11 +1,10 @@
package cn.axzo.nanopart.visa.api.request;
import cn.axzo.maokai.common.enums.SaasCooperateShipCooperateTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
import cn.axzo.nanopart.visa.api.enums.VisaBillTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
import cn.axzo.workflow.common.model.dto.UploadFieldDTO;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -97,7 +96,7 @@ public class VisaChangeTempCreateReq {
* ]
* </pre>
*/
private JSONObject relationArea;
private JSONArray relationArea;
/**
* 提出时间
@ -159,11 +158,11 @@ public class VisaChangeTempCreateReq {
/**
* 关联的单据key: 单据类型value: 单据id集合
* <p>
* TASK_ORDER 任务单 RECTIFICATION_ORDER 整改单 VISA_ORDER变更单
* TASK 任务单 RECTIFY 整改单 DESIGN_VISA变更单
* 只有变更签证类型即{@code type}技术核定工程签证时才可能会有关联变更单
* </p>
*
* @see VisaRelationFieldEnum
* @see VisaBillTypeEnum
*/
private Map<String, List<Long>> relationOrderMap;

View File

@ -1,6 +1,6 @@
package cn.axzo.nanopart.visa.server.dto;
import cn.axzo.nanopart.visa.api.enums.VisaRelationFieldEnum;
import cn.axzo.nanopart.visa.api.enums.VisaBillTypeEnum;
import cn.axzo.nanopart.visa.api.enums.VisaTypeEnum;
import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
@ -44,7 +44,7 @@ public class VisaBillDto {
/**
* 单据类型
*/
private VisaRelationFieldEnum billType;
private VisaBillTypeEnum billType;
/**
* 额外信息
*/

View File

@ -72,6 +72,7 @@ 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;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCreateDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner;
@ -81,6 +82,7 @@ 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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -530,7 +532,7 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
.visaId(changeRecord.getId())
.visaType(changeRecord.getType())
.billId(o)
.billType(VisaRelationFieldEnum.valueOf(os.getKey()))
.billType(VisaBillTypeEnum.valueOf(os.getKey()))
.createBy(req.getOperatorPersonId())
.updateBy(req.getOperatorPersonId())
.build()))
@ -1203,6 +1205,60 @@ public class ChangeRecordServiceImpl extends ServiceImpl<ChangeRecordDao, Change
* @return VisaChangeApproveCreateReq
*/
private VisaChangeApproveCreateReq buildVisaChangeApproveCreateReqByVisaId(Long visaId) {
return null;
if (NumberUtil.isNotPositiveNumber(visaId)) {
return null;
}
ChangeRecord changeRecord = getById(visaId);
if (Objects.isNull(changeRecord)) {
return null;
}
VisaChangeApproveCreateReq req = new VisaChangeApproveCreateReq();
// 基本信息
BeanUtil.copyProperties(changeRecord, req);
// 工程名称
ProjectDetailRes projectById = visaProjectApiGateway.getProjectById(changeRecord.getRelationProject());
req.setRelationProjectName(projectById.getProjectInfo().getName());
// 相关单位及人员
VisaConfirmDto confirmDto = VisaConfirmDto.builder().visaId(changeRecord.getId()).bizType(VisaConfirmBizTypeEnum.CONFIRM).build();
List<ChangeRecordConfirm> confirms = changeRecordConfirmService.findByCondition(confirmDto);
if (CollectionUtils.isNotEmpty(confirms)) {
req.setRelationUnitAndPersonList(confirms.stream()
.map(item -> BeanUtil.copyProperties(item, VisaChangeTempCreateReq.RelationUnitAndPerson.class))
.collect(Collectors.toList()));
}
// 发生内容说明
List<ChangeRecordRelation> contentDescription = changeRecordRelationService.findByVisaAndVarName(changeRecord.getId(), VisaRelationFieldEnum.CONTENT_DESCRIPTION.name());
if (CollectionUtils.isNotEmpty(contentDescription)) {
req.setChangeContextAndDescriptionList(contentDescription.stream()
.map(item -> {
try {
return JSONObject.parseObject(item.getContent(), VisaChangeTempCreateReq.ChangeContextAndDescription.class);
} catch (Exception e) {
throw new ServiceException("发生内容说明解析失败");
}
})
.collect(Collectors.toList()));
}
// 关联单据
List<ChangeRecordBill> bills = changeRecordBillService.listById(changeRecord.getId());
if (CollectionUtils.isNotEmpty(bills)) {
req.setRelationOrderMap(bills.stream().collect(Collectors.groupingBy(b -> b.getBillType().name(),
Collectors.mapping(ChangeRecordBill::getBillId, Collectors.toList())))
);
}
// 附件
List<ChangeRecordRelation> attach = changeRecordRelationService.findByVisaAndVarName(changeRecord.getId(), VisaRelationFieldEnum.ATTACHMENT.name());
if (CollectionUtils.isNotEmpty(attach)) {
req.setAttach(attach.stream()
.map(item -> {
try {
return JSONObject.parseObject(item.getContent(), UploadFieldDTO.class);
} catch (Exception e) {
throw new ServiceException("附件解析失败");
}
})
.collect(Collectors.toList()));
}
return req;
}
}