Commit 735950a0 authored by xuzhang's avatar xuzhang

feat[doc]代码迁移

parent f46a9062
package com.yonde.dcs.document.common.vo;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dcs.document.common.vo.ExtAtlasDrawingLinkVO;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.yonde.dcs.document.expand.entity.DxDocumentVOExpand;
import com.yonde.dcs.document.expand.plugin.DxDocumentVOPluginExpand;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOHolder;
import com.yonde.dex.version.plugin.common.entity.DxIterationVOEmbeddable;
import com.yonde.dcs.document.common.vo.ExtObjectDocLinkVO;
import com.yonde.dcs.document.common.vo.ExtRefJobContractDocVO;
import com.yonde.dex.lcycle.plugin.common.entity.DxLifecycleManageBaseVOEmbeddable;
import com.yonde.dex.basedata.data.expands.DxExpandVO;
import com.yonde.dex.basedata.entity.annotation.DexEmbedded;
import com.yonde.dex.basedata.entity.annotation.ReferenceProperty;
import com.yonde.dex.basedata.entity.annotation.RelationProperty;
import com.yonde.dex.basedata.entity.annotation.VersionProperty;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dcs.document.common.vo.ExtRelatedDcrLinkVO;
import com.yonde.dcs.document.common.vo.ExtReviewChangeLinkVO;
import com.yonde.dcs.document.common.vo.ExtRelatedNcrLinkVO;
import com.yonde.dex.container.folder.plugin.common.entity.DxObjFolderVOEmbeddable;
import com.yonde.dex.container.folder.plugin.common.entity.DxObjFolderVOHolder;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dcs.document.common.vo.ExtRefContractDocVO;
import com.yonde.dex.dfs.objfilelink.plugin.common.entity.DxObjFileLinkVOEmbeddable;
import com.yonde.dex.dfs.objfilelink.plugin.common.entity.DxObjFileLinkVOHolder;
import com.yonde.dex.lcycle.plugin.common.entity.DxLifecycleManageBaseVOEmbeddable;
import com.yonde.dex.lcycle.plugin.common.entity.DxLifecycleManageBaseVOHolder;
import com.yonde.dcs.document.common.vo.ExtDenDescriptLinkVO;
import com.yonde.dcs.document.common.vo.ExtRefDesignInputLinkVO;
import com.yonde.dcs.document.common.vo.ExtComDocLinkVO;
import com.yonde.dcs.document.common.vo.ExtInterfaceInfoLinkVO;
import com.yonde.dex.sandbox.plugin.common.entity.DxSandboxVOEmbeddable;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOEmbeddable;
import com.yonde.dex.container.folder.plugin.common.entity.DxObjFolderVOHolder;
import com.yonde.dcs.document.common.vo.ExtReviewDocComLinkVO;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import com.yonde.dcs.document.common.vo.ExtTechStandardLinkVO;
import com.yonde.dcs.document.common.vo.ExtSendFormLinkVO;
import com.yonde.dex.container.folder.plugin.common.entity.DxObjFolderVOEmbeddable;
import com.yonde.dex.basedata.entity.users.DxUserVO;
import com.yonde.dcs.document.common.vo.ExtReviewDocLinkVO;
import com.yonde.dcs.document.common.vo.ExtRefOutsideDocVO;
import com.yonde.dex.sandbox.plugin.common.entity.DxSandboxVOHolder;
import com.yonde.dcs.document.common.vo.ExtApplyDocVO;
import com.yonde.dcs.document.common.vo.ExtChangeReasonLinkVO;
import com.yonde.dex.dfs.objfilelink.plugin.common.entity.DxObjFileLinkVOEmbeddable;
import com.yonde.dex.version.plugin.common.entity.DxIterationVOHolder;
import com.yonde.dcs.document.expand.entity.DxDocumentVOExpand;
import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO;
import com.yonde.dcs.document.common.vo.ExtRelatedDrawingLinkVO;
import com.yonde.dcs.document.common.vo.ExtInterfaceDocLinkVO;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dcs.document.common.vo.ExtReplyDocVO;
import com.yonde.dcs.document.common.vo.ExtDocumentReferentLinkVO;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.dfs.objfilelink.plugin.common.entity.DxObjFileLinkVOHolder;
import com.yonde.dcs.document.common.vo.ExtReplenishLinkVO;
import com.yonde.dcs.document.common.vo.ExtInterfaceReplaceLinkVO;
import com.yonde.dcs.document.common.vo.ExtCheckedFileLinkVO;
import com.yonde.dcs.document.common.vo.ExtAuditRecordCardLinkVO;
import com.yonde.dcs.document.common.vo.ExtRelatedInterfaceLinkVO;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOEmbeddable;
import com.yonde.dex.secretcode.plugin.common.entity.DxSecretVOHolder;
import com.yonde.dex.user.common.vo.DxOrganizationVO;
import com.yonde.dcs.document.common.vo.ExtRelatedDenLinkVO;
import com.yonde.dex.basedata.data.expands.DxExpandVO;
import com.yonde.dex.version.plugin.common.entity.DxIterationVOEmbeddable;
import com.yonde.dex.version.plugin.common.entity.DxIterationVOHolder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
/**
* @description: DxDocument-VO
......
package com.yonde.dcs.document.common.vo;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
......@@ -36,8 +14,6 @@ import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.linkdata.plugin.common.DxLinkDataVOHolder;
import com.yonde.dex.linkdata.plugin.common.DxLinkDataVOEmbeddable;
import com.yonde.dcs.document.common.vo.DxDocumentVO;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtObsoleteDocLink-VO
......
package com.yonde.dcs.document.common.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dex.basedata.entity.annotation.DexEmbedded;
import com.yonde.dex.basedata.entity.annotation.ModelConfigProperty;
import com.yonde.dex.basedata.entity.annotation.ReferenceProperty;
import com.yonde.dex.basedata.entity.annotation.VersionProperty;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.linkdata.plugin.common.DxLinkDataVOEmbeddable;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.Map;
/**
* @author xfchai
* @description: 过时文件通知单实体VO
* @version: 0
* @date: 2021-09-27 10:48:22
**/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@JsonTypeInfo(
use = JsonTypeInfo.Id.CLASS,
property = "dxClassname",
defaultImpl = ObsoleteDocLinkVO.class
)
@ModelConfigProperty(syncES = true)
public class ObsoleteDocLinkVO extends IdOnlyVO implements IdVO {
/**
* dao扩展对象
*/
@DexEmbedded()
@JsonIgnore
private DxIdVOEmbeddable dxIdEmbeddable;
/**
* 扩展VO属性
*/
@DexEmbedded()
@JsonIgnore
private DxLogicDeleteVOEmbeddable dxLogicDeleteEmbeddable;
/**
* 扩展VO属性
*/
@DexEmbedded()
@JsonIgnore
private DxLinkDataVOEmbeddable<DxDocumentVO, DxDocumentVO> dxLinkDataEmbeddable;
/**
* 文档
*/
@ReferenceProperty(baseProperty = "sourceId")
@VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.VERSION)
private DxDocumentVO source;
/**
* 文档
*/
@ReferenceProperty(baseProperty = "targetId")
@VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.VERSION)
private DxDocumentVO target;
/**
* source对应的属性
*/
private Long sourceId;
/**
* sourceId对应的类型
*/
private String sourceIdType;
/**
* target对应的属性
*/
private Long targetId;
/**
* targetId对应的类型
*/
private String targetIdType;
private Map<String, Object> dynamicAttrs;
/**
* 关联描述
*/
private String linkDescript;
}
package com.yonde.dcs.document.core.controller;
import org.springframework.stereotype.Controller;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.document.core.service.ExtObsoleteDocLinkService;
import com.yonde.dex.basedata.entity.api.ApiResult;
import com.yonde.dcs.document.core.controller.shadow.ExtObsoleteDocLinkControllerShadow;
import javax.annotation.Resource;
import com.yonde.dex.basedata.auth.annos.BasePermission;
import org.springframework.stereotype.Controller;
/**
* @description: ExtObsoleteDocLink-Controller
......
package com.yonde.dcs.document.core.controller.shadow;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import java.util.List;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.document.core.service.ExtObsoleteDocLinkService;
import com.yonde.dcs.document.core.service.impl.ExtObsoleteDocLinkServiceImpl;
import com.yonde.dex.basedata.entity.api.ApiResult;
import javax.annotation.Resource;
import com.yonde.dex.linkdata.plugin.core.controller.DxLinkDataController;
import com.yonde.dex.basedata.auth.annos.BasePermission;
......
package com.yonde.dcs.document.core.factory;
import cn.hutool.core.io.FileUtil;
import com.alibaba.fastjson.JSONObject;
import com.yonde.dcs.document.common.vo.DxDocumentVO;
import com.yonde.dcs.document.common.vo.ExtAtlasDrawingLinkVO;
import com.yonde.dcs.document.common.vo.ExtAuditRecordCardLinkVO;
import com.yonde.dcs.document.common.vo.ExtAuditRecordCardVO;
import com.yonde.dcs.document.core.constants.Constants;
import com.yonde.dcs.document.core.constants.DictConstants;
import com.yonde.dcs.document.core.constants.SignConstants;
import com.yonde.dcs.document.core.service.DxDocumentService;
import com.yonde.dcs.document.core.service.ExtAuditRecordCardLinkService;
import com.yonde.dcs.document.core.service.ExtDocService;
import com.yonde.dcs.document.core.util.DateUtils;
import com.yonde.dcs.document.core.util.ExtDocUtil;
import com.yonde.dcs.document.core.util.WorkFlowUtil;
import com.yonde.dcs.document.core.word.ImportWordService;
......@@ -16,10 +19,15 @@ import com.yonde.dex.basedata.data.search.SearchItem;
import com.yonde.dex.basedata.data.search.SearchItems;
import com.yonde.dex.basedata.data.search.SearchQueryCondition;
import com.yonde.dex.basedata.entity.data.DxPageImpl;
import com.yonde.dex.dfs.vo.ObjFileLinkVO;
import com.yonde.dex.dict.feign.DictDataFeignService;
import com.yonde.dex.dict.service.vo.DictDataVO;
import com.yonde.dex.user.common.vo.DxOrganizationVO;
import com.yonde.dex.user.common.vo.DxUserInfoVO;
import com.yonde.dex.user.feign.DxOrganizationFeign;
import com.yonde.dex.user.feign.DxUserInfoFeign;
import com.yonde.dex.wfc.common.enums.TaskStateEnum;
import com.yonde.dex.wfc.common.vo.DxWfProcessInfoVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessVarVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
......@@ -28,11 +36,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @program: inet-pdm-service
......@@ -48,14 +52,14 @@ public class TechnicalFileUtils {
@Autowired
private ExtDocService extDocService;
@Autowired
@Qualifier("documentServiceImpl")
private DocumentService documentService;
@Autowired
private IInstanceService instanceService;
@Qualifier("dxDocumentServiceImpl")
private DxDocumentService documentService;
// @Autowired
// private IInstanceService instanceService;
@Autowired
private ImportWordService importWordService;
@Autowired
private IOrganizationService organizationService;
private DxOrganizationFeign organizationService;
@Autowired
private DxUserInfoFeign userService;
@Autowired
......@@ -133,39 +137,39 @@ public class TechnicalFileUtils {
// jsonObject.put("phaseState", ObjectUtils.isEmpty(doc.getPhaseState()) ? "" : doc.getPhaseState());
jsonObject.put("state", extDocService.searchDictDataByDictCode(Constants.OBJ_STATUS, doc.getState()));
WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(doc);
List<WfProcessVarVO> wfProcessVarVOList = new ArrayList<>();
Map<String, Object> wfMap = new HashMap<>();
if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
}
List<String> wfProcessVarSInterface = (List<String>) wfMap.get("interfaceReviewUser");
//取接口会签值
log.info("获取interfaceReviewUser的值为:{}", wfProcessVarSInterface);
//定义接口会签信息集合
List<AuditPojo> auditPojoList = new ArrayList<>();
List<AuditRecordCardVO> interfaceHQList = this.interAndSpecialData(doc, jsonObject, INTERFACE_SIGN_NAME);
if (!CollectionUtils.isEmpty(interfaceHQList)) {
for (int i = 0; i < interfaceHQList.size(); i++) {
AuditRecordCardVO auditRecordCardVO = interfaceHQList.get(i);
AuditPojo auditPojo = new AuditPojo();
//序号
auditPojo.setSnumber(String.valueOf(i + 1));
//接口信息描述
auditPojo.setInfoDescribe(auditRecordCardVO.getIssueDescription());
OrganizationVO userIdAndOrgId = getUserIdAndOrgId(wfProcessVarSInterface);
//接口设计项(组)
auditPojo.setInterDesign(userIdAndOrgId.getOrgName());
UserVO userVO = userService.get(auditRecordCardVO.getCreatorId());
//签字
auditPojo.setSignName(userVO.getUserAccount() + ".png");
//日期
auditPojo.setSignDate(DateUtils.converLocalDateToString(auditRecordCardVO.getModifyTime()));
auditPojoList.add(auditPojo);
}
}
jsonObject.put("interHQList", auditPojoList);
//todo
// WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(doc);
// List<DxWfProcessVarVO> wfProcessVarVOList = new ArrayList<>();
// Map<String, Object> wfMap = new HashMap<>();
// if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
// wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
// }
// List<String> wfProcessVarSInterface = (List<String>) wfMap.get("interfaceReviewUser");
// //取接口会签值
// log.info("获取interfaceReviewUser的值为:{}", wfProcessVarSInterface);
// //定义接口会签信息集合
// List<AuditPojo> auditPojoList = new ArrayList<>();
// List<ExtAuditRecordCardVO> interfaceHQList = this.interAndSpecialData(doc, jsonObject, INTERFACE_SIGN_NAME);
// if (!CollectionUtils.isEmpty(interfaceHQList)) {
// for (int i = 0; i < interfaceHQList.size(); i++) {
// ExtAuditRecordCardVO auditRecordCardVO = interfaceHQList.get(i);
// AuditPojo auditPojo = new AuditPojo();
// //序号
// auditPojo.setSnumber(String.valueOf(i + 1));
// //接口信息描述
// auditPojo.setInfoDescribe(auditRecordCardVO.getIssueDescription());
// DxOrganizationVO userIdAndOrgId = getUserIdAndOrgId(wfProcessVarSInterface);
// //接口设计项(组)
// auditPojo.setInterDesign(userIdAndOrgId.getName());
// DxUserInfoVO userVO = (DxUserInfoVO) userService.get(auditRecordCardVO.getCreatorId());
// //签字
// auditPojo.setSignName(userVO.getUserAccount() + ".png");
// //日期
// auditPojo.setSignDate(DateUtils.converLocalDateToString(auditRecordCardVO.getModifyTime()));
// auditPojoList.add(auditPojo);
// }
// }
// jsonObject.put("interHQList", auditPojoList);
return jsonObject;
}
......@@ -192,40 +196,40 @@ public class TechnicalFileUtils {
jsonObject.put("state", extDocService.searchDictDataByDictCode(Constants.OBJ_STATUS, doc.getState()));
// //阶段状态
// jsonObject.put("phaseState", ObjectUtils.isEmpty(doc.getPhaseState()) ? "" : doc.getPhaseState());
//获取人员
WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(doc);
List<WfProcessVarVO> wfProcessVarVOList = new ArrayList<>();
Map<String, Object> wfMap = new HashMap<>();
if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
}
//取专项审查值
List<String> wfProcessVarSAudit = (List<String>) wfMap.get("auditUser");
log.info("获取auditUser的值为:{}", wfProcessVarSAudit);
//定义专项审查信息集合
List<AuditPojo> auditPojoList = new ArrayList<>();
List<AuditRecordCardVO> auditSignList = this.interAndSpecialData(doc, jsonObject, AUDIT_SIGN_NAME);
if (!CollectionUtils.isEmpty(auditSignList)) {
for (int i = 0; i < auditSignList.size(); i++) {
AuditRecordCardVO auditRecordCardVO = auditSignList.get(i);
AuditPojo auditPojo = new AuditPojo();
//序号
auditPojo.setSnumber(String.valueOf(i + 1));
//接口信息描述
auditPojo.setInfoDescribe(auditRecordCardVO.getIssueDescription());
OrganizationVO userIdAndOrgId = getUserIdAndOrgId(wfProcessVarSAudit);
//接口设计项(组)
auditPojo.setInterDesign(userIdAndOrgId.getOrgName());
//签字(图片路径)
UserVO userVO = userService.get(auditRecordCardVO.getCreatorId());
//签字
auditPojo.setSignName(userVO.getUserAccount() + ".png");
//日期
auditPojo.setSignDate(DateUtils.converLocalDateToString(auditRecordCardVO.getModifyTime()));
auditPojoList.add(auditPojo);
}
}
jsonObject.put("auditInfoList", auditPojoList);
//todo 获取人员
// WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(doc);
// List<WfProcessVarVO> wfProcessVarVOList = new ArrayList<>();
// Map<String, Object> wfMap = new HashMap<>();
// if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
// wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
// }
// //取专项审查值
// List<String> wfProcessVarSAudit = (List<String>) wfMap.get("auditUser");
// log.info("获取auditUser的值为:{}", wfProcessVarSAudit);
// //定义专项审查信息集合
// List<AuditPojo> auditPojoList = new ArrayList<>();
// List<AuditRecordCardVO> auditSignList = this.interAndSpecialData(doc, jsonObject, AUDIT_SIGN_NAME);
// if (!CollectionUtils.isEmpty(auditSignList)) {
// for (int i = 0; i < auditSignList.size(); i++) {
// AuditRecordCardVO auditRecordCardVO = auditSignList.get(i);
// AuditPojo auditPojo = new AuditPojo();
// //序号
// auditPojo.setSnumber(String.valueOf(i + 1));
// //接口信息描述
// auditPojo.setInfoDescribe(auditRecordCardVO.getIssueDescription());
// OrganizationVO userIdAndOrgId = getUserIdAndOrgId(wfProcessVarSAudit);
// //接口设计项(组)
// auditPojo.setInterDesign(userIdAndOrgId.getOrgName());
// //签字(图片路径)
// UserVO userVO = userService.get(auditRecordCardVO.getCreatorId());
// //签字
// auditPojo.setSignName(userVO.getUserAccount() + ".png");
// //日期
// auditPojo.setSignDate(DateUtils.converLocalDateToString(auditRecordCardVO.getModifyTime()));
// auditPojoList.add(auditPojo);
// }
// }
// jsonObject.put("auditInfoList", auditPojoList);
return jsonObject;
}
......@@ -244,8 +248,8 @@ public class TechnicalFileUtils {
String fileNumber = Objects.isNull(dynamicAttrs.get("fileNumber")) ? "" : (String) dynamicAttrs.get("fileNumber");
JSONObject jsonObject = new JSONObject();
//项目代号
jsonObject.put("projectCode", (ObjectUtils.isEmpty(doc.getProjectCode()) ? "" : doc.getProjectCode()));
//todo 项目代号
// jsonObject.put("projectCode", (ObjectUtils.isEmpty(doc.getProjectCode()) ? "" : doc.getProjectCode()));
//设计阶段
jsonObject.put("designPhase", extDocService.searchDictDataByDictCode(Constants.DESIGN_STAGE, designPhase));
//专业名称
......@@ -268,7 +272,7 @@ public class TechnicalFileUtils {
history.put("state", StringUtils.isEmpty(item.getPhaseState()) ? "" : item.getPhaseState());
history.put("revisionDescript", extDocService.searchDictDataByDictCode(Constants.REVISION_NOTE, revisionDescript));
Map<String, List<WfProcessTaskVO>> wfHistoryMap = workFlowUtil.getWfInfo(item);
Map<String, List<DxWfProcessTaskVO>> wfHistoryMap = workFlowUtil.getWfInfo(item);
if (!ObjectUtils.isEmpty(wfHistoryMap)) {
//编制
history.put("creator", workFlowUtil.getHandlerUser(wfHistoryMap, SignConstants.SIGN_KEY_PREPARED));
......@@ -301,7 +305,7 @@ public class TechnicalFileUtils {
JSONObject jsonObject = new JSONObject();
//获取相关图纸
List<AtlasDrawingLinkVO> drawingLinks = extDocService.recursionAtlasDoc(doc.getVersionId());
List<ExtAtlasDrawingLinkVO> drawingLinks = extDocService.recursionAtlasDoc(doc.getVersionId());
jsonObject.put("drawingNo", drawingLinks.size());
List<JSONObject> drawingsJson = new ArrayList<>();
......@@ -327,7 +331,7 @@ public class TechnicalFileUtils {
* @param
* @return
*/
public JSONObject settingData(DxDocumentVO doc, WfProcessInfoVO wfProcessInfoVO) {
public JSONObject settingData(DxDocumentVO doc, DxWfProcessInfoVO wfProcessInfoVO) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", doc.getName());
jsonObject.put("number", doc.getNumber());
......@@ -335,67 +339,67 @@ public class TechnicalFileUtils {
jsonObject.put("version", doc.getDisplayVersion());
//填充校核、审核、审定内容的多选框
this.settingContentData(jsonObject, doc);
//填充设计者名字
List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
//获取参与者
if (!CollectionUtils.isEmpty(activities)) {
//打印总体室备注
for (WfTaskDefinitionVO wf : activities) {
if (SignConstants.ZTSSignTaskList.contains(wf.getTaskName())) {
List<WfProcessTaskVO> taskList = wf.getTaskList();
for (WfProcessTaskVO wfPro : taskList) {
//总体室且为通过时,把编制人填写备注的属性,写入word文档
if (SignConstants.WfRoutingList.contains(wfPro.getResult())) {
jsonObject.put("decription", ObjectUtils.isEmpty(wfPro.getComments()) ? "" : wfPro.getComments().get(0));
}
}
}
}
//设计者
jsonObject.put("bz_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
//校核
jsonObject.put("jh_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_CHECKER));
jsonObject.put("jh_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_CHECKER));
//审核
jsonObject.put("sh_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
jsonObject.put("sh_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
//总体室
jsonObject.put("zts_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_ZTSJKSC));
jsonObject.put("zts_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_ZTSJKSC));
//审定
jsonObject.put("sd_name", extDocService.getSignImage(activities, SignConstants.SIGN_SD));
jsonObject.put("sd_date", extDocService.getEndDate(activities, SignConstants.SIGN_SD));
}
List<AuditRecordCardLinkVO> auditRecordRecursionList = this.findAuditRecordRecursion(doc.getVersionId());
//校核List
List<AuditRecordCardVO> checkList = new ArrayList();
List<AuditRecordCardVO> auditList = new ArrayList();
List<AuditRecordCardVO> approvalList = new ArrayList();
if (!CollectionUtils.isEmpty(auditRecordRecursionList)) {
for (AuditRecordCardLinkVO auditRecordCardLinkVO : auditRecordRecursionList) {
AuditRecordCardVO target = auditRecordCardLinkVO.getTarget();
if (!ObjectUtils.isEmpty(target)) {
String taskName = target.getTaskName();
switch (taskName) {
case "校核":
checkList.add(target);
break;
case "审核":
auditList.add(target);
break;
case "审定":
approvalList.add(target);
break;
}
}
}
}
//校核
jsonObject.put("checkList", checkList);
//审核
jsonObject.put("auditList", auditList);
//审定
jsonObject.put("approvalList", approvalList);
//todo 填充设计者名字
// List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
// //获取参与者
// if (!CollectionUtils.isEmpty(activities)) {
// //打印总体室备注
// for (WfTaskDefinitionVO wf : activities) {
// if (SignConstants.ZTSSignTaskList.contains(wf.getTaskName())) {
// List<WfProcessTaskVO> taskList = wf.getTaskList();
// for (WfProcessTaskVO wfPro : taskList) {
// //总体室且为通过时,把编制人填写备注的属性,写入word文档
// if (SignConstants.WfRoutingList.contains(wfPro.getResult())) {
// jsonObject.put("decription", ObjectUtils.isEmpty(wfPro.getComments()) ? "" : wfPro.getComments().get(0));
// }
// }
// }
// }
// //设计者
// jsonObject.put("bz_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
// //校核
// jsonObject.put("jh_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_CHECKER));
// jsonObject.put("jh_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_CHECKER));
// //审核
// jsonObject.put("sh_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
// jsonObject.put("sh_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
// //总体室
// jsonObject.put("zts_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_ZTSJKSC));
// jsonObject.put("zts_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_ZTSJKSC));
// //审定
// jsonObject.put("sd_name", extDocService.getSignImage(activities, SignConstants.SIGN_SD));
// jsonObject.put("sd_date", extDocService.getEndDate(activities, SignConstants.SIGN_SD));
// }
// List<AuditRecordCardLinkVO> auditRecordRecursionList = this.findAuditRecordRecursion(doc.getVersionId());
// //校核List
// List<AuditRecordCardVO> checkList = new ArrayList();
// List<AuditRecordCardVO> auditList = new ArrayList();
// List<AuditRecordCardVO> approvalList = new ArrayList();
// if (!CollectionUtils.isEmpty(auditRecordRecursionList)) {
// for (AuditRecordCardLinkVO auditRecordCardLinkVO : auditRecordRecursionList) {
// AuditRecordCardVO target = auditRecordCardLinkVO.getTarget();
// if (!ObjectUtils.isEmpty(target)) {
// String taskName = target.getTaskName();
// switch (taskName) {
// case "校核":
// checkList.add(target);
// break;
// case "审核":
// auditList.add(target);
// break;
// case "审定":
// approvalList.add(target);
// break;
// }
// }
// }
// }
// //校核
// jsonObject.put("checkList", checkList);
// //审核
// jsonObject.put("auditList", auditList);
// //审定
// jsonObject.put("approvalList", approvalList);
return jsonObject;
}
......@@ -406,21 +410,21 @@ public class TechnicalFileUtils {
* @param doc
*/
private void settingContentData(JSONObject jsonObject, DxDocumentVO doc) {
//校核内容
String checkContent = doc.getCheckContent();
this.handleContentData(DictConstants.CheckContent, checkContent, jsonObject);
//(校核)标准化审查内容
String checkStandardReview = doc.getCheckStandardReview();
this.handleContentData(DictConstants.CheckStandardReview, checkStandardReview, jsonObject);
//审核内容
String reviewContent = doc.getReviewContent();
this.handleContentData(DictConstants.ReviewContent, reviewContent, jsonObject);
//(审核)标准化审查内容
String reviewContentStandard = doc.getReviewContentStandard();
this.handleContentData(DictConstants.ReviewContentStandardReview, reviewContentStandard, jsonObject);
// 审定内容
String verifyContent = doc.getVerifyContent();
this.handleContentData(DictConstants.verifierContent, verifyContent, jsonObject);
//todo 校核内容
// String checkContent = doc.getCheckContent();
// this.handleContentData(DictConstants.CheckContent, checkContent, jsonObject);
// //(校核)标准化审查内容
// String checkStandardReview = doc.getCheckStandardReview();
// this.handleContentData(DictConstants.CheckStandardReview, checkStandardReview, jsonObject);
// //审核内容
// String reviewContent = doc.getReviewContent();
// this.handleContentData(DictConstants.ReviewContent, reviewContent, jsonObject);
// //(审核)标准化审查内容
// String reviewContentStandard = doc.getReviewContentStandard();
// this.handleContentData(DictConstants.ReviewContentStandardReview, reviewContentStandard, jsonObject);
// // 审定内容
// String verifyContent = doc.getVerifyContent();
// this.handleContentData(DictConstants.verifierContent, verifyContent, jsonObject);
}
/**
......@@ -431,24 +435,25 @@ public class TechnicalFileUtils {
* @param jsonObject
*/
private void handleContentData(String dictKey, String difContent, JSONObject jsonObject) {
List<DictDataVO> dictDataVOList = dictDataService.getDictDatasByDictCode(dictKey);
if (!StringUtils.isEmpty(difContent)) {
String[] checkContentSplit = difContent.split(",");
List<String> collect = Arrays.stream(checkContentSplit).collect(Collectors.toList());
dictDataVOList.forEach(item -> {
if (collect.contains(item.getDictKey())) {
//对号
jsonObject.put(item.getDictKey(), "\u0052");
} else {
jsonObject.put(item.getDictKey(), "\u00A3");//方框
}
});
} else {
dictDataVOList.forEach(item -> {
//方框
jsonObject.put(item.getDictKey(), "\u00A3");//方框
});
}
// todo
// List<DictDataVO> dictDataVOList = dictDataService.getDictDatasByDictCode(dictKey);
// if (!StringUtils.isEmpty(difContent)) {
// String[] checkContentSplit = difContent.split(",");
// List<String> collect = Arrays.stream(checkContentSplit).collect(Collectors.toList());
// dictDataVOList.forEach(item -> {
// if (collect.contains(item.getDictKey())) {
// //对号
// jsonObject.put(item.getDictKey(), "\u0052");
// } else {
// jsonObject.put(item.getDictKey(), "\u00A3");//方框
// }
// });
// } else {
// dictDataVOList.forEach(item -> {
// //方框
// jsonObject.put(item.getDictKey(), "\u00A3");//方框
// });
// }
}
/**
......@@ -457,48 +462,48 @@ public class TechnicalFileUtils {
* @param documentVO
* @return
*/
public JSONObject interfaceHQSetting(DxDocumentVO documentVO, WfProcessInfoVO wfProcessInfoVO) {
public JSONObject interfaceHQSetting(DxDocumentVO documentVO, DxWfProcessInfoVO wfProcessInfoVO) {
String outWordFilePath = Constants.MERGER_FILE_ABSOLUTE_PATH + documentVO.getSubTypeName() + "\\" + documentVO.getNumber() + "\\" + Constants.MERGER_SOURCE + "\\";
JSONObject jsonObject = new JSONObject();
List<AuditRecordCardVO> interfaceHQList = this.interAndSpecialData(documentVO, jsonObject, INTERFACE_SIGN_NAME);
List<ExtAuditRecordCardVO> interfaceHQList = this.interAndSpecialData(documentVO, jsonObject, INTERFACE_SIGN_NAME);
//定义接口会签或者专项审查集合
List<WfProcessVarVO> wfProcessVarVOList = new ArrayList<>();
//获取人员
WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
Map<String, Object> wfMap = new HashMap<>();
if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
}
List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
if (!CollectionUtils.isEmpty(activities)) {
//写入签名数据
jsonObject.put("sh_photo", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_JKHQ));
jsonObject.put("sh_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_JKHQ));
//设计者
jsonObject.put("bz_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
}
if (!CollectionUtils.isEmpty(wfMap)) {
List<String> wfProcessVarsInterface = (List<String>) wfMap.get("interfaceReviewUser");
//取接口会签值
// WfProcessVarVO wfProcessVarVOInterface = wfProcessVarVOList.stream().filter(item -> "interfaceReviewUser".equals(item.getKey())).findFirst().orElse(null);
log.info("获取interfaceReviewUser的值为:{}", wfProcessVarsInterface);
this.getUserIdAndOrgId(wfProcessVarsInterface, jsonObject);
}
if (!CollectionUtils.isEmpty(interfaceHQList)) {
//根据集合数据生成多份文件
for (int i = 0; i < interfaceHQList.size(); i++) {
AuditRecordCardVO auditRecordCardVO = interfaceHQList.get(i);
//接口信息描述
jsonObject.put("issueDescription", auditRecordCardVO.getIssueDescription());
jsonObject.put("revisions", auditRecordCardVO.getRevisions());
jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
jsonObject.put("issueVerify", auditRecordCardVO.getIssueVerify());
jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
importWordService.getWordAllTable(jsonObject, Constants.TEMPLATE_PATH + "TechnicalFile/QHInterfaceTemplate.docx", outWordFilePath + "/" + "QHInterfaceHQ" + i + ".docx");
}
} else {
log.error("接口会签interfaceHQList集合值为空!");
}
List<DxWfProcessVarVO> wfProcessVarVOList = new ArrayList<>();
//todo 获取人员
// WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
// Map<String, Object> wfMap = new HashMap<>();
// if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
// wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
// }
// List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
// if (!CollectionUtils.isEmpty(activities)) {
// //写入签名数据
// jsonObject.put("sh_photo", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_JKHQ));
// jsonObject.put("sh_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_JKHQ));
// //设计者
// jsonObject.put("bz_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
// }
// if (!CollectionUtils.isEmpty(wfMap)) {
// List<String> wfProcessVarsInterface = (List<String>) wfMap.get("interfaceReviewUser");
// //取接口会签值
//// WfProcessVarVO wfProcessVarVOInterface = wfProcessVarVOList.stream().filter(item -> "interfaceReviewUser".equals(item.getKey())).findFirst().orElse(null);
// log.info("获取interfaceReviewUser的值为:{}", wfProcessVarsInterface);
// this.getUserIdAndOrgId(wfProcessVarsInterface, jsonObject);
// }
// if (!CollectionUtils.isEmpty(interfaceHQList)) {
// //根据集合数据生成多份文件
// for (int i = 0; i < interfaceHQList.size(); i++) {
// AuditRecordCardVO auditRecordCardVO = interfaceHQList.get(i);
// //接口信息描述
// jsonObject.put("issueDescription", auditRecordCardVO.getIssueDescription());
// jsonObject.put("revisions", auditRecordCardVO.getRevisions());
// jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
// jsonObject.put("issueVerify", auditRecordCardVO.getIssueVerify());
// jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
// importWordService.getWordAllTable(jsonObject, Constants.TEMPLATE_PATH + "TechnicalFile/QHInterfaceTemplate.docx", outWordFilePath + "/" + "QHInterfaceHQ" + i + ".docx");
// }
// } else {
// log.error("接口会签interfaceHQList集合值为空!");
// }
return jsonObject;
}
......@@ -508,46 +513,46 @@ public class TechnicalFileUtils {
* @param documentVO
* @return
*/
public JSONObject specialSCSetting(DxDocumentVO documentVO, WfProcessInfoVO wfProcessInfoVO) {
public JSONObject specialSCSetting(DxDocumentVO documentVO, DxWfProcessInfoVO wfProcessInfoVO) {
String outWordFilePath = Constants.MERGER_FILE_ABSOLUTE_PATH + documentVO.getSubTypeName() + "\\" + documentVO.getNumber() + "\\" + Constants.MERGER_SOURCE + "\\";
JSONObject jsonObject = new JSONObject();
List<AuditRecordCardVO> auditRecordRecursionList = this.interAndSpecialData(documentVO, jsonObject, AUDIT_SIGN_NAME);
List<ExtAuditRecordCardVO> auditRecordRecursionList = this.interAndSpecialData(documentVO, jsonObject, AUDIT_SIGN_NAME);
//定义接口会签或者专项审查集合
//获取人员
WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
Map<String, Object> wfMap = new HashMap<>();
if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
}
List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
if (!CollectionUtils.isEmpty(activities)) {
//专项审查签字
jsonObject.put("sc_photo", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_ZXSC));
jsonObject.put("sc_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_ZXSC));
//设计者
jsonObject.put("bz_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
jsonObject.put("bz_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_PREPARED));
}
if (!CollectionUtils.isEmpty(wfMap)) {
List<String> wfProcessVarsAudit = (List<String>) wfMap.get("auditUser");
log.info("获取auditUser的值为:{}", wfProcessVarsAudit);
this.getUserIdAndOrgId(wfProcessVarsAudit, jsonObject);
}
if (!CollectionUtils.isEmpty(auditRecordRecursionList)) {
//根据集合数据生成多份文件
for (int i = 0; i < auditRecordRecursionList.size(); i++) {
AuditRecordCardVO auditRecordCardVO = auditRecordRecursionList.get(i);
//接口信息描述
jsonObject.put("issueDescription", auditRecordCardVO.getIssueDescription());
jsonObject.put("revisions", auditRecordCardVO.getRevisions());
jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
jsonObject.put("issueVerify", auditRecordCardVO.getIssueVerify());
jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
importWordService.getWordAllTable(jsonObject, Constants.TEMPLATE_PATH + "TechnicalFile/QHAuditTemplate.docx", outWordFilePath + "/" + "QHAuditHQ" + i + ".docx");
}
} else {
log.error("专项审查auditRecordRecursionList集合值为空!");
}
//todo 获取人员
// WfProcessInstVO wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
// Map<String, Object> wfMap = new HashMap<>();
// if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
// wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
// }
// List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
// if (!CollectionUtils.isEmpty(activities)) {
// //专项审查签字
// jsonObject.put("sc_photo", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_ZXSC));
// jsonObject.put("sc_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_ZXSC));
// //设计者
// jsonObject.put("bz_name", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
// jsonObject.put("bz_date", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_PREPARED));
// }
// if (!CollectionUtils.isEmpty(wfMap)) {
// List<String> wfProcessVarsAudit = (List<String>) wfMap.get("auditUser");
// log.info("获取auditUser的值为:{}", wfProcessVarsAudit);
// this.getUserIdAndOrgId(wfProcessVarsAudit, jsonObject);
// }
// if (!CollectionUtils.isEmpty(auditRecordRecursionList)) {
// //根据集合数据生成多份文件
// for (int i = 0; i < auditRecordRecursionList.size(); i++) {
// ExtAuditRecordCardVO auditRecordCardVO = auditRecordRecursionList.get(i);
// //接口信息描述
// jsonObject.put("issueDescription", auditRecordCardVO.getIssueDescription());
// jsonObject.put("revisions", auditRecordCardVO.getRevisions());
// jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
// jsonObject.put("issueVerify", auditRecordCardVO.getIssueVerify());
// jsonObject.put("replyRevision", auditRecordCardVO.getReplyRevision());
// importWordService.getWordAllTable(jsonObject, Constants.TEMPLATE_PATH + "TechnicalFile/QHAuditTemplate.docx", outWordFilePath + "/" + "QHAuditHQ" + i + ".docx");
// }
// } else {
// log.error("专项审查auditRecordRecursionList集合值为空!");
// }
return jsonObject;
}
......@@ -558,13 +563,13 @@ public class TechnicalFileUtils {
* @param jsonObject
* @return
*/
private List<AuditRecordCardVO> interAndSpecialData(DxDocumentVO documentVO, JSONObject jsonObject, String signName) {
private List<ExtAuditRecordCardVO> interAndSpecialData(DxDocumentVO documentVO, JSONObject jsonObject, String signName) {
jsonObject.put("name", documentVO.getName());
jsonObject.put("number", documentVO.getNumber());
jsonObject.put("state", extDocService.searchDictDataByDictCode(Constants.OBJ_STATUS, documentVO.getState()));
jsonObject.put("version", documentVO.getDisplayVersion());
//获取过滤后的AuditRecordCardVO集合
List<AuditRecordCardVO> recordCardVOList = this.obtainRecordCardVOList(documentVO, signName);
List<ExtAuditRecordCardVO> recordCardVOList = this.obtainRecordCardVOList(documentVO, signName);
return recordCardVOList;
}
......@@ -575,13 +580,13 @@ public class TechnicalFileUtils {
* @param signName
* @return
*/
private List<AuditRecordCardVO> obtainRecordCardVOList(DxDocumentVO documentVO, String signName) {
List<AuditRecordCardLinkVO> auditRecordRecursionList = this.findAuditRecordRecursion(documentVO.getVersionId());
private List<ExtAuditRecordCardVO> obtainRecordCardVOList(DxDocumentVO documentVO, String signName) {
List<ExtAuditRecordCardLinkVO> auditRecordRecursionList = this.findAuditRecordRecursion(documentVO.getVersionId());
//定义集合数据
List<AuditRecordCardVO> recordCardVOList = new ArrayList<>();
List<ExtAuditRecordCardVO> recordCardVOList = new ArrayList<>();
if (!CollectionUtils.isEmpty(auditRecordRecursionList)) {
for (AuditRecordCardLinkVO auditRecordCardLinkVO : auditRecordRecursionList) {
AuditRecordCardVO target = auditRecordCardLinkVO.getTarget();
for (ExtAuditRecordCardLinkVO auditRecordCardLinkVO : auditRecordRecursionList) {
ExtAuditRecordCardVO target = auditRecordCardLinkVO.getTarget();
if (!ObjectUtils.isEmpty(target)) {
String taskName = target.getTaskName();
if (signName.equals(taskName)) {
......@@ -596,7 +601,7 @@ public class TechnicalFileUtils {
/**
* 查询校审卡内容
*/
private List<AuditRecordCardLinkVO> findAuditRecordRecursion(Long sourceId) {
private List<ExtAuditRecordCardLinkVO> findAuditRecordRecursion(Long sourceId) {
SearchQueryCondition condition = SearchQueryCondition.builder()
.openProp(SearchQueryCondition.builder().name("target").build())
.searchItems(SearchItems.builder()
......@@ -621,12 +626,12 @@ public class TechnicalFileUtils {
String orgId = split[0];
String userId = split[1];
//通过orgId获取组织名称
OrganizationVO organizationVO = organizationService.get(Long.parseLong(orgId));
UserVO userVO = userService.get(Long.parseLong(userId));
DxOrganizationVO organizationVO = (DxOrganizationVO) organizationService.get(Long.parseLong(orgId));
DxUserInfoVO userVO = (DxUserInfoVO) userService.get(Long.parseLong(userId));
if (!ObjectUtils.isEmpty(organizationVO)) {
//接口设计项
jsonObject.put("interSJX", organizationVO.getOrgName());
jsonObject.put("specialSJX", organizationVO.getOrgName());
//todo 接口设计项
// jsonObject.put("interSJX", organizationVO.getOrgName());
// jsonObject.put("specialSJX", organizationVO.getOrgName());
}
} else {
log.error("获取获取组织名称填充数据方法的错误,值为:{}", value);
......@@ -638,25 +643,25 @@ public class TechnicalFileUtils {
*
* @param value
*/
private OrganizationVO getUserIdAndOrgId(List<String> value) {
private DxOrganizationVO getUserIdAndOrgId(List<String> value) {
if (!CollectionUtils.isEmpty(value)) {
String userAndOrgId = value.get(0);
String[] split = userAndOrgId.split("-");
String orgId = split[0];
//通过orgId获取组织名称
OrganizationVO organizationVO = organizationService.get(Long.parseLong(orgId));
DxOrganizationVO organizationVO = (DxOrganizationVO) organizationService.get(Long.parseLong(orgId));
return organizationVO;
} else {
return new OrganizationVO();
return new DxOrganizationVO();
}
}
/**
* 图纸填充数据
*/
public void settingAtlasDrawingData(DxDocumentVO documentVO, WfProcessInfoVO wfProcessInfoVO) {
public void settingAtlasDrawingData(DxDocumentVO documentVO, DxWfProcessInfoVO wfProcessInfoVO) {
//生成图册下图纸的pdf
List<AtlasDrawingLinkVO> drawingLinks = extDocService.recursionAtlasDoc(documentVO.getVersionId());
List<ExtAtlasDrawingLinkVO> drawingLinks = extDocService.recursionAtlasDoc(documentVO.getVersionId());
if (!CollectionUtils.isEmpty(drawingLinks)) {
//展开target属性
drawingLinks.stream().forEach(item -> {
......@@ -673,115 +678,115 @@ public class TechnicalFileUtils {
* @param target 图纸的documentVO
* @param wfProcessInfoVO
*/
public void operateDrawingDoc(DxDocumentVO documentVO, DxDocumentVO target, WfProcessInfoVO wfProcessInfoVO) {
public void operateDrawingDoc(DxDocumentVO documentVO, DxDocumentVO target, DxWfProcessInfoVO wfProcessInfoVO) {
String subTypeName = target.getSubTypeName();
Map<String, Object> dynamicAttrs = target.getDynamicAttrs();
//图幅
String pictureFrame = (String) dynamicAttrs.get("pictureFrame");
List<ObjFileLinkVO> objFileLinks = target.getObjFileLinks();
//获取主内容数据流
PapersVO fileVO = extDocUtil.obtainPrimaryFile(objFileLinks);
InputStream inputStream = extDocUtil.obtainPrimaryFileInputStream(fileVO);
if (ObjectUtils.isEmpty(inputStream)) {
//无主内容
return;
}
//获取外部资源配置
Properties prop = ResourceHelper.getResource();
//上传文件路径
String uploadFilePath = prop.getProperty("UploadFilePath");
//保存临时文件
String filePath = FileUtils.saveToLocal(inputStream, uploadFilePath + fileVO.getOriginalFileName());
log.info("结束下载主内容======》" + fileVO.getId());
//获取接口会签签审节点
WfProcessInstVO wfProcessInstVO = null;
if (ObjectUtils.isEmpty(documentVO)) {
//如果是原理图和布置图,自动任务生成第三个签名pdf
wfProcessInstVO = workFlowUtil.getWfProcessInst(target);
} else {
//跟图册随签
wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
}
Map<String, Object> wfMap = new HashMap<>();
if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
}
List<String> wfProcessVarsInterface = null;
if (!CollectionUtils.isEmpty(wfMap)) {
//取接口会签值
wfProcessVarsInterface = (List<String>) wfMap.get("interfaceReviewUser");
log.info("获取图纸的interfaceReviewUser的值为:{}", wfProcessVarsInterface);
}
if (Constants.PRINCIPLE_DRAWINGS.equals(subTypeName) || Constants.LAYOUT_DRAWINGS.equals(subTypeName) || Constants.PART_DRAWINGS.equals(subTypeName)) {
Map<String, String> map = new HashMap();
//原理布置图、零件图
List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
if (!CollectionUtils.isEmpty(activities)) {
//写入签名数据
map.put("SJPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
map.put("SJDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_PREPARED));
//校核
map.put("JHPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_CHECKER));
map.put("JHDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_CHECKER));
//审核
map.put("SHPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
map.put("SHDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
//审定
map.put("SDPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SD));
map.put("SDDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SD));
//批准
map.put("PZPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_APPROVED));
map.put("PZDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_APPROVED));
//标准化(审核)
map.put("BZHPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
map.put("BZHDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
//获取接口会签人的信息
List<AuditPojo> auditPojoList = new ArrayList<>();
if (!CollectionUtils.isEmpty(wfProcessVarsInterface)) {
List<String> userAndOrgId = wfProcessVarsInterface;
//组织id和userId
for (int i = 0; i < userAndOrgId.size(); i++) {
String item = userAndOrgId.get(i);
String[] split = item.split("-");
String splitOrgId = null;
String splituserId = null;
if (split.length == 1) {
auditPojoList.add(null);
} else {
splitOrgId = split[0];
splituserId = split[1];
//接口设计项(组)
OrganizationVO organizationVO = organizationService.get(Long.parseLong(splitOrgId));
UserVO userVO = userService.get(Long.parseLong(splituserId));
AuditPojo auditPojo = new AuditPojo();
String orgName = organizationVO.getOrgName();
String auditRecordCard = userVO.getUserAccount();
//签审日期
String auditDate = this.getMultiEndDate(activities, SignConstants.SIGN_KEY_JKHQ, userVO.getId(), i);
auditPojo.setInterDesign(orgName);
auditPojo.setSignDate(auditDate);
auditPojo.setSignName(auditRecordCard);
auditPojoList.add(auditPojo);
}
}
}
this.extractedInterHQData(map, auditPojoList);
}
String generateFilePath = Constants.MERGER_FILE_ABSOLUTE_PATH + target.getNumber() + "\\";
try {
FileUtil.mkdir(generateFilePath);
//得到主内容
SignUtil.sign(filePath, generateFilePath + "generateReplace.pdf", map, pictureFrame);
//挂载到附件上
extDocService.operateAttachFile(target, new FileInputStream(generateFilePath + "generateReplace.pdf"), "");
} catch (Exception e) {
log.error("生成图纸失败!" + e.getMessage());
} finally {
//删除生成后的临时文件(删除的是number目录和目录下的文件)
FileUtils.deleteDirectory(generateFilePath);
}
}
//todo 获取主内容数据流
// PapersVO fileVO = extDocUtil.obtainPrimaryFile(objFileLinks);
// InputStream inputStream = extDocUtil.obtainPrimaryFileInputStream(fileVO);
// if (ObjectUtils.isEmpty(inputStream)) {
// //无主内容
// return;
// }
// //获取外部资源配置
// Properties prop = ResourceHelper.getResource();
// //上传文件路径
// String uploadFilePath = prop.getProperty("UploadFilePath");
// //保存临时文件
// String filePath = FileUtils.saveToLocal(inputStream, uploadFilePath + fileVO.getOriginalFileName());
// log.info("结束下载主内容======》" + fileVO.getId());
// //获取接口会签签审节点
// WfProcessInstVO wfProcessInstVO = null;
// if (ObjectUtils.isEmpty(documentVO)) {
// //如果是原理图和布置图,自动任务生成第三个签名pdf
// wfProcessInstVO = workFlowUtil.getWfProcessInst(target);
// } else {
// //跟图册随签
// wfProcessInstVO = workFlowUtil.getWfProcessInst(documentVO);
// }
// Map<String, Object> wfMap = new HashMap<>();
// if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
// wfMap = this.instanceService.getAllProcessVariables(wfProcessInstVO.getId());
// }
// List<String> wfProcessVarsInterface = null;
// if (!CollectionUtils.isEmpty(wfMap)) {
// //取接口会签值
// wfProcessVarsInterface = (List<String>) wfMap.get("interfaceReviewUser");
// log.info("获取图纸的interfaceReviewUser的值为:{}", wfProcessVarsInterface);
// }
// if (Constants.PRINCIPLE_DRAWINGS.equals(subTypeName) || Constants.LAYOUT_DRAWINGS.equals(subTypeName) || Constants.PART_DRAWINGS.equals(subTypeName)) {
// Map<String, String> map = new HashMap();
// //原理布置图、零件图
// List<WfTaskDefinitionVO> activities = wfProcessInfoVO.getActivityInfo();
// if (!CollectionUtils.isEmpty(activities)) {
// //写入签名数据
// map.put("SJPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED));
// map.put("SJDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_PREPARED));
// //校核
// map.put("JHPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_CHECKER));
// map.put("JHDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_CHECKER));
// //审核
// map.put("SHPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
// map.put("SHDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
// //审定
// map.put("SDPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SD));
// map.put("SDDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SD));
// //批准
// map.put("PZPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_APPROVED));
// map.put("PZDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_APPROVED));
// //标准化(审核)
// map.put("BZHPHOTO", extDocService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
// map.put("BZHDATE", extDocService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
// //获取接口会签人的信息
// List<AuditPojo> auditPojoList = new ArrayList<>();
// if (!CollectionUtils.isEmpty(wfProcessVarsInterface)) {
// List<String> userAndOrgId = wfProcessVarsInterface;
// //组织id和userId
// for (int i = 0; i < userAndOrgId.size(); i++) {
// String item = userAndOrgId.get(i);
// String[] split = item.split("-");
// String splitOrgId = null;
// String splituserId = null;
// if (split.length == 1) {
// auditPojoList.add(null);
// } else {
// splitOrgId = split[0];
// splituserId = split[1];
// //接口设计项(组)
// OrganizationVO organizationVO = organizationService.get(Long.parseLong(splitOrgId));
// UserVO userVO = userService.get(Long.parseLong(splituserId));
// AuditPojo auditPojo = new AuditPojo();
// String orgName = organizationVO.getOrgName();
// String auditRecordCard = userVO.getUserAccount();
// //签审日期
// String auditDate = this.getMultiEndDate(activities, SignConstants.SIGN_KEY_JKHQ, userVO.getId(), i);
// auditPojo.setInterDesign(orgName);
// auditPojo.setSignDate(auditDate);
// auditPojo.setSignName(auditRecordCard);
// auditPojoList.add(auditPojo);
// }
//
// }
// }
// this.extractedInterHQData(map, auditPojoList);
// }
// String generateFilePath = Constants.MERGER_FILE_ABSOLUTE_PATH + target.getNumber() + "\\";
// try {
// FileUtil.mkdir(generateFilePath);
// //得到主内容
// SignUtil.sign(filePath, generateFilePath + "generateReplace.pdf", map, pictureFrame);
// //挂载到附件上
// extDocService.operateAttachFile(target, new FileInputStream(generateFilePath + "generateReplace.pdf"), "");
// } catch (Exception e) {
// log.error("生成图纸失败!" + e.getMessage());
// } finally {
// //删除生成后的临时文件(删除的是number目录和目录下的文件)
// FileUtils.deleteDirectory(generateFilePath);
// }
// }
}
/**
......@@ -836,48 +841,48 @@ public class TechnicalFileUtils {
}
return new AuditPojo();
}
/**
* 会签多人签名(获取某个环节结束时间)
*
* @param activities
* @param activityName
* @return
*/
private String getMultiEndDate(List<WfTaskDefinitionVO> activities, String activityName, Long userId,
int number) {
List<String> list = new ArrayList<>();
for (WfTaskDefinitionVO wf : activities) {
if (wf.getTaskName().equals(activityName)) {
list = getMultiActivityEndDate(wf, userId);
}
}
if (!CollectionUtils.isEmpty(list) && list.size() >= number + 1) {
return list.get(number);
}
return " ";
}
/**
* 获取环节所有执行者,以,隔开
*
* @param activity
* @return
*/
private List<String> getMultiActivityEndDate(WfTaskDefinitionVO activity, Long userId) {
List<String> list = new ArrayList<>();
List<WfProcessTaskVO> taskList = activity.getTaskList();
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");
if (!CollectionUtils.isEmpty(taskList)) {
for (WfProcessTaskVO wf : taskList) {
String assignee = wf.getAssignee();
if (Long.parseLong(assignee) == userId && wf.getState().equals(TaskStateEnum.COMPLETE.name()) && (SignConstants.WfResultList.contains(wf.getResult()))) {
Date endDate = wf.getEndTime();
list.add(dateFm.format(endDate).replace("-", "."));
}
}
return list;
}
return null;
}
//todo
// /**
// * 会签多人签名(获取某个环节结束时间)
// *
// * @param activities
// * @param activityName
// * @return
// */
// private String getMultiEndDate(List<WfTaskDefinitionVO> activities, String activityName, Long userId,
// int number) {
// List<String> list = new ArrayList<>();
// for (WfTaskDefinitionVO wf : activities) {
// if (wf.getTaskName().equals(activityName)) {
// list = getMultiActivityEndDate(wf, userId);
// }
// }
// if (!CollectionUtils.isEmpty(list) && list.size() >= number + 1) {
// return list.get(number);
// }
// return " ";
// }
//todo
// /**
// * 获取环节所有执行者,以,隔开
// *
// * @param activity
// * @return
// */
// private List<String> getMultiActivityEndDate(WfTaskDefinitionVO activity, Long userId) {
// List<String> list = new ArrayList<>();
// List<WfProcessTaskVO> taskList = activity.getTaskList();
// SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd");
// if (!CollectionUtils.isEmpty(taskList)) {
// for (WfProcessTaskVO wf : taskList) {
// String assignee = wf.getAssignee();
// if (Long.parseLong(assignee) == userId && wf.getState().equals(TaskStateEnum.COMPLETE.name()) && (SignConstants.WfResultList.contains(wf.getResult()))) {
// Date endDate = wf.getEndTime();
// list.add(dateFm.format(endDate).replace("-", "."));
// }
// }
// return list;
// }
// return null;
// }
}
package com.yonde.dcs.document.core.repository.shadow;
import com.yonde.dcs.document.entity.po.ObsoleteDocLink;
import com.yonde.dcs.document.entity.po.ExtObsoleteDocLink;
import com.yonde.dex.dao.business.repository.BaseRepository;
import org.springframework.data.repository.NoRepositoryBean;
......@@ -11,7 +11,7 @@ import org.springframework.data.repository.NoRepositoryBean;
* @date: 2024-7-15 15:32:39
**/
@NoRepositoryBean
public interface ObsoleteDocLinkRepositoryShadow<P extends ObsoleteDocLink> extends BaseRepository<P> {
public interface ObsoleteDocLinkRepositoryShadow<P extends ExtObsoleteDocLink> extends BaseRepository<P> {
String BEAN_NAME = "obsoleteDocLinkRepository";
}
......@@ -40,7 +40,6 @@ import com.yonde.dex.user.feign.DxUserInfoFeign;
import com.yonde.dex.user.feign.SwitchUserService;
import com.yonde.dex.wfc.common.vo.DxWfParticipantInfoVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessVO;
import com.yonde.dex.wfc.common.vo.DxWfTaskContext;
import com.yonde.dex.wfc.feign.api.WfcProcessFeign;
import com.yonde.dex.wfc.feign.api.WfcTaskFeign;
......@@ -63,7 +62,6 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.*;
import java.util.stream.Collectors;
/**
* @program: inet-pdm-service
......
......@@ -4,11 +4,16 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.yonde.dcs.document.common.vo.*;
import com.yonde.dcs.document.common.vo.DxDocumentVO;
import com.yonde.dcs.document.common.vo.ExtAtlasDrawingLinkVO;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import com.yonde.dcs.document.common.vo.ExtReviseVersionVO;
import com.yonde.dcs.document.core.constants.Constants;
import com.yonde.dcs.document.core.service.*;
import com.yonde.dcs.document.core.service.DxDocumentService;
import com.yonde.dcs.document.core.service.ExtAtlasDrawingLinkService;
import com.yonde.dcs.document.core.service.ExtDocService;
import com.yonde.dcs.document.core.service.ExtObsoleteDocLinkService;
import com.yonde.dcs.document.core.util.CommonUtil;
import com.yonde.dcs.document.core.util.ExtDocUtil;
import com.yonde.dcs.document.core.util.FileUtils;
......@@ -26,7 +31,6 @@ import com.yonde.dex.basedata.entity.data.DxPageImpl;
import com.yonde.dex.basedata.entity.data.OperatorType;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.basedata.exception.DxBusinessException;
import com.yonde.dex.basedata.utils.obj.DxEntityUtils;
import com.yonde.dex.dao.service.util.DxPageUtils;
import com.yonde.dex.dfs.feign.FileManagerFeignService;
......@@ -37,12 +41,9 @@ import com.yonde.dex.dfs.vo.RepoFileVO;
import com.yonde.dex.dfs.vo.view.FileDownLoadInfoVO;
import com.yonde.dex.dict.feign.DictDataFeignService;
import com.yonde.dex.dict.service.vo.DictDataVO;
import com.yonde.dex.user.feign.DxUserInfoFeign;
import com.yonde.dex.user.feign.SwitchUserService;
import com.yonde.dex.version.plugin.core.service.VersionService;
import com.yonde.dex.version.plugin.entities.DxVersion;
import com.yonde.dex.wfc.common.vo.DxWfProcessInfoVO;
import com.yonde.dex.wfc.feign.api.WfcProcessFeign;
import lombok.extern.slf4j.Slf4j;
......@@ -259,7 +260,7 @@ public class ExtDocServiceImpl implements ExtDocService {
//设置为已发布状态
docNotifySave.setState(Constants.PBULISHED);
DxDocumentVO notifyDocumentVO = (DxDocumentVO) documentService.changeStatus(docNotifySave);
ObsoleteDocLinkVO linkVO = new ObsoleteDocLinkVO();
ExtObsoleteDocLinkVO linkVO = new ExtObsoleteDocLinkVO();
linkVO.setSource(documentVO);
linkVO.setTarget(notifyDocumentVO);
//过时文件通知单关联当前文档最新版本
......
package com.yonde.dcs.document.core.service.impl;
import org.springframework.stereotype.Service;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.document.core.service.ExtObsoleteDocLinkService;
import com.yonde.dcs.document.core.repository.ExtObsoleteDocLinkRepository;
import com.yonde.dcs.document.core.service.ExtObsoleteDocLinkService;
import com.yonde.dcs.document.entity.po.ExtObsoleteDocLink;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @description: ExtObsoleteDocLink-ServiceImpl
......
......@@ -2,8 +2,8 @@ package com.yonde.dcs.document.core.service.shadow;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import com.yonde.dcs.document.feign.ExtObsoleteDocLinkServiceFeign;
import com.yonde.dex.linkdata.plugin.core.service.DxLinkDataService;
import com.yonde.dex.dao.service.BaseIdEntityService;
import com.yonde.dex.linkdata.plugin.core.service.DxLinkDataService;
import com.yonde.dex.logicdelete.plugin.core.service.LogicDeleteService;
/**
* @description: ExtObsoleteDocLink-service
......
......@@ -4,7 +4,6 @@ package com.yonde.dcs.document.core.util;
import cn.hutool.core.bean.BeanUtil;
import com.yonde.dcs.document.common.vo.DxDocumentVO;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import com.yonde.dcs.document.common.vo.ObsoleteDocLinkVO;
import com.yonde.dcs.document.core.constants.Constants;
import com.yonde.dcs.document.core.service.DxDocumentService;
import com.yonde.dcs.document.core.service.ExtObsoleteDocLinkService;
......@@ -24,8 +23,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import java.io.InputStream;
import java.util.*;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -159,7 +160,7 @@ public class ExtDocUtil {
*
* @param sourceId
*/
public List<ObsoleteDocLinkVO> recursionObsoleteDocLinkBySourceId(Long sourceId) {
public List<ExtObsoleteDocLinkVO> recursionObsoleteDocLinkBySourceId(Long sourceId) {
SearchQueryCondition condition = SearchQueryCondition.builder()
.openProp(SearchQueryCondition.builder().name("target")
.openProp(SearchQueryCondition.builder().name("objFileLinks").openProp(SearchQueryCondition.builder().name("target").build()).build()).build())
......
......@@ -2,22 +2,16 @@ package com.yonde.dcs.document.core.util;
import com.yonde.dcs.document.common.vo.DxDocumentVO;
import com.yonde.dcs.document.core.constants.SignConstants;
import com.yonde.dex.user.common.vo.DxUserInfoVO;
import com.yonde.dex.user.feign.DxUserInfoFeign;
import com.yonde.dex.wfc.common.enums.TaskStateEnum;
import com.yonde.dex.wfc.common.vo.DxWfProcessSearchVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO;
import com.yonde.dex.wfc.feign.api.WfcProcessFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
import java.util.List;
import java.util.Map;
/**
* @program: inet-pdm-service
......@@ -75,7 +69,7 @@ public class WorkFlowUtil {
* @param doc
*/
// TODO: 2024/8/1 getProcessInstList方法不存在
// public Map<String, List<DxWfProcessTaskVO>> getWfInfo(DxDocumentVO doc) {
public Map<String, List<DxWfProcessTaskVO>> getWfInfo(DxDocumentVO doc) {
// WfProcessInstVO wfProcessInstVO = getWfProcessInst(doc);
// if (!ObjectUtils.isEmpty(wfProcessInstVO)) {
// WfProcessInfoVO wfProcessInfo = this.instanceService.getProcessInstSimpleDetailById(wfProcessInstVO.getId());
......@@ -88,8 +82,8 @@ public class WorkFlowUtil {
//
// return wfHistoryMap;
// }
// return null;
// }
return null;
}
/**
* 根据任务名称获取处理人
......
......@@ -27,7 +27,7 @@ import javax.persistence.Table;
@NoArgsConstructor
@Data
@Table(name = "OBSOLETE_DOC_LINK")
public class ObsoleteDocLink extends IdOnlyEntity implements IdEntity ,DxLogicDeleteHolder ,DxLinkDataHolder{
public class ExtObsoleteDocLink extends IdOnlyEntity implements IdEntity ,DxLogicDeleteHolder ,DxLinkDataHolder{
/**
* dao扩展对象
......
package com.yonde.dcs.document.feign;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import com.yonde.dcs.document.feign.shadow.ExtObsoleteDocLinkServiceFeignShadow;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.document.feign.shadow.ExtObsoleteDocLinkServiceFeignShadow;
/**
* @description: ExtObsoleteDocLink-Feign
......
package com.yonde.dcs.document.feign.shadow;
import com.yonde.dcs.document.common.vo.ExtObsoleteDocLinkVO;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import com.yonde.dex.dao.service.remotes.BaseFeign;
import com.yonde.dex.logicdelete.plugin.feign.LogicDeleteFeign;
import com.yonde.dex.linkdata.plugin.feign.DxLinkDataFeign;
import com.yonde.dex.logicdelete.plugin.feign.LogicDeleteFeign;
/**
* @description: ExtObsoleteDocLink-Feign
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment