Browse Source

新增删除动态表

master
刘力 3 years ago
parent
commit
ac44ccccf2
  1. 3
      archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java
  2. 33
      archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesDicSettingController.java
  3. 83
      archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesDictrionaryController.java
  4. 6
      archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesDisplayController.java
  5. 59
      archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesTypeController.java
  6. 8
      archives/src/main/java/com/storeroom/modules/dictionary/controller/DictrionaryController.java
  7. 9
      archives/src/main/java/com/storeroom/modules/dictionary/controller/FieldController.java
  8. 10
      archives/src/main/java/com/storeroom/modules/dictionary/domain/ArchivesDictionary.java
  9. 21
      archives/src/main/java/com/storeroom/modules/dictionary/repository/ArchivesDictionaryRepository.java
  10. 8
      archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesDictionaryService.java
  11. 9
      archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesNoSettingService.java
  12. 9
      archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesTypeService.java
  13. 7
      archives/src/main/java/com/storeroom/modules/dictionary/service/DynamicTableService.java
  14. 3
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesDicStateDTO.java
  15. 1
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesDictionarySmallDTO.java
  16. 6
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesDisplaySmallDTO.java
  17. 25
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesNoSettingDTO.java
  18. 34
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesDictionaryImpl.java
  19. 11
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesNoSettingImpl.java
  20. 14
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java
  21. 60
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/DynamicTableImpl.java
  22. 11
      archives/src/main/java/com/storeroom/modules/dictionary/service/mapstruct/ArchivesNoSettingMapper.java
  23. 1
      common/src/main/java/com/storeroom/exception/BaseException.java
  24. 2
      common/src/main/java/com/storeroom/exception/handler/GlobalExceptionHandler.java
  25. 4
      common/src/main/java/com/storeroom/utils/ApiResponse.java
  26. 2
      common/src/main/java/com/storeroom/utils/SecurityUtils.java
  27. 2
      common/src/main/java/com/storeroom/utils/enums/ResponseStatus.java
  28. 3
      system/src/main/java/com/storeroom/modules/security/controller/AuthorizationController.java
  29. 2
      system/src/main/java/com/storeroom/modules/system/controller/DeptController.java
  30. 2
      system/src/main/java/com/storeroom/modules/system/controller/DictController.java
  31. 2
      system/src/main/java/com/storeroom/modules/system/controller/DictDetailController.java
  32. 2
      system/src/main/java/com/storeroom/modules/system/controller/MenuController.java
  33. 6
      system/src/main/java/com/storeroom/modules/system/controller/TestController.java
  34. 2
      system/src/main/java/com/storeroom/modules/system/controller/UserController.java

3
archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java

@ -1,7 +1,6 @@
package com.storeroom.modules.archives.controller;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.modules.archives.domain.ArchivesCaseCartoning;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.archives.service.ArchivesCaseService;
import com.storeroom.modules.archives.service.dto.ArchivesCaseCartoningDTO;
import com.storeroom.modules.archives.service.dto.CaseDTO;

33
archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesDicSettingController.java

@ -0,0 +1,33 @@
package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.modules.dictionary.service.ArchivesNoSettingService;
import com.storeroom.modules.dictionary.service.dto.ArchivesNoSettingDTO;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.enums.ResponseStatus;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "档号规则设置")
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/dic-setting/")
public class ArchivesDicSettingController {
private final ArchivesNoSettingService arcSettingService;
@ApiOperation("新增规则字段")
@AnonymousPostMapping("create")
public ApiResponse<Object> create(@RequestBody ArchivesNoSettingDTO archivesNoSettingDTO){
arcSettingService.create(archivesNoSettingDTO);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
}

83
archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesDictrionaryController.java

@ -0,0 +1,83 @@
package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousDeleteMapping;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.annotaion.rest.AnonymousPutMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.dictionary.domain.ArchivesDictionary;
import com.storeroom.modules.dictionary.service.ArchivesDictionaryService;
import com.storeroom.modules.dictionary.service.dto.ArchivesDictionaryDTO;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.StringUtils;
import com.storeroom.utils.enums.ResponseStatus;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "字典管理")
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/arc-dic/")
public class ArchivesDictrionaryController {
private final ArchivesDictionaryService arcdicService;
@ApiOperation("获取隐藏状态字典")
@AnonymousGetMapping("isdispaly")
public ApiResponse<Object> getIsDisPlayState(@RequestParam Boolean isDisPlayState) {
if (isDisPlayState != null) {
return ApiResponse.success(arcdicService.getIsDisPlayState(isDisPlayState));
}
throw new BaseException("状态异常");
}
@ApiOperation("创建门类字典")
@AnonymousPostMapping("create")
public ApiResponse<Object> createDic(@RequestBody ArchivesDictionaryDTO arcdicDto) {
if (!StringUtils.isEmpty(arcdicDto.getId())) {
throw new BaseException("id添加异常");
}
if (StringUtils.isEmpty(arcdicDto.getFieldCnName()) || StringUtils.isEmpty(arcdicDto.getFieldName())) {
throw new BaseException("字段名字不能为空");
}
if (StringUtils.isEmpty(arcdicDto.getIsDataTypeDetails())) {
throw new BaseException("数据类型不能为空");
}
if (StringUtils.isEmpty(arcdicDto.getDictionaryConfigId().getId()) || arcdicDto.getDictionaryConfigId().getId().equals("null")) {
arcdicDto.setDictionaryConfigId(null);
}
arcdicService.create(arcdicDto);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
@ApiOperation("删除门类类型菜单")
@AnonymousDeleteMapping("delete")
public ApiResponse<Object> deleteType(@RequestParam String id) {
if (!StringUtils.isEmpty(id)) {
arcdicService.delete(id);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
throw new BaseException("id不能为空");
}
@ApiOperation("修改门类字段")
@AnonymousPutMapping("update")
public ApiResponse<Object> updateDic(@RequestBody ArchivesDictionaryDTO arcdicDto) {
if (!StringUtils.isEmpty(arcdicDto.getId())) {
if (StringUtils.isEmpty(arcdicDto.getDictionaryConfigId().getId()) || arcdicDto.getDictionaryConfigId().getId().equals("null")) {
arcdicDto.setDictionaryConfigId(null);
}
arcdicService.update(arcdicDto);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
throw new BaseException("id异常");
}
}

6
archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesDisplayController.java

@ -2,13 +2,11 @@ package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.annotaion.rest.AnonymousPutMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.dictionary.service.ArchivesDictionaryService;
import com.storeroom.modules.dictionary.service.ArchivesNoSettingService;
import com.storeroom.modules.dictionary.service.dto.ArchivesDictionaryDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesDictionarySmallDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesDisplaySmallDTO;
import com.storeroom.utils.ApiResponse;
@ -44,7 +42,7 @@ public class ArchivesDisplayController {
throw new BaseException("数据异常");
}
@ApiOperation("修改界面浏览设置状态")
@ApiOperation("修改界面浏览设置排序状态")
@AnonymousPutMapping("state")
public ApiResponse<Object> ChangeDisplayState(@Validated @RequestBody Set<ArchivesDisplaySmallDTO> archivesDisplaySmallDTO) {
archivesDictionaryService.ChangeDisplayState(archivesDisplaySmallDTO);

59
archives/src/main/java/com/storeroom/modules/dictionary/controller/ArchivesTypeController.java

@ -6,7 +6,7 @@ import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.annotaion.rest.AnonymousPutMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.common.ArchivesTypeEnum;
import com.storeroom.modules.dictionary.service.ArchivesDictionaryService;
import com.storeroom.modules.dictionary.service.ArchivesTypeService;
@ -68,7 +68,7 @@ public class ArchivesTypeController {
}
@ApiOperation("修改门类")
@AnonymousPutMapping("updata-type")
@AnonymousPutMapping("update")
public ApiResponse<Object> updataAchivesType(@RequestBody ArchivesTypeDTO archivesTypeDTO) {
if (!StringUtils.isEmpty(archivesTypeDTO.getId())) {
archivesTypeService.update(archivesTypeDTO);
@ -78,16 +78,6 @@ public class ArchivesTypeController {
}
@ApiOperation("删除门类类型菜单")
@AnonymousDeleteMapping("delete-type")
public ApiResponse<Object> deleteType(@RequestParam String id) {
if (!StringUtils.isEmpty(id)) {
archivesTypeService.delete(id);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
throw new BaseException("id不能为空");
}
@ApiOperation("获取门类树状菜单")
@AnonymousGetMapping("menu")
//TODO:权限未添加
@ -98,11 +88,12 @@ public class ArchivesTypeController {
@ApiOperation("门类字段管理")
@AnonymousGetMapping("manage")
public ApiResponse<Object> getFieldName(@RequestParam String categoryId, Integer isDateType) {
if (!StringUtils.isEmpty(categoryId) && isDateType != null) {
public ApiResponse<Object> getFieldName(@RequestParam String categoryId, Integer isDataType,Boolean isInput) {
if (!StringUtils.isEmpty(categoryId) && isDataType != null) {
ArchivesDicStateDTO dto = new ArchivesDicStateDTO();
dto.setCategoryId(categoryId);
dto.setIsDataType(isDateType);
dto.setIsDataType(isDataType);
dto.setIsInput(isInput);
return ApiResponse.success(archivesDictionaryService.getAll(dto));
}
throw new BaseException("id异常");
@ -117,37 +108,9 @@ public class ArchivesTypeController {
throw new BaseException("id异常");
}
@ApiOperation("修改门类字段")
@AnonymousPutMapping("update")
public ApiResponse<Object> updateDic(@RequestBody ArchivesDictionaryDTO arcdicDto) {
if (!StringUtils.isEmpty(arcdicDto.getId())) {
if (StringUtils.isEmpty(arcdicDto.getDictionaryConfigId().getId()) || arcdicDto.getDictionaryConfigId().getId().equals("null")) {
arcdicDto.setDictionaryConfigId(null);
}
archivesDictionaryService.update(arcdicDto);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
throw new BaseException("id异常");
}
@ApiOperation("创建门类字典")
@AnonymousPostMapping("create-dic")
public ApiResponse<Object> createDic(@RequestBody ArchivesDictionaryDTO arcdicDto) {
if (!StringUtils.isEmpty(arcdicDto.getId())) {
throw new BaseException("id添加异常");
}
if (StringUtils.isEmpty(arcdicDto.getFieldCnName()) || StringUtils.isEmpty(arcdicDto.getFieldName())) {
throw new BaseException("字段名字不能为空");
}
if (StringUtils.isEmpty(arcdicDto.getIsDataTypeDetails())) {
throw new BaseException("数据类型不能为空");
}
if (StringUtils.isEmpty(arcdicDto.getDictionaryConfigId().getId()) || arcdicDto.getDictionaryConfigId().getId().equals("null")) {
arcdicDto.setDictionaryConfigId(null);
}
archivesDictionaryService.create(arcdicDto);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
@ApiOperation("获取档案配置下拉列表")
@AnonymousGetMapping("arc-config")
@ -155,11 +118,11 @@ public class ArchivesTypeController {
return ApiResponse.success(dictionaryService.findDictrionaryMenu());
}
@ApiOperation("删除门类字典字段")
@AnonymousDeleteMapping("delete-dic")
@ApiOperation("删除门类")
@AnonymousDeleteMapping("delete")
public ApiResponse<Object> delete(@RequestParam String id) {
if (!StringUtils.isEmpty(id)) {
archivesDictionaryService.delete(id);
archivesTypeService.delete(id);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
throw new BaseException("id异常");

8
archives/src/main/java/com/storeroom/modules/dictionary/controller/DictrionaryController.java

@ -1,15 +1,11 @@
package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.modules.dictionary.domain.vo.DictionaryVO;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.dictionary.service.DictionaryService;
import com.storeroom.modules.dictionary.service.dto.DictionaryDTO;
import com.storeroom.modules.dictionary.service.dto.DictionaryQueryCriteria;
import com.storeroom.modules.dictionary.service.dto.PrimaryDTO;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -18,8 +14,6 @@ import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Api(tags = "字典表管理")

9
archives/src/main/java/com/storeroom/modules/dictionary/controller/FieldController.java

@ -1,25 +1,18 @@
package com.storeroom.modules.dictionary.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.config.RsaProperties;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.dictionary.service.FieldService;
import com.storeroom.modules.dictionary.service.dto.FieldDTO;
import com.storeroom.modules.dictionary.service.dto.PrimaryDTO;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.RsaUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Api(tags = "字段表管理")

10
archives/src/main/java/com/storeroom/modules/dictionary/domain/ArchivesDictionary.java

@ -2,14 +2,12 @@ package com.storeroom.modules.dictionary.domain;
import com.storeroom.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
@Entity
@ -148,17 +146,21 @@ public class ArchivesDictionary extends BaseEntity implements Serializable {
@ApiModelProperty(value = "显示长度")
private Integer displayLength;
@Column(name = "queue")
@ApiModelProperty(value = "序号")
private Integer queue;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ArchivesDictionary that = (ArchivesDictionary) o;
return Objects.equals(id, that.id) && Objects.equals(categoryId, that.categoryId) && Objects.equals(dictionaryConfigId, that.dictionaryConfigId) && Objects.equals(fieldName, that.fieldName) && Objects.equals(fieldCnName, that.fieldCnName) && Objects.equals(isDefaultValue, that.isDefaultValue) && Objects.equals(isInputClass, that.isInputClass) && Objects.equals(isDataType, that.isDataType) && Objects.equals(isDataTypeDetails, that.isDataTypeDetails) && Objects.equals(isColumnLength, that.isColumnLength) && Objects.equals(isColumnType, that.isColumnType) && Objects.equals(isSequence, that.isSequence) && Objects.equals(isType, that.isType) && Objects.equals(isSystem, that.isSystem) && Objects.equals(isLine, that.isLine) && Objects.equals(isInput, that.isInput) && Objects.equals(isRequired, that.isRequired) && Objects.equals(isAutomatic, that.isAutomatic) && Objects.equals(isAdd, that.isAdd) && Objects.equals(isSearch, that.isSearch) && Objects.equals(isInherit, that.isInherit) && Objects.equals(isFilling, that.isFilling) && Objects.equals(fillingDigit, that.fillingDigit) && Objects.equals(isRepeat, that.isRepeat) && Objects.equals(isDisplay, that.isDisplay) && Objects.equals(displayOrder, that.displayOrder) && Objects.equals(isDisplayformat, that.isDisplayformat) && Objects.equals(displayformatType, that.displayformatType) && Objects.equals(editLength, that.editLength) && Objects.equals(displayLength, that.displayLength);
return Objects.equals(id, that.id) && Objects.equals(categoryId, that.categoryId) && Objects.equals(dictionaryConfigId, that.dictionaryConfigId) && Objects.equals(fieldName, that.fieldName) && Objects.equals(fieldCnName, that.fieldCnName) && Objects.equals(isDefaultValue, that.isDefaultValue) && Objects.equals(isInputClass, that.isInputClass) && Objects.equals(isDataType, that.isDataType) && Objects.equals(isDataTypeDetails, that.isDataTypeDetails) && Objects.equals(isColumnLength, that.isColumnLength) && Objects.equals(isColumnType, that.isColumnType) && Objects.equals(isSequence, that.isSequence) && Objects.equals(isType, that.isType) && Objects.equals(isSystem, that.isSystem) && Objects.equals(isLine, that.isLine) && Objects.equals(isInput, that.isInput) && Objects.equals(isRequired, that.isRequired) && Objects.equals(isAutomatic, that.isAutomatic) && Objects.equals(isAdd, that.isAdd) && Objects.equals(isSearch, that.isSearch) && Objects.equals(isInherit, that.isInherit) && Objects.equals(isFilling, that.isFilling) && Objects.equals(fillingDigit, that.fillingDigit) && Objects.equals(isRepeat, that.isRepeat) && Objects.equals(isDisplay, that.isDisplay) && Objects.equals(displayOrder, that.displayOrder) && Objects.equals(displayOrderBy, that.displayOrderBy) && Objects.equals(isDisplayformat, that.isDisplayformat) && Objects.equals(displayformatType, that.displayformatType) && Objects.equals(editLength, that.editLength) && Objects.equals(displayLength, that.displayLength) && Objects.equals(queue, that.queue);
}
@Override
public int hashCode() {
return Objects.hash(id, categoryId, dictionaryConfigId, fieldName, fieldCnName, isDefaultValue, isInputClass, isDataType, isDataTypeDetails, isColumnLength, isColumnType, isSequence, isType, isSystem, isLine, isInput, isRequired, isAutomatic, isAdd, isSearch, isInherit, isFilling, fillingDigit, isRepeat, isDisplay, displayOrder, isDisplayformat, displayformatType, editLength, displayLength);
return Objects.hash(id, categoryId, dictionaryConfigId, fieldName, fieldCnName, isDefaultValue, isInputClass, isDataType, isDataTypeDetails, isColumnLength, isColumnType, isSequence, isType, isSystem, isLine, isInput, isRequired, isAutomatic, isAdd, isSearch, isInherit, isFilling, fillingDigit, isRepeat, isDisplay, displayOrder, displayOrderBy, isDisplayformat, displayformatType, editLength, displayLength, queue);
}
}

21
archives/src/main/java/com/storeroom/modules/dictionary/repository/ArchivesDictionaryRepository.java

@ -23,17 +23,18 @@ public interface ArchivesDictionaryRepository extends JpaRepository<ArchivesDict
@Query(value = "from ArchivesDictionary where categoryId = ?1 and isDisplay = true order by displayOrder asc")
List<ArchivesDictionary> findDisPlay(String categoryId);
/**
* 通过门类id查询
* 通过门类id字典数据类型输入状态查询
*
* @param categoryId
* @param isDateType
* @return
*/
List<ArchivesDictionary> findByCategoryId(String categoryId);
List<ArchivesDictionary> findByCategoryIdAndIsDataTypeAndIsInput(String categoryId, Integer isDateType,Boolean isInput);
/**
* 通过门类id 和字典数据类型查询
*
* 通过门类id和字典数据类型查询
* @param categoryId
* @param isDateType
* @return
@ -52,15 +53,15 @@ public interface ArchivesDictionaryRepository extends JpaRepository<ArchivesDict
List<ArchivesDictionary> querybyName(String fName, String fcName);
ArchivesDictionary findFirstByCategoryIdAndFieldName(String categoryId,String fieldName);
/**
* 通过数据类型查询
*
* @param type
* 查询字段隐藏状态
* @param state
* @return
*/
List<ArchivesDictionary> findByIsDataType(Integer type);
ArchivesDictionary findFirstByCategoryIdAndFieldName(String categoryId,String fieldName);
List<ArchivesDictionary> findByIsDisplay(Boolean state);
}

8
archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesDictionaryService.java

@ -70,6 +70,14 @@ public interface ArchivesDictionaryService {
void ChangeDisplayState(Set<ArchivesDisplaySmallDTO> archivesDictionarySmallDTOS);
/**
* 查询隐藏状态字典
* @param isDisPlayState
* @return
*/
List<ArchivesDictionaryDTO> getIsDisPlayState(Boolean isDisPlayState);

9
archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesNoSettingService.java

@ -1,6 +1,8 @@
package com.storeroom.modules.dictionary.service;
import com.storeroom.modules.dictionary.service.dto.ArchivesNoSettingDTO;
/**
* 档案配置规则服务
*/
@ -13,4 +15,11 @@ public interface ArchivesNoSettingService {
* @return
*/
Boolean IsDataState(String dicId);
/**
* 创建规则字段
* @param archivesNoSettingDTO /
*/
void create(ArchivesNoSettingDTO archivesNoSettingDTO);
}

9
archives/src/main/java/com/storeroom/modules/dictionary/service/ArchivesTypeService.java

@ -41,9 +41,16 @@ public interface ArchivesTypeService {
/**
*
* 排序
*/
void updateSort(Set<ArcTypeSmallDTO> arcDicSmallDTO);
/**
* 通过id 查询门类
* @param id 门类id
* @return
*/
ArchivesTypeDTO findById(String id);
}

7
archives/src/main/java/com/storeroom/modules/dictionary/service/DynamicTableService.java

@ -14,5 +14,12 @@ public interface DynamicTableService {
void DynamicCreate(Integer type,String archiveTypeId,String tableName);
/**
* 删除动态生成的表
* @param name
*/
void DeleteTable(String name);
}

3
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesDicStateDTO.java

@ -15,4 +15,7 @@ public class ArchivesDicStateDTO implements Serializable {
@NotNull
private Integer isDataType;
@NotNull
private Boolean isInput;
}

1
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesDictionarySmallDTO.java

@ -14,6 +14,5 @@ public class ArchivesDictionarySmallDTO implements Serializable {
@NotNull
private String id;
private Integer sort;
}

6
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesDisplaySmallDTO.java

@ -11,15 +11,19 @@ public class ArchivesDisplaySmallDTO implements Serializable {
@NotNull
private String id;
//显示格式
private String displayformatType;
//字段长度
private Integer displayLength;
//显示状态
private Boolean isDisplay;
//排序
private Integer sort;
//升降排序
private String displayOrderBy;

25
archives/src/main/java/com/storeroom/modules/dictionary/service/dto/ArchivesNoSettingDTO.java

@ -0,0 +1,25 @@
package com.storeroom.modules.dictionary.service.dto;
import com.storeroom.base.BaseDTO;
import lombok.Data;
import java.io.Serializable;
@Data
public class ArchivesNoSettingDTO extends BaseDTO implements Serializable {
private String id;
private String filedCnName;
private String filedName;
private String connector;
private Integer sequence;
private String categoryId;
private String dictionaryId;
}

34
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesDictionaryImpl.java

@ -3,13 +3,12 @@ package com.storeroom.modules.dictionary.service.impl;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.dictionary.domain.ArchivesDictionary;
import com.storeroom.modules.dictionary.domain.ArchivesType;
import com.storeroom.modules.dictionary.repository.ArchivesDictionaryRepository;
import com.storeroom.modules.dictionary.repository.ArchivesNoSettingRepository;
import com.storeroom.modules.dictionary.service.ArchivesDictionaryService;
import com.storeroom.modules.dictionary.service.dto.ArchivesDicStateDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesDictionaryDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesDictionarySmallDTO;
import com.storeroom.modules.dictionary.service.dto.ArchivesDisplaySmallDTO;
import com.storeroom.modules.dictionary.service.ArchivesTypeService;
import com.storeroom.modules.dictionary.service.DynamicTableService;
import com.storeroom.modules.dictionary.service.dto.*;
import com.storeroom.modules.dictionary.service.mapstruct.ArchivesDictionaryMapper;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.ValidationUtil;
@ -28,7 +27,6 @@ public class ArchivesDictionaryImpl implements ArchivesDictionaryService {
private final ArchivesDictionaryRepository archivesDictionaryRepository;
private final ArchivesDictionaryMapper archivesDictionaryMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveAll(List<ArchivesDictionaryDTO> list) {
@ -44,10 +42,15 @@ public class ArchivesDictionaryImpl implements ArchivesDictionaryService {
@Override
public List<ArchivesDictionaryDTO> getAll(ArchivesDicStateDTO archivesDicStateDTO) {
List<ArchivesDictionary> list= archivesDictionaryRepository.findByCategoryIdAndIsDataType(archivesDicStateDTO.getCategoryId(),archivesDicStateDTO.getIsDataType());
List<ArchivesDictionaryDTO> dtoList=new ArrayList<>();
list.forEach(item-> {
ArchivesDictionaryDTO dto=archivesDictionaryMapper.toDto(item);
List<ArchivesDictionary> list;
if (archivesDicStateDTO.getIsInput() != null) {
list = archivesDictionaryRepository.findByCategoryIdAndIsDataTypeAndIsInput(archivesDicStateDTO.getCategoryId(), archivesDicStateDTO.getIsDataType(), archivesDicStateDTO.getIsInput());
} else {
list = archivesDictionaryRepository.findByCategoryIdAndIsDataType(archivesDicStateDTO.getCategoryId(), archivesDicStateDTO.getIsDataType());
}
List<ArchivesDictionaryDTO> dtoList = new ArrayList<>();
list.forEach(item -> {
ArchivesDictionaryDTO dto = archivesDictionaryMapper.toDto(item);
dtoList.add(dto);
});
return dtoList;
@ -147,4 +150,15 @@ public class ArchivesDictionaryImpl implements ArchivesDictionaryService {
archivesDictionaryRepository.saveAll(list);
}
@Override
public List<ArchivesDictionaryDTO> getIsDisPlayState(Boolean isDisPlayState) {
List<ArchivesDictionary> list = archivesDictionaryRepository.findByIsDisplay(isDisPlayState);
List<ArchivesDictionaryDTO> list1 = new ArrayList<>();
list.forEach(item -> {
ArchivesDictionaryDTO ar = archivesDictionaryMapper.toDto(item);
list1.add(ar);
});
return list1;
}
}

11
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesNoSettingImpl.java

@ -4,6 +4,9 @@ package com.storeroom.modules.dictionary.service.impl;
import com.storeroom.modules.dictionary.domain.ArchivesNoSetting;
import com.storeroom.modules.dictionary.repository.ArchivesNoSettingRepository;
import com.storeroom.modules.dictionary.service.ArchivesNoSettingService;
import com.storeroom.modules.dictionary.service.dto.ArchivesNoSettingDTO;
import com.storeroom.modules.dictionary.service.mapstruct.ArchivesNoSettingMapper;
import com.storeroom.utils.NanoIdUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -12,6 +15,7 @@ import org.springframework.stereotype.Service;
public class ArchivesNoSettingImpl implements ArchivesNoSettingService {
private final ArchivesNoSettingRepository ansRepostiory;
private final ArchivesNoSettingMapper archivesNoSettingMapper;
@Override
@ -23,4 +27,11 @@ public class ArchivesNoSettingImpl implements ArchivesNoSettingService {
}
return state;
}
@Override
public void create(ArchivesNoSettingDTO archivesNoSettingDTO) {
archivesNoSettingDTO.setId(NanoIdUtils.randomNanoId());
ArchivesNoSetting as = archivesNoSettingMapper.toEntity(archivesNoSettingDTO);
ansRepostiory.save(as);
}
}

14
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/ArchivesTypeServiceImpl.java

@ -1,6 +1,7 @@
package com.storeroom.modules.dictionary.service.impl;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.dictionary.domain.ArchivesDictionary;
import com.storeroom.modules.dictionary.domain.ArchivesType;
import com.storeroom.modules.dictionary.repository.ArchivesTypeRepository;
import com.storeroom.modules.dictionary.service.ArchivesTypeService;
@ -10,6 +11,7 @@ import com.storeroom.modules.dictionary.service.dto.ArchivesTypeDTO;
import com.storeroom.modules.dictionary.service.mapstruct.ArchivesTypeMapper;
import com.storeroom.utils.DateUtils;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.StringUtils;
import com.storeroom.utils.ValidationUtil;
import lombok.RequiredArgsConstructor;
@ -96,6 +98,9 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
@Override
public void delete(String id) {
ArchivesType archivesType=archivesTypeRepository.findById(id).orElseGet(ArchivesType::new);
String tableName = archivesType.getEnName();
dynamicTableService.DeleteTable(tableName);
archivesTypeRepository.deleteById(id);
}
@ -110,5 +115,14 @@ public class ArchivesTypeServiceImpl implements ArchivesTypeService {
archivesTypeRepository.saveAll(list);
}
@Override
public ArchivesTypeDTO findById(String id) {
if (!StringUtils.isEmpty(id)) {
ArchivesType archivesType = archivesTypeRepository.findById(id).orElseGet(ArchivesType::new);
return archivesTypeMapper.toDto(archivesType);
}
return null;
}
}

60
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/DynamicTableImpl.java

@ -1,21 +1,30 @@
package com.storeroom.modules.dictionary.service.impl;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.common.ArchivesListToMap;
import com.storeroom.modules.dictionary.domain.vo.FieldVO;
import com.storeroom.modules.dictionary.service.ArchivesDictionaryService;
import com.storeroom.modules.dictionary.service.DynamicTableService;
import com.storeroom.modules.dictionary.service.FieldService;
import com.storeroom.modules.dictionary.service.dto.ArchivesDictionaryDTO;
import com.storeroom.modules.dictionary.service.dto.FieldDTO;
import com.storeroom.utils.DateUtils;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DataSourceUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -28,8 +37,7 @@ public class DynamicTableImpl implements DynamicTableService {
private final FieldService fieldService;
private final ArchivesDictionaryService archivesDictionaryService;
private final JdbcTemplate jdbcTemplate;
private final DataSource dataSource;
@Override
@ -38,7 +46,7 @@ public class DynamicTableImpl implements DynamicTableService {
List<Integer> integerList = new ArrayList<>();
if (type == 4 || type == 5) {
//#生成文件表名称
String fileTableName="file_tb_";
String fileTableName = "file_tb_";
integerList.add(1);
integerList.add(2);
@ -63,6 +71,7 @@ public class DynamicTableImpl implements DynamicTableService {
}
/**
* 查询字典字段
*
@ -74,6 +83,41 @@ public class DynamicTableImpl implements DynamicTableService {
return list;
}
@Override
public void DeleteTable(String tableName) {
if (!StringUtils.isEmpty(tableName) && checkTableNameExitst(tableName)) {
//StringBuilder stringBuilder = new StringBuilder("DROP TABLE " + tableName + "");
String sql = "DROP TABLE " + tableName + "";
jdbcTemplate.execute(sql);
}
}
/**
* 验证表是否存在
*
* @param tableName 表名
* @return 返回状态
*/
private Boolean checkTableNameExitst(String tableName) {
Boolean result;
Connection connection = DataSourceUtils.getConnection(dataSource);
try {
ResultSet rs = connection.getMetaData().getTables(null, null, tableName, null);
if (rs.next()) {
//表存在
result = true;
} else {
//表不存在
result = false;
}
} catch (Exception e) {
return false;
}
return result;
}
/**
* 插入档案字典表数据

11
archives/src/main/java/com/storeroom/modules/dictionary/service/mapstruct/ArchivesNoSettingMapper.java

@ -0,0 +1,11 @@
package com.storeroom.modules.dictionary.service.mapstruct;
import com.storeroom.base.BaseMapper;
import com.storeroom.modules.dictionary.domain.ArchivesNoSetting;
import com.storeroom.modules.dictionary.service.dto.ArchivesNoSettingDTO;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface ArchivesNoSettingMapper extends BaseMapper<ArchivesNoSettingDTO, ArchivesNoSetting> {
}

1
common/src/main/java/com/storeroom/exception/BaseException.java

@ -1,6 +1,5 @@
package com.storeroom.exception;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.MessageUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;

2
common/src/main/java/com/storeroom/exception/handler/GlobalExceptionHandler.java

@ -1,7 +1,7 @@
package com.storeroom.exception.handler;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.utils.ApiResponse;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;

4
common/src/main/java/com/storeroom/utils/ApiResponse.java

@ -1,11 +1,9 @@
package com.storeroom.utils;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 通用的 API 接口封装
*/

2
common/src/main/java/com/storeroom/utils/SecurityUtils.java

@ -5,7 +5,7 @@ import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.utils.enums.DataScopeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.Authentication;

2
common/src/main/java/com/storeroom/exception/constant/ResponseStatus.java → common/src/main/java/com/storeroom/utils/enums/ResponseStatus.java

@ -1,4 +1,4 @@
package com.storeroom.exception.constant;
package com.storeroom.utils.enums;
import lombok.Getter;

3
system/src/main/java/com/storeroom/modules/security/controller/AuthorizationController.java

@ -7,7 +7,7 @@ import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.config.RsaProperties;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.security.config.bean.LoginCodeEnum;
import com.storeroom.modules.security.config.bean.LoginProperties;
import com.storeroom.modules.security.config.bean.SecurityProperties;
@ -21,7 +21,6 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.core.Authentication;

2
system/src/main/java/com/storeroom/modules/system/controller/DeptController.java

@ -4,7 +4,7 @@ package com.storeroom.modules.system.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.storeroom.annotation.Log;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.system.domain.Dept;
import com.storeroom.modules.system.service.DeptService;
import com.storeroom.modules.system.service.dto.DeptDto;

2
system/src/main/java/com/storeroom/modules/system/controller/DictController.java

@ -3,7 +3,7 @@ package com.storeroom.modules.system.controller;
import com.storeroom.annotation.Log;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.system.domain.Dict;
import com.storeroom.modules.system.service.DictService;
import com.storeroom.modules.system.service.dto.DictQueryCriteria;

2
system/src/main/java/com/storeroom/modules/system/controller/DictDetailController.java

@ -3,7 +3,7 @@ package com.storeroom.modules.system.controller;
import com.storeroom.annotation.Log;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.system.domain.DictDetail;
import com.storeroom.modules.system.service.DictDetailService;
import com.storeroom.modules.system.service.dto.DictDetailDto;

2
system/src/main/java/com/storeroom/modules/system/controller/MenuController.java

@ -4,7 +4,7 @@ package com.storeroom.modules.system.controller;
import cn.hutool.core.collection.CollectionUtil;
import com.storeroom.annotation.Log;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.system.domain.Menu;
import com.storeroom.modules.system.service.MenuService;
import com.storeroom.modules.system.service.dto.MenuDto;

6
system/src/main/java/com/storeroom/modules/system/controller/TestController.java

@ -1,21 +1,15 @@
package com.storeroom.modules.system.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.annotaion.rest.AnonymousPostMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.modules.system.domain.vo.CreateTableVo;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.NanoIdUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.lang.reflect.Field;

2
system/src/main/java/com/storeroom/modules/system/controller/UserController.java

@ -5,7 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
import com.storeroom.annotation.Log;
import com.storeroom.config.RsaProperties;
import com.storeroom.exception.BaseException;
import com.storeroom.exception.constant.ResponseStatus;
import com.storeroom.utils.enums.ResponseStatus;
import com.storeroom.modules.system.domain.Dept;
import com.storeroom.modules.system.domain.User;
import com.storeroom.modules.system.domain.vo.UserPassVo;

Loading…
Cancel
Save