From 4d196c0625b6225b821c1e4345011cb5eb807062 Mon Sep 17 00:00:00 2001 From: xia Date: Tue, 28 Jun 2022 17:40:17 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E9=99=84=E4=BB=B6=E6=98=A0?= =?UTF-8?q?=E5=B0=84=20=20=E9=99=84=E4=BB=B6=E4=B8=8B=E8=BD=BD=202.?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=A0=87=E7=AD=BE=E6=A8=A1=E5=9D=97=203.?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=91=E5=AE=9A=E6=A0=87=E7=AD=BE=E9=83=A8?= =?UTF-8?q?=E5=88=86=E9=97=AE=E9=A2=98=204.=E4=BF=AE=E6=94=B9=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=96=87=E6=A1=A3=E9=83=A8=E5=88=86bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ArchivesController.java | 17 ++++++-- .../archives/controller/CaseController.java | 2 +- .../archives/controller/TagController.java | 29 ++++++++++++++ .../modules/archives/domain/ArchivesTag.java | 40 +++++++++++++++++++ .../repository/ArchivesTagRepository.java | 20 ++++++++++ .../archives/service/ArchivesService.java | 2 + .../archives/service/ArchivesTagService.java | 10 +++++ .../archives/service/dto/ArchivesFileDTO.java | 4 ++ .../service/impl/ArchivesServiceImpl.java | 22 +++++++--- .../service/impl/ArchivesTagServiceImpl.java | 22 ++++++++++ .../com/storeroom/config/WebMvcConfig.java | 28 +++++++++++++ .../security/config/SpringSecurityConfig.java | 3 +- system/src/main/resources/application-dev.yml | 6 ++- 13 files changed, 192 insertions(+), 13 deletions(-) create mode 100644 archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesTag.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesTagServiceImpl.java create mode 100644 common/src/main/java/com/storeroom/config/WebMvcConfig.java 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 958f6ac..c150aed 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 @@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.OutputStream; import java.util.List; +import java.util.UUID; import java.util.stream.Collectors; @RestController @@ -117,6 +118,14 @@ public class ArchivesController { return ApiResponse.success(archivesService.editFile(dto)); } + @ApiOperation("删除档案附件") + @PostMapping("/fileSort") + public ApiResponse fileSort( + @Validated @RequestBody ArchivesFileDTO dto + ){ + return ApiResponse.success(archivesService.fileSort(dto)); + } + @ApiOperation("删除档案附件") @PostMapping("/deleteFile") public ApiResponse deleteFile( @@ -151,8 +160,8 @@ public class ArchivesController { } @ApiOperation("根据门类导出数据") - @GetMapping("/exportArchives") -// @AnonymousGetMapping("/exportArchives") +// @GetMapping("/exportArchives") + @AnonymousGetMapping("/exportArchives") @ResponseBody public void exportArchives( HttpServletResponse response, @@ -212,8 +221,8 @@ public class ArchivesController { path += categoryIds[i] + "/"; } String originalFilename = file.getOriginalFilename(); -// String fileType = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());//file.getContentType(); - path = path + originalFilename; + String fileType = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());//file.getContentType(); + path = path + UUID.randomUUID() + fileType; File dest = new File(prefixPath +path); // 判断文件父目录是否存在 if (!dest.getParentFile().exists()) { diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java index 96dab71..1b6a0f1 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/CaseController.java @@ -65,7 +65,7 @@ public class CaseController { if("0".equals(bindings[1]) || coverLabel){ return ApiResponse.success(caseService.addCaseTag(dto.getId(),dto.getTid(),dto.getLabelType(),bindings[1],bindings[0])); }else{ - return ApiResponse.error(ResponseStatus.LABEL_BOUND); + return ApiResponse.success(ResponseStatus.LABEL_BOUND); } } diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java new file mode 100644 index 0000000..aff7ef5 --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/TagController.java @@ -0,0 +1,29 @@ +package com.storeroom.modules.archives.controller; + +import com.storeroom.modules.archives.service.ArchivesTagService; +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; + +@RestController +@RequiredArgsConstructor +@Api(tags = "标签管理") +@RequestMapping("/api/tag") +public class TagController { + + private final ArchivesTagService archivesTagService; + + @ApiOperation("标签列表") + @GetMapping("/initTagList") + public ApiResponse initTagList( + String tid, String query,Integer isType, Pageable page + ){ + return ApiResponse.success(archivesTagService.initTagList(tid,query,isType,page)); + } + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesTag.java b/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesTag.java new file mode 100644 index 0000000..90d2401 --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/domain/ArchivesTag.java @@ -0,0 +1,40 @@ +package com.storeroom.modules.archives.domain; + +import com.storeroom.base.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.io.Serializable; + +@Entity +@Getter +@Setter +@Table(name = "archives_tag") +public class ArchivesTag extends BaseEntity implements Serializable { + + @Id + @Column(name = "tid") + private String tid; + + @Column(name = "parents_id") + @ApiModelProperty(value = "绑定id 档案id/盒id/层架位id") + private String parentsId; + + @Column(name = "title") + @ApiModelProperty(value = "标签名称") + private String title; + + @Column(name = "is_type") + @ApiModelProperty(value = "标签类别 1.档案标签 2.盒标签 3.层架位标签") + private Integer isType; + + @Column(name = "eas") + @ApiModelProperty(value = "报警状态 1.报警 0.不报警") + private Integer eas; + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java new file mode 100644 index 0000000..0f76ecf --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesTagRepository.java @@ -0,0 +1,20 @@ +package com.storeroom.modules.archives.repository; + +import com.storeroom.modules.archives.domain.ArchivesTag; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +public interface ArchivesTagRepository extends JpaRepository{ + + @Query(nativeQuery = true, + value = "select * from archives_tag where if(?1 is null,1=1,tid like ?1) and if(?2 is null,1=1,title like ?2) and if(?3 is null,1=1,is_type = ?3)") +// @Query("") + Page initTagList(String tid, String query,Integer isType, Pageable page); + +} 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 ca519d0..18489f0 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 @@ -32,6 +32,8 @@ public interface ArchivesService { Object editFile(ArchivesFileDTO dto); //删除档案附件 Object deleteFile(ArchivesFileDTO dto,String prefixPath); + //档案附件排序 + Object fileSort(ArchivesFileDTO dto); //档案删除进回收站 Object delete(ArchivesDTO dto); //档案从回收站还原 diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java new file mode 100644 index 0000000..fc7d330 --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesTagService.java @@ -0,0 +1,10 @@ +package com.storeroom.modules.archives.service; + +import org.springframework.data.domain.Pageable; + +public interface ArchivesTagService { + + + Object initTagList(String tid, String query,Integer isType, Pageable page); + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesFileDTO.java b/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesFileDTO.java index 5b9a9e9..bd7c03b 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesFileDTO.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesFileDTO.java @@ -19,6 +19,10 @@ public class ArchivesFileDTO { @JsonProperty("ids") private List ids; + @JSONField(name="sequences") + @JsonProperty("sequences") + private List sequences; + @JSONField(name="jsonString") @JsonProperty("jsonString") private String jsonString; 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 45c0e3d..6975655 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 @@ -445,9 +445,6 @@ public class ArchivesServiceImpl implements ArchivesService { idad.setFieldName("id");idad.setIsDataType(1); queryShow.add(idad); JSONArray jsonArray = new JSONArray(dto.getJsonString()); - String archivesId = new JSONObject(jsonArray.get(0)).get("archive_id")+""; - String delsql = "delete from file_"+archivesType.getEnName()+" where archive_id = '"+archivesId+"'"; - entityManager.createNativeQuery(delsql).executeUpdate(); List fields = queryShow.stream().map(archivesDictionary -> { return archivesDictionary.getFieldName(); }).collect(Collectors.toList()); @@ -456,13 +453,13 @@ public class ArchivesServiceImpl implements ArchivesService { JSONObject json = new JSONObject(obj); String insertValue = ""; for(ArchivesDictionary archivesDictionary:queryShow){ - if("id".equals(archivesDictionary.getFieldName()) && (StringUtils.isEmpty(json.get("id")+"") || "null".equals(json.get("id")))){ + if("id".equals(archivesDictionary.getFieldName()) && (StringUtils.isEmpty(json.get("id")+"") || "null".equals(json.get("id")+""))){ insertValue += "'"+NanoIdUtils.randomNanoId() +"',"; break; } insertValue += archivesDictionary.getIsDataType() == 1 ? - StringUtils.isEmpty(json.get(archivesDictionary.getFieldName())+"") || "null".equals(json.get(archivesDictionary.getFieldName())) ? null : "'"+json.get(archivesDictionary.getFieldName()) +"'," - : StringUtils.isEmpty(json.get(archivesDictionary.getFieldName())+"") || "null".equals(json.get(archivesDictionary.getFieldName())) ? null : json.get(archivesDictionary.getFieldName()) +","; + StringUtils.isEmpty(json.get(archivesDictionary.getFieldName())+"") || "null".equals(json.get(archivesDictionary.getFieldName())) ? null+"," : "'"+json.get(archivesDictionary.getFieldName()) +"'," + : StringUtils.isEmpty(json.get(archivesDictionary.getFieldName())+"") || "null".equals(json.get(archivesDictionary.getFieldName())) ? null+"," : json.get(archivesDictionary.getFieldName()) +","; } insertValue = insertValue.length() != 0 ? insertValue.substring(0,insertValue.length()-1) : ""; String sql = "insert into file_"+archivesType.getEnName()+"("+queryFields+") values ("+insertValue+")"; @@ -495,6 +492,19 @@ public class ArchivesServiceImpl implements ArchivesService { return result; } + @Override + @Transactional(rollbackFor = Exception.class) + public Object fileSort(ArchivesFileDTO dto) { + int returnInt = 0; + ArchivesType archivesType = archivesTypeRepository.findById(dto.getCategoryId()).get(); + for(int i = 0;i