From 90c3d6b68d64aa96d667625bc7d1d4877da6a78d Mon Sep 17 00:00:00 2001 From: xia Date: Tue, 19 Jul 2022 16:28:12 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=80=9F=E9=98=85=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../archives/controller/BorrowController.java | 16 ++++++ .../controller/StorageController.java | 17 +++++- .../archives/domain/BorrowSetting.java | 23 ++++++++ .../repository/BorrowSettingRepository.java | 7 +++ .../archives/service/ArchivesCaseService.java | 4 +- .../service/impl/ArchivesCaseServiceImpl.java | 57 +++++++++++++++++++ 6 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/domain/BorrowSetting.java create mode 100644 archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java new file mode 100644 index 0000000..659a8bb --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java @@ -0,0 +1,16 @@ +package com.storeroom.modules.archives.controller; + +import io.swagger.annotations.Api; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "借还管理") +@RequestMapping("/api/borrow") +public class BorrowController { + + + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/StorageController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/StorageController.java index 8220474..7289cca 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/StorageController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/StorageController.java @@ -152,7 +152,7 @@ public class StorageController { } }catch (Exception e){ - e.printStackTrace(); + System.out.println("入库:连接设备第三方接口失败"); } } } @@ -202,7 +202,7 @@ public class StorageController { } }catch(Exception e){ - e.printStackTrace(); + System.out.println("出库:连接设备第三方接口失败"); } } } @@ -215,10 +215,21 @@ public class StorageController { public ApiResponse rfidCollect( @Validated @RequestBody List dtos ){ - + caseService.rfidCollect(dtos); return ApiResponse.success(dtos.size()); } + @ApiOperation("手持机-出库") + @AnonymousPostMapping("/rfidGrant") + public ApiResponse rfidGrant( + @Validated @RequestBody List caseIds + ){ + for(String caseId:caseIds){ + caseService.grant(false,caseId); + } + return ApiResponse.success(caseIds.size()); + } + // 第一版本 出库 防止业务回滚 注释不删 // @ApiOperation("出库") // @PostMapping("/grant") diff --git a/archives/src/main/java/com/storeroom/modules/archives/domain/BorrowSetting.java b/archives/src/main/java/com/storeroom/modules/archives/domain/BorrowSetting.java new file mode 100644 index 0000000..a3fae6c --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/domain/BorrowSetting.java @@ -0,0 +1,23 @@ +package com.storeroom.modules.archives.domain; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; + +@Entity +@Getter +@Setter +@Table(name = "borrow_setting") +public class BorrowSetting { + + @Id + @GeneratedValue(strategy= GenerationType.IDENTITY) + private Integer id; + + @Column(name = "is_type") + @ApiModelProperty(value = "状态 0.离线 1.在线") + private Boolean isType; + +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java new file mode 100644 index 0000000..3f975d4 --- /dev/null +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowSettingRepository.java @@ -0,0 +1,7 @@ +package com.storeroom.modules.archives.repository; + +import com.storeroom.modules.archives.domain.BorrowSetting; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface BorrowSettingRepository extends JpaRepository { +} diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java index a158205..dcbc731 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/ArchivesCaseService.java @@ -55,7 +55,9 @@ public interface ArchivesCaseService { Object initCaseByArchives(String archivesId); //入库 List collect(boolean isCallback, List dtos); - //预手动恰如苦 + //手持盘点机 批量入库 + Object rfidCollect( List dtos); + //预人工确认 List> readyCollectConfirm(List caseIds); //手动入库确认 Object collectConfirm(List caseIds); diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java index 4efb875..e81e4b1 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/impl/ArchivesCaseServiceImpl.java @@ -10,6 +10,7 @@ import com.storeroom.modules.archives.domain.vo.ArchivesCaseVO; import com.storeroom.modules.archives.service.dto.CaseDTO; import com.storeroom.modules.archives.service.dto.CollectDTO; import com.storeroom.modules.common.ArchivesTypeEnum; +import com.storeroom.modules.device.domain.DeviceArchivesTag; import com.storeroom.modules.device.domain.DeviceInfo; import com.storeroom.modules.device.repository.DeviceArchivesTagRepository; import com.storeroom.modules.device.repository.DeviceInfoRepository; @@ -505,6 +506,62 @@ public class ArchivesCaseServiceImpl implements ArchivesCaseService { return cases; } + @Override + public Object rfidCollect(List dtos) { + List cases = new ArrayList<>(); + Set archices = new HashSet<>(); + for (CollectDTO dto : dtos){ + Optional optional = deviceArchivesTagRepository.findById(dto.getShelfId()); + if(!optional.isPresent()) + break; + ArchivesCase archivesCase = caseRepository.findCaseById(dto.getCaseId()); + archivesCase.setShelfId(dto.getShelfId()); + archivesCase.setFolderLocation(dto.getPosition()); + archivesCase.setFolderLocationDetails(dto.getPositionName()); + archivesCase.setStorageType(2); + cases.add(archivesCase); + + List thisSummarys = archivesSummaryRepository.findAllByCaseNoLike(dto.getCaseId()); + for(ArchivesSummary summary : thisSummarys){ + String summaryCaseIds = summary.getCaseNo(); + String[] caseIds = summaryCaseIds.split(","); + String newShelfId = "";String newLocation = "";String newLocationName=""; + Integer resultOk = 0; + for (String caseId : caseIds){ + for(CollectDTO dto1 : dtos){ + if(caseId.equals(dto1.getCaseId())){ + Optional optional1 = deviceArchivesTagRepository.findById(dto1.getShelfId()); + if(!optional1.isPresent()) + break; + DeviceArchivesTag tag1 = optional1.get(); + newShelfId += tag1.getId() + ","; + newLocation += tag1.getPosition() + ","; + newLocationName += tag1.getPosition_name()+","; + resultOk++; + } + } + } + if(resultOk>0){ + newShelfId = newShelfId.substring(0,newShelfId.length()-1); + newLocation = newLocation.substring(0,newLocation.length()-1); + newLocationName = newLocationName.substring(0,newLocationName.length()-1); + } + summary.setShelfId(newShelfId); + summary.setFolderLocation(newLocation); + summary.setFolderLocationDetails(newLocationName); + archices.add(summary); + } + } + cases = caseRepository.saveAllAndFlush(cases); + archivesSummaryRepository.saveAllAndFlush(archices); + List storageLogs = new ArrayList<>(); + for (ArchivesCase archivesCase:cases){ + this.recordStorage(archivesCase,2); + } + storageLogRepository.saveAll(storageLogs); + return cases; + } + @Override public List> readyCollectConfirm(List caseIds) { return caseRepository.readyCollectConfirm(caseIds);