Commit 735950a0 authored by xuzhang's avatar xuzhang

feat[doc]代码迁移

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