Browse Source

再次更新字段表 字段类别详情

master
xia 3 years ago
parent
commit
6d6ac31467
  1. 14
      archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java
  2. 3
      archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java
  3. 24
      archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesDTO.java
  4. 29
      archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java
  5. 4
      archives/src/main/java/com/storeroom/modules/dictionary/domain/ArchivesDictionary.java
  6. 4
      archives/src/main/java/com/storeroom/modules/dictionary/domain/Field.java
  7. 6
      archives/src/main/java/com/storeroom/modules/dictionary/service/dto/FieldDTO.java
  8. 1
      archives/src/main/java/com/storeroom/modules/dictionary/service/impl/FieldServiceImpl.java

14
archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java

@ -1,14 +1,15 @@
package com.storeroom.modules.archives.controller;
import com.storeroom.modules.archives.service.ArchivesService;
import com.storeroom.modules.archives.service.dto.ArchivesDTO;
import com.storeroom.modules.dictionary.service.dto.FieldDTO;
import com.storeroom.utils.ApiResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@RestController
@RequiredArgsConstructor
@ -34,6 +35,13 @@ public class ArchivesController {
return ApiResponse.success(archivesService.doedit(categoryId,archivesId));
}
@ApiOperation("档案编辑")
@PostMapping("/edit")
public ApiResponse<Object> edit(
@Validated @RequestBody ArchivesDTO dto
){
return ApiResponse.success(archivesService.edit(dto));
}
@ApiOperation("测试档案")

3
archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java

@ -1,5 +1,6 @@
package com.storeroom.modules.archives.service;
import com.storeroom.modules.archives.service.dto.ArchivesDTO;
import org.springframework.data.domain.Pageable;
public interface ArchivesService {
@ -7,6 +8,8 @@ public interface ArchivesService {
Object initArchivesView(String categoryId, String query, Pageable page);
//预编辑档案 初始化信息
Object doedit(String categoryId,String archivesId);
//编辑档案
Object edit(ArchivesDTO dto);
String test();
}

24
archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesDTO.java

@ -0,0 +1,24 @@
package com.storeroom.modules.archives.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ArchivesDTO {
@JSONField(name="id")
@JsonProperty("id")
private String id;
@JSONField(name="categoryId")
@JsonProperty("categoryId")
private String categoryId;
@JSONField(name="jsonString")
@JsonProperty("jsonString")
private String jsonString;
}

29
archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java

@ -4,6 +4,7 @@ import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.storeroom.modules.archives.repository.ArchivesSummaryRepository;
import com.storeroom.modules.archives.service.ArchivesService;
import com.storeroom.modules.archives.service.dto.ArchivesDTO;
import com.storeroom.modules.dictionary.domain.ArchivesDictionary;
import com.storeroom.modules.dictionary.domain.ArchivesType;
import com.storeroom.modules.dictionary.repository.ArchivesDictionaryRepository;
@ -13,6 +14,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@ -87,8 +89,33 @@ public class ArchivesServiceImpl implements ArchivesService {
}
@Override
public String test() {
@Transactional(rollbackFor = Exception.class)
public Object edit(ArchivesDTO dto) {
JSONObject json = new JSONObject(dto.getJsonString());
String categoryId = "FFAFBB1647D459C82080A";
ArchivesType archivesType = archivesTypeRepository.findById(categoryId).get();
List<ArchivesDictionary> showFiled = archivesDictionaryRepository.findAllByCategoryIdAndIsInputOrderByIsSequenceAsc(categoryId,true);
String insertFiled = "";
String insertValue = "";
String updateValue = "";
for(ArchivesDictionary archivesDictionary:showFiled){
insertFiled +="'"+archivesDictionary.getFieldName()+"',";
insertValue += archivesDictionary.getIsDataType() == 1 ? "'"+json.get(archivesDictionary.getFieldName())+"',"
: json.get(archivesDictionary.getFieldName()) +",";
updateValue += "";
}
insertFiled = insertFiled.length() != 0 ? insertFiled.substring(0,insertFiled.length()-1) : "";
insertValue = insertValue.length() != 0 ? insertValue.substring(0,insertValue.length()-1) : "";
String sql = StringUtils.isEmpty(dto.getId()) ? "insert into " + archivesType.getEnName() + "(" + insertFiled +") values ("+insertValue+")"
: "";
return null;
}
@Override
public String test() {
String testQuery = "dic_name,dic_code";
String testTable = "archives_dictionary_config";
List<Object[]> list = entityManager.createNativeQuery("select "+testQuery+" from "+testTable).getResultList();

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

@ -59,6 +59,10 @@ public class ArchivesDictionary extends BaseEntity implements Serializable {
@ApiModelProperty(value = "数据类型")
private Integer isDataType;
@Column(name = "is_data_type_details")
@ApiModelProperty(value = "数据类型详情")
private String isDataTypeDetails;
@Column(name = "is_column_length")
@ApiModelProperty(value = "字段长度")
private Integer isColumnLength;

4
archives/src/main/java/com/storeroom/modules/dictionary/domain/Field.java

@ -39,6 +39,10 @@ public class Field extends BaseEntity implements Serializable {
@ApiModelProperty(value = "数据类型")
private Integer isDataType;
@Column(name = "is_data_type_details")
@ApiModelProperty(value = "数据类型详情")
private String isDataTypeDetails;
@Column(name = "is_column_length")
@ApiModelProperty(value = "字段长度")
private Integer isColumnLength;

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

@ -3,9 +3,11 @@ package com.storeroom.modules.dictionary.service.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.storeroom.annotaion.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import java.io.Serializable;
@Getter
@ -42,6 +44,10 @@ public class FieldDTO implements Serializable {
@JsonProperty("isDataType")
private Integer isDataType;
@Column(name = "is_data_type_details")
@ApiModelProperty(value = "数据类型详情")
private String isDataTypeDetails;
@Query
@JSONField(name="isColumnLength")
@JsonProperty("isColumnLength")

1
archives/src/main/java/com/storeroom/modules/dictionary/service/impl/FieldServiceImpl.java

@ -39,6 +39,7 @@ public class FieldServiceImpl implements FieldService {
field.setIsDefaultValue(dto.getIsDefaultValue());
field.setDictionaryId(dto.getDictionaryId());
field.setIsDataType(dto.getIsDataType());
field.setIsDataTypeDetails(dto.getIsDataType() == 1 ? "varchar":"int");
field.setIsColumnLength(dto.getIsColumnLength());
if(null == dto.getIsSequence()) {
Integer maxSequence = fieldRepository.getMaxSequence(dto.getIsType());

Loading…
Cancel
Save