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

文件目录新增树结构

parent 06e9f4b9
package com.yonde.dcs.document.common.vo;
import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.time.LocalDateTime;
import java.util.ArrayList;
import cn.hutool.core.convert.Convert;
import com.yonde.dex.basedata.entity.annotation.XmlElementProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.math.BigInteger;
import org.springframework.data.annotation.Transient;
import lombok.experimental.Delegate;
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.XmlAttribute;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.dcs.document.common.entity.vo.DxDocumentVO;
import com.yonde.dex.basedata.entity.annotation.DexEmbedded;
import com.yonde.dex.basedata.entity.annotation.RelationProperty;
import com.yonde.dex.basedata.entity.annotation.VersionProperty;
import com.yonde.dex.basedata.entity.xmladapters.LocalDateTimeXmlAdapter;
import lombok.Data;
import com.yonde.dex.basedata.entity.annotation.*;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import com.yonde.dex.basedata.entity.vo.IdOnlyVO;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import com.yonde.dex.basedata.entity.data.VersionRelationType;
import com.yonde.dex.logicdelete.plugin.common.entity.DxLogicDeleteVOHolder;
import com.yonde.dex.basedata.entity.vo.DxIdVOEmbeddable;
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.DxLogicDeleteVOHolder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.util.List;
import com.yonde.dex.tree.plugin.common.entity.DxTreeContextVOEmbeddable;
import com.yonde.dex.basedata.entity.vo.IdVO;
import com.yonde.dex.context.plugin.common.entity.DxContextVOEmbeddable;
import com.yonde.dex.tree.plugin.common.entity.DxTreeContextVOHolder;
import com.yonde.dex.context.plugin.common.entity.DxContextVOHolder;
import com.yonde.dcs.document.common.entity.vo.DxDocumentVO;
import com.yonde.dex.basedata.entity.users.DxUserVO;
/**
* @description: ExtDxDocumentFolder-VO
* @author: dexadmin
* @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)
@EqualsAndHashCode(callSuper = true)
@Data
@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_LOGIC_DELETE_EMBEDDABLE_PROP_NAME = "dxLogicDeleteEmbeddable";
public static final String DX_DOCUMENTS_PROP_NAME = "dxDocuments";
public static final String FULL_PATH_PROP_NAME = "fullPath";
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扩展对象
......@@ -69,19 +110,20 @@ public class ExtDxDocumentFolderVO extends IdOnlyVO implements IdVO ,DxLogicDele
private String name;
/**
* 父级Id
*/
* 父级Id
*/
private Long parentId;
/**
* 卷号
*/
private String volumeNumber;
* 保管年限
*/
private String storagePeriod;
/**
* 保管年限
*/
private String storagePeriod;
* 卷号
*/
private String volumeNumber;
}
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 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 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 org.springframework.stereotype.Controller;
/**
* @description: ExtDxDocumentFolder-Controller
* @author: dexadmin
* @version: V
* @date: 2024-8-2 15:26:33
* @date: 2024-9-30 14:06:59
**/
@Api(tags = "ExtDxDocumentFolder管理服务")
@RequestMapping("/ExtDxDocumentFolder")
......
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 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.impl.ExtDxDocumentFolderServiceImpl;
import com.yonde.dex.basedata.entity.api.ApiResult;
import javax.annotation.Resource;
import com.yonde.dex.basedata.auth.annos.BasePermission;
import com.yonde.dex.tree.plugin.core.controller.BaseTreeController;
import com.yonde.dex.baseweb.AbstractBaseController;
/**
* @description: ExtDxDocumentFolder-Controller
* @author: dexadmin
* @version: V
* @date: 2024-8-2 15:26:33
* @date: 2024-9-30 14:06:59
**/
@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";
......
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.core.repository.shadow.ExtDxDocumentFolderRepositoryShadow;
/**
* @description: ExtDxDocumentFolder-repository
* @author: dexadmin
* @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> {
}
......@@ -2,16 +2,18 @@ package com.yonde.dcs.document.core.repository.shadow;
import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder;
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.dao.business.repository.BaseRepository;
import com.yonde.dex.tree.plugin.core.repository.DxTreePluginRepository;
/**
* @description: ExtDxDocumentFolder-repository
* @author: dexadmin
* @version: V
* @date: 2024-8-2 15:26:33
* @date: 2024-9-30 14:06:59
**/
@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";
}
......@@ -6,7 +6,7 @@ import com.yonde.dcs.document.core.service.shadow.ExtDxDocumentFolderServiceShad
* @description: ExtDxDocumentFolder-service
* @author: dexadmin
* @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> {
......
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.ExtDxDocumentFolderVO;
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.ExtDxDocumentFolderService;
import com.yonde.dcs.document.core.repository.ExtDxDocumentFolderRepository;
import com.yonde.dcs.document.entity.po.ExtDxDocumentFolder;
import javax.annotation.Resource;
/**
* @description: ExtDxDocumentFolder-ServiceImpl
* @author: dexadmin
* @version: V
* @date: 2024-8-2 15:26:33
* @date: 2024-9-30 14:06:59
**/
@Slf4j
@Service(ExtDxDocumentFolderServiceImpl.BEAN_NAME)
......
......@@ -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.feign.ExtDxDocumentFolderServiceFeign;
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.tree.plugin.core.service.BaseTreeService;
/**
* @description: ExtDxDocumentFolder-service
* @author: dexadmin
* @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;
import javax.persistence.Table;
import com.yonde.dex.dao.entity.base.IdEntity;
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.IdOnlyEntity;
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;
/**
* @description: ExtDxDocumentFolder-PO实体
* @author: dexadmin
* @version: V
* @date: 2024-8-2 15:26:33
* @date: 2024-9-30 14:06:59
**/
@Entity
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@Data
@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扩展对象
*/
......@@ -63,19 +79,17 @@ public class ExtDxDocumentFolder extends IdOnlyEntity implements IdEntity ,DxLog
*/
private String name;
/**
* 父级Id
*/
* 父级Id
*/
private Long parentId;
/**
* 卷号
*/
private String volumeNumber;
/**
* 保管年限
*/
* 保管年限
*/
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