diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java index a0e5ea8..b95496f 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/ArchivesController.java @@ -26,6 +26,14 @@ public class ArchivesController { return ApiResponse.success(archivesService.initArchivesView(categoryId,query,page)); } + @ApiOperation("档案预编辑") + @GetMapping("/doedit") + public ApiResponse doedit( + String categoryId,String archivesId + ){ + return ApiResponse.success(archivesService.doedit(categoryId,archivesId)); + } + @ApiOperation("测试档案") diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java index 3966c0d..e807d60 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesService.java @@ -5,5 +5,8 @@ import org.springframework.data.domain.Pageable; public interface ArchivesService { //初始化档案列表 Object initArchivesView(String categoryId, String query, Pageable page); + //预编辑档案 初始化信息 + Object doedit(String categoryId,String archivesId); + String test(); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java index 8985c01..0a5e389 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesServiceImpl.java @@ -1,11 +1,14 @@ package com.storeroom.modules.archives.service.impl; 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.dictionary.domain.ArchivesDictionary; import com.storeroom.modules.dictionary.domain.ArchivesType; import com.storeroom.modules.dictionary.repository.ArchivesDictionaryRepository; import com.storeroom.modules.dictionary.repository.ArchivesTypeRepository; +import com.storeroom.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -13,6 +16,7 @@ import org.springframework.stereotype.Service; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Optional; @@ -50,10 +54,36 @@ public class ArchivesServiceImpl implements ArchivesService { quertOrder = " order by " + quertOrder.substring(0,quertOrder.length()-1); List list = entityManager.createNativeQuery("select "+queryField+" from "+queryTable+quertOrder).getResultList(); - JSONArray jsons = new JSONArray(); - jsons.put(queryFields); - jsons.put(list); - return jsons; + JSONObject json = new JSONObject(); + json.put("queryFields",queryFields); + json.put("showlist",list); + return json; + } + + @Override + public Object doedit(String categoryId,String archivesId) { + JSONObject json = new JSONObject(); + List showFiled = archivesDictionaryRepository.findAllByCategoryIdAndIsInputOrderByIsSequenceAsc(categoryId,true); + if(!StringUtils.isEmpty(archivesId)){ + ArchivesType archivesType = archivesTypeRepository.findById(categoryId).get(); + List queryFields = new ArrayList<>(); + for(ArchivesDictionary archivesDictionary:showFiled){ + queryFields.add(archivesDictionary.getFieldName()); + } + String queryField = queryFields.stream().map(String::valueOf).collect(Collectors.joining(",")); + String queryTable = archivesType.getEnName(); + List list = entityManager.createNativeQuery("select "+queryField+" from "+queryTable + " where id = '"+archivesId+"'").getResultList(); + Object[] doeditEntity = list.size() > 0 ? list.get(0) : null; + if(null != doeditEntity){ + JSONObject echo = new JSONObject(); + for(int i = 0;i