From 683202477c30f7acd919ab4991f5ab8c699e1da9 Mon Sep 17 00:00:00 2001 From: xia Date: Fri, 29 Jul 2022 16:19:42 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E7=AC=AC=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=201.=E4=BB=8E=E7=B3=BB=E7=BB=9F=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E8=8E=B7=E5=8F=96=E6=A1=A3=E6=A1=88=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExternalArchivesController.java | 38 ++++++++++ .../repository/ArchivesSummaryRepository.java | 23 ++++++ .../archives/service/ArchivesService.java | 8 +++ .../service/dto/ArchivesExternalGetDTO.java | 26 +++++++ .../service/impl/ArchivesServiceImpl.java | 70 +++++++++++++++++++ .../storeroom/modules/common/ExcelUtil.java | 4 +- 6 files changed, 167 insertions(+), 2 deletions(-) create mode 100644 archives/src/main/java/com/storeroom/modules/archives/controller/ExternalArchivesController.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesExternalGetDTO.java diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/ExternalArchivesController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/ExternalArchivesController.java new file mode 100644 index 0000000..40a0a2f --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/ExternalArchivesController.java @@ -0,0 +1,38 @@ +package com.storeroom.modules.archives.controller; + +import com.storeroom.annotaion.rest.AnonymousPostMapping; +import com.storeroom.modules.archives.service.ArchivesService; +import com.storeroom.modules.archives.service.dto.ArchivesDTO; +import com.storeroom.modules.archives.service.dto.ArchivesExternalGetDTO; +import com.storeroom.utils.ApiResponse; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +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; + +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequiredArgsConstructor +@Api(tags = "外部接口-档案") +@RequestMapping("/api/Archives") +public class ExternalArchivesController { + + private final ArchivesService archivesService; + + @ApiOperation("1.从系统服务获取档案信息") + @AnonymousPostMapping("/get") + public Object externalGet( + @Validated @RequestBody ArchivesExternalGetDTO dto + ){ + return archivesService.externalGet(dto); + } + + + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java index 77cc76d..ec2f963 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesSummaryRepository.java @@ -3,6 +3,7 @@ package com.storeroom.modules.archives.repository; import com.storeroom.modules.archives.domain.ArchivesSummary; import com.storeroom.modules.archives.domain.vo.ArchivesSummaryVO; import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; @@ -77,4 +78,26 @@ public interface ArchivesSummaryRepository extends JpaRepository> externalGet(String storeCode, String quCol, Integer datatype, String data, PageRequest 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 fe75e55..9acd1e0 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 @@ -1,8 +1,10 @@ package com.storeroom.modules.archives.service; +import cn.hutool.json.JSONObject; import com.storeroom.modules.archives.domain.ArchivesSummary; import com.storeroom.modules.archives.domain.vo.ArchivesDetailsVO; import com.storeroom.modules.archives.service.dto.ArchivesDTO; +import com.storeroom.modules.archives.service.dto.ArchivesExternalGetDTO; import com.storeroom.modules.archives.service.dto.ArchivesFileDTO; import com.storeroom.utils.ApiResponse; import org.springframework.data.domain.Pageable; @@ -54,4 +56,10 @@ public interface ArchivesService { boolean isShelfOccupy(String shelfId); //根据标签id获取档案基本信息 ArchivesSummary findArchivesByTid(String tid); + + + + //第三方接口 + //从系统服务获取档案信息 + JSONObject externalGet(ArchivesExternalGetDTO dto); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesExternalGetDTO.java b/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesExternalGetDTO.java new file mode 100644 index 0000000..79f3a13 --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/service/dto/ArchivesExternalGetDTO.java @@ -0,0 +1,26 @@ +package com.storeroom.modules.archives.service.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ArchivesExternalGetDTO { + + @ApiModelProperty("页码") + private Integer pn; + @ApiModelProperty("每页数量") + private Integer ps; + @ApiModelProperty("库房编号") + private String storeCode; + @ApiModelProperty("区编号") + private Integer quNo; + @ApiModelProperty("列编号") + private Integer colNo; + @ApiModelProperty("模糊查询档案(名称、档案号)") + private String data; + @ApiModelProperty("当模糊查询时赋值为 0") + private Integer datatype; + +} 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 3a2da2b..d3532fa 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 @@ -7,6 +7,7 @@ import com.storeroom.modules.archives.domain.vo.ArchivesDetailsVO; 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.archives.service.dto.ArchivesExternalGetDTO; import com.storeroom.modules.archives.service.dto.ArchivesFileDTO; import com.storeroom.modules.common.ArchivesTypeEnum; import com.storeroom.modules.dictionary.domain.ArchivesDictionary; @@ -20,6 +21,7 @@ import com.storeroom.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; @@ -961,4 +963,72 @@ public class ArchivesServiceImpl implements ArchivesService { public ArchivesSummary findArchivesByTid(String tid) { return archivesSummaryRepository.findByTagNo(tid); } + + + + + + + @Override + public JSONObject externalGet(ArchivesExternalGetDTO dto) { + JSONObject json = new JSONObject(); + PageRequest page = PageRequest.of(dto.getPn()-1,dto.getPs()); + String quCol = dto.getQuNo() +"-"+dto.getColNo()+"%"; + String data = dto.getData(); + if(dto.getDatatype() == 0){ + data = StringUtils.isEmpty(data) ? "%%": "%"+data+"%"; + } + //分页查询 + Page> pageMap = archivesSummaryRepository.externalGet(dto.getStoreCode(),quCol,dto.getDatatype(),data,page); + json.put("protocal",1001); + json.put("code",0); + JSONArray jsonArray = new JSONArray(); + List> resultMap = pageMap.getContent(); + for(Map map : resultMap){ + JSONObject resultJson = new JSONObject(); + resultJson.put("filename",map.get("filename")); + resultJson.put("fileno",map.get("fileno")); + resultJson.put("makedate",map.get("makedate")); + resultJson.put("filetype",map.get("filetype")); + resultJson.put("filecode",map.get("filecode")); + resultJson.put("keepday",map.get("keepday")); + resultJson.put("position",map.get("position").toString().replaceAll("-"," ")); + resultJson.put("storeCode",map.get("storeCode")); + resultJson.put("editdate",map.get("editdate")); + resultJson.put("enclosure",map.get("enclosure")); + + Integer filestatus = map.get("filestatus") == null ? 0 : Integer.parseInt(map.get("filestatus").toString()); + Integer inputFilestatus = 8; + if(filestatus==1){ + inputFilestatus = 2; + }else if(filestatus==2){ + inputFilestatus = 4; + }else if(filestatus == 3){ + inputFilestatus = 6; + } + resultJson.put("filestatus",inputFilestatus); + String[] splitPostion = map.get("location").toString().split("-"); + resultJson.put("quNo",splitPostion[0]); + resultJson.put("colNo",splitPostion[1]); + resultJson.put("leNo",splitPostion[2]); + resultJson.put("divNo",splitPostion[3]); + resultJson.put("zyNo",splitPostion[4]); + + JSONObject positionKeyJson = new JSONObject(); + positionKeyJson.put("quNo",splitPostion[0]); + positionKeyJson.put("colNo",splitPostion[1]); + positionKeyJson.put("leNo",splitPostion[2]); + positionKeyJson.put("divNo",splitPostion[3]); + positionKeyJson.put("zyNo",splitPostion[4]); + positionKeyJson.put("storeCode",map.get("storeCode")); + resultJson.put("positionKey",positionKeyJson); + jsonArray.add(resultJson); + } + JSONObject jsonContext = new JSONObject(); + jsonContext.put("list",jsonArray); + jsonContext.put("count",jsonArray.size()); + json.put("result",jsonContext); + json.put("errorinfo",null); + return json; + } } diff --git a/archives/src/main/java/com/storeroom/modules/common/ExcelUtil.java b/archives/src/main/java/com/storeroom/modules/common/ExcelUtil.java index 27e042a..09ce987 100644 --- a/archives/src/main/java/com/storeroom/modules/common/ExcelUtil.java +++ b/archives/src/main/java/com/storeroom/modules/common/ExcelUtil.java @@ -180,9 +180,9 @@ public class ExcelUtil { String showBorrowArchiType = ""; if(borrowArchiType==2){ showBorrowArchiType = "待借阅"; - }else if(borrowArchiType==3 && borrowArchive.getEndTime().getTime() >= new Timestamp(System.currentTimeMillis()).getTime()){ + }else if(borrowArchiType==3 && vo.getBorrowEnd().getTime() >= new Timestamp(System.currentTimeMillis()).getTime()){ showBorrowArchiType = "待归还"; - }else if(borrowArchiType==3 && borrowArchive.getEndTime().getTime() < new Timestamp(System.currentTimeMillis()).getTime()){ + }else if(borrowArchiType==3 && vo.getBorrowEnd().getTime() < new Timestamp(System.currentTimeMillis()).getTime()){ showBorrowArchiType = "逾期"; }else if(borrowArchiType == 4){ showBorrowArchiType = "已归还";