Commit f0dd3c97 authored by 侯彦文's avatar 侯彦文

文件目录新增树结构

parent 06e9f4b9
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.yonde.dcs.document.common.entity.vo.DxDocumentVO; import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.DexEmbedded; import com.yonde.dex.basedata.entity.annotation.*;
import com.yonde.dex.basedata.entity.annotation.RelationProperty; import lombok.AllArgsConstructor;
import com.yonde.dex.basedata.entity.annotation.VersionProperty; 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.basedata.entity.data.VersionRelationType;
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;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable; import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOEmbeddable;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder; import com.yonde.dex.tree.plugin.common.entity.DxTreeContextVOEmbeddable;
import lombok.Data; import com.yonde.dex.basedata.entity.vo.IdVO;
import lombok.EqualsAndHashCode; import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import lombok.ToString; import com.yonde.dex.tree.plugin.common.entity.DxTreeContextVOHolder;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import java.util.List; import com.yonde.dcs.document.common.entity.vo.DxDocumentVO;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/** /**
* @description: ExtDxDocumentFolder-VO * @description: ExtDxDocumentFolder-VO
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-7-15 15:32:34 * @date: 2024-9-30 14:06:59
**/ **/
@JsonTypeInfo( use = JsonTypeInfo.Id.CLASS, property = "dxClassname", visible = true, defaultImpl = ExtDxDocumentFolderVO.class) @JsonTypeInfo( use = JsonTypeInfo.Id.CLASS, property = "dxClassname", visible = true, defaultImpl = ExtDxDocumentFolderVO.class)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
public class ExtDxDocumentFolderVO extends IdOnlyVO implements IdVO ,DxLogicDeleteVOHolder{ public class ExtDxDocumentFolderVO extends IdOnlyVO implements IdVO ,DxTreeContextVOHolder<ExtDxDocumentFolderVO> ,DxContextVOHolder ,DxLogicDeleteVOHolder{
public static final String DX_CONTEXT_EMBEDDABLE_PROP_NAME = "dxContextEmbeddable";
public static final String DX_TREE_CONTEXT_EMBEDDABLE_PROP_NAME = "dxTreeContextEmbeddable";
public static final String DX_ID_EMBEDDABLE_PROP_NAME = "dxIdEmbeddable"; public static final String DX_ID_EMBEDDABLE_PROP_NAME = "dxIdEmbeddable";
public static final String DX_LOGIC_DELETE_EMBEDDABLE_PROP_NAME = "dxLogicDeleteEmbeddable"; public static final String DX_LOGIC_DELETE_EMBEDDABLE_PROP_NAME = "dxLogicDeleteEmbeddable";
public static final String DX_DOCUMENTS_PROP_NAME = "dxDocuments"; public static final String DX_DOCUMENTS_PROP_NAME = "dxDocuments";
public static final String FULL_PATH_PROP_NAME = "fullPath"; public static final String FULL_PATH_PROP_NAME = "fullPath";
public static final String NAME_PROP_NAME = "name"; public static final String NAME_PROP_NAME = "name";
public static final String PARENT_ID_PROP_NAME = "parentId";
public static final String STORAGE_PERIOD_PROP_NAME = "storagePeriod";
public static final String VOLUME_NUMBER_PROP_NAME = "volumeNumber";
/**
* 扩展VO属性
*/
@DexEmbedded()
@JsonIgnore
private DxContextVOEmbeddable dxContextEmbeddable;
/**
* 扩展VO属性
*/
@DexEmbedded()
@JsonIgnore
private DxTreeContextVOEmbeddable<ExtDxDocumentFolderVO> dxTreeContextEmbeddable;
/** /**
* dao扩展对象 * dao扩展对象
...@@ -74,14 +115,15 @@ public class ExtDxDocumentFolderVO extends IdOnlyVO implements IdVO ,DxLogicDele ...@@ -74,14 +115,15 @@ public class ExtDxDocumentFolderVO extends IdOnlyVO implements IdVO ,DxLogicDele
private Long parentId; private Long parentId;
/** /**
* 卷号 * 保管年限
*/ */
private String volumeNumber; private String storagePeriod;
/** /**
* 保管年限 * 卷号
*/ */
private String storagePeriod; private String volumeNumber;
} }
package com.yonde.dcs.document.core.controller; package com.yonde.dcs.document.core.controller;
import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO;
import com.yonde.dcs.document.core.controller.shadow.ExtDxDocumentFolderControllerShadow;
import com.yonde.dcs.document.core.service.ExtDxDocumentFolderService;
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.ExtDxDocumentFolderVO;
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.ExtDxDocumentFolderService;
import com.yonde.dex.basedata.entity.api.ApiResult;
import com.yonde.dcs.document.core.controller.shadow.ExtDxDocumentFolderControllerShadow;
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: ExtDxDocumentFolder-Controller * @description: ExtDxDocumentFolder-Controller
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
@Api(tags = "ExtDxDocumentFolder管理服务") @Api(tags = "ExtDxDocumentFolder管理服务")
@RequestMapping("/ExtDxDocumentFolder") @RequestMapping("/ExtDxDocumentFolder")
......
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.ExtDxDocumentFolderVO; import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO;
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.ExtDxDocumentFolderService; import com.yonde.dcs.document.core.service.ExtDxDocumentFolderService;
import com.yonde.dcs.document.core.service.impl.ExtDxDocumentFolderServiceImpl; import com.yonde.dcs.document.core.service.impl.ExtDxDocumentFolderServiceImpl;
import com.yonde.dex.basedata.entity.api.ApiResult;
import javax.annotation.Resource; import javax.annotation.Resource;
import com.yonde.dex.basedata.auth.annos.BasePermission; import com.yonde.dex.basedata.auth.annos.BasePermission;
import com.yonde.dex.tree.plugin.core.controller.BaseTreeController;
import com.yonde.dex.baseweb.AbstractBaseController; import com.yonde.dex.baseweb.AbstractBaseController;
/** /**
* @description: ExtDxDocumentFolder-Controller * @description: ExtDxDocumentFolder-Controller
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
@BasePermission("dcs-doc:ExtDxDocumentFolder") @BasePermission("dcs-doc:ExtDxDocumentFolder")
public class ExtDxDocumentFolderControllerShadow<V extends ExtDxDocumentFolderVO, S extends ExtDxDocumentFolderService<V>> implements AbstractBaseController<V, S>{ public class ExtDxDocumentFolderControllerShadow<V extends ExtDxDocumentFolderVO, S extends ExtDxDocumentFolderService<V>> implements AbstractBaseController<V, S> ,BaseTreeController<V, S>{
public static final String BEAN_NAME = "extDxDocumentFolderController"; public static final String BEAN_NAME = "extDxDocumentFolderController";
......
package com.yonde.dcs.document.core.repository; package com.yonde.dcs.document.core.repository;
import com.yonde.dcs.document.core.repository.shadow.ExtDxDocumentFolderRepositoryShadow;
import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder; import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder;
import com.yonde.dcs.document.core.repository.shadow.ExtDxDocumentFolderRepositoryShadow;
/** /**
* @description: ExtDxDocumentFolder-repository * @description: ExtDxDocumentFolder-repository
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
public interface ExtDxDocumentFolderRepository<P extends ExtDxDocumentFolder> extends ExtDxDocumentFolderRepositoryShadow<P> { public interface ExtDxDocumentFolderRepository<P extends ExtDxDocumentFolder> extends ExtDxDocumentFolderRepositoryShadow<P> {
} }
...@@ -2,16 +2,18 @@ package com.yonde.dcs.document.core.repository.shadow; ...@@ -2,16 +2,18 @@ package com.yonde.dcs.document.core.repository.shadow;
import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder; import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder;
import org.springframework.data.repository.NoRepositoryBean; import org.springframework.data.repository.NoRepositoryBean;
import com.yonde.dex.context.plugin.core.repository.DxContextPluginRepository;
import com.yonde.dex.logicdelete.plugin.core.repository.DxLogicDeleteRepository; import com.yonde.dex.logicdelete.plugin.core.repository.DxLogicDeleteRepository;
import com.yonde.dex.dao.business.repository.BaseRepository; import com.yonde.dex.dao.business.repository.BaseRepository;
import com.yonde.dex.tree.plugin.core.repository.DxTreePluginRepository;
/** /**
* @description: ExtDxDocumentFolder-repository * @description: ExtDxDocumentFolder-repository
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
@NoRepositoryBean @NoRepositoryBean
public interface ExtDxDocumentFolderRepositoryShadow<P extends ExtDxDocumentFolder> extends BaseRepository<P> ,DxLogicDeleteRepository<P> { public interface ExtDxDocumentFolderRepositoryShadow<P extends ExtDxDocumentFolder> extends DxContextPluginRepository<P> ,DxTreePluginRepository<P> ,BaseRepository<P> ,DxLogicDeleteRepository<P> {
String BEAN_NAME = "extDxDocumentFolderRepository"; String BEAN_NAME = "extDxDocumentFolderRepository";
} }
...@@ -6,7 +6,7 @@ import com.yonde.dcs.document.core.service.shadow.ExtDxDocumentFolderServiceShad ...@@ -6,7 +6,7 @@ import com.yonde.dcs.document.core.service.shadow.ExtDxDocumentFolderServiceShad
* @description: ExtDxDocumentFolder-service * @description: ExtDxDocumentFolder-service
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
public interface ExtDxDocumentFolderService<V extends ExtDxDocumentFolderVO> extends ExtDxDocumentFolderServiceShadow<V> { public interface ExtDxDocumentFolderService<V extends ExtDxDocumentFolderVO> extends ExtDxDocumentFolderServiceShadow<V> {
......
package com.yonde.dcs.document.core.service.impl; package com.yonde.dcs.document.core.service.impl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO; import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import com.yonde.dcs.document.core.service.ExtDxDocumentFolderService; import com.yonde.dcs.document.core.service.ExtDxDocumentFolderService;
import com.yonde.dcs.document.core.repository.ExtDxDocumentFolderRepository; import com.yonde.dcs.document.core.repository.ExtDxDocumentFolderRepository;
import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder; import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder;
import javax.annotation.Resource;
/** /**
* @description: ExtDxDocumentFolder-ServiceImpl * @description: ExtDxDocumentFolder-ServiceImpl
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
@Slf4j @Slf4j
@Service(ExtDxDocumentFolderServiceImpl.BEAN_NAME) @Service(ExtDxDocumentFolderServiceImpl.BEAN_NAME)
......
...@@ -3,14 +3,15 @@ package com.yonde.dcs.document.core.service.shadow; ...@@ -3,14 +3,15 @@ package com.yonde.dcs.document.core.service.shadow;
import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO; import com.yonde.dcs.document.common.vo.ExtDxDocumentFolderVO;
import com.yonde.dcs.document.feign.ExtDxDocumentFolderServiceFeign; import com.yonde.dcs.document.feign.ExtDxDocumentFolderServiceFeign;
import com.yonde.dex.dao.service.BaseIdEntityService; import com.yonde.dex.dao.service.BaseIdEntityService;
import com.yonde.dex.context.plugin.core.service.ContextPluginService;
import com.yonde.dex.logicdelete.plugin.core.service.LogicDeleteService; import com.yonde.dex.logicdelete.plugin.core.service.LogicDeleteService;
import com.yonde.dex.tree.plugin.core.service.BaseTreeService;
/** /**
* @description: ExtDxDocumentFolder-service * @description: ExtDxDocumentFolder-service
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
public interface ExtDxDocumentFolderServiceShadow<V extends ExtDxDocumentFolderVO> extends ExtDxDocumentFolderServiceFeign<V>, BaseIdEntityService<V> ,LogicDeleteService<V> { public interface ExtDxDocumentFolderServiceShadow<V extends ExtDxDocumentFolderVO> extends ExtDxDocumentFolderServiceFeign<V>, ContextPluginService<V> ,BaseTreeService<V> ,BaseIdEntityService<V> ,LogicDeleteService<V> {
} }
...@@ -24,24 +24,40 @@ import javax.persistence.Entity; ...@@ -24,24 +24,40 @@ import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import com.yonde.dex.dao.entity.base.IdEntity; import com.yonde.dex.dao.entity.base.IdEntity;
import javax.persistence.Column; import javax.persistence.Column;
import com.yonde.dex.context.plugin.entities.DxContextHolder;
import com.yonde.dex.context.plugin.entities.DxContextEmbeddable;
import com.yonde.dex.dao.entity.base.DxIdEntityEmbeddable; import com.yonde.dex.dao.entity.base.DxIdEntityEmbeddable;
import com.yonde.dex.dao.entity.base.IdOnlyEntity; import com.yonde.dex.dao.entity.base.IdOnlyEntity;
import com.yonde.dex.logicdelete.plugin.entities.DxLogicDeleteHolder; import com.yonde.dex.logicdelete.plugin.entities.DxLogicDeleteHolder;
import com.yonde.dex.tree.plugin.entities.DxTreeContextEmbeddable;
import com.yonde.dex.tree.plugin.entities.DxTreeContextHolder;
import com.yonde.dex.logicdelete.plugin.entities.DxLogicDeleteEmbeddable; import com.yonde.dex.logicdelete.plugin.entities.DxLogicDeleteEmbeddable;
/** /**
* @description: ExtDxDocumentFolder-PO实体 * @description: ExtDxDocumentFolder-PO实体
* @author: dexadmin * @author: dexadmin
* @version: V * @version: V
* @date: 2024-8-2 15:26:33 * @date: 2024-9-30 14:06:59
**/ **/
@Entity @Entity
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@NoArgsConstructor @NoArgsConstructor
@Data @Data
@Table(name = "EXT_DX_DOCUMENT_FOLDER") @Table(name = "EXT_DX_DOCUMENT_FOLDER")
public class ExtDxDocumentFolder extends IdOnlyEntity implements IdEntity ,DxLogicDeleteHolder{ public class ExtDxDocumentFolder extends IdOnlyEntity implements DxContextHolder ,DxTreeContextHolder ,IdEntity ,DxLogicDeleteHolder{
/**
* 扩展PO属性
*/
@DexEmbedded()
@Embedded()
private DxContextEmbeddable dxContextEmbeddable;
/**
* 扩展PO属性
*/
@DexEmbedded()
@Embedded()
private DxTreeContextEmbeddable dxTreeContextEmbeddable;
/** /**
* dao扩展对象 * dao扩展对象
*/ */
...@@ -66,16 +82,14 @@ public class ExtDxDocumentFolder extends IdOnlyEntity implements IdEntity ,DxLog ...@@ -66,16 +82,14 @@ public class ExtDxDocumentFolder extends IdOnlyEntity implements IdEntity ,DxLog
* 父级Id * 父级Id
*/ */
private Long parentId; private Long parentId;
/**
* 卷号
*/
private String volumeNumber;
/** /**
* 保管年限 * 保管年限
*/ */
private String storagePeriod; private String storagePeriod;
/**
* 卷号
*/
private String volumeNumber;
} }
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